mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
When starting an editing process, VDR now first checks whether there is enough free disk space to take up the edited version of the recording
This commit is contained in:
parent
1c2401eb6c
commit
db81c07b27
4
HISTORY
4
HISTORY
@ -9919,8 +9919,10 @@ Video Disk Recorder Revision History
|
||||
- A device is now always kept occupied if a timer is in VPS margin or needs the
|
||||
transponder (thanks to Markus Ehrnsperger).
|
||||
|
||||
2024-05-29:
|
||||
2024-06-13:
|
||||
|
||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||
- Fixed a possible access of a deleted object in the EIT scanner.
|
||||
- Fixed setting T2 system ID from NIT (thanks to Stefan Herdler).
|
||||
- When starting an editing process, VDR now first checks whether there is enough
|
||||
free disk space to take up the edited version of the recording.
|
||||
|
8
menu.c
8
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 5.12 2024/03/04 21:13:58 kls Exp $
|
||||
* $Id: menu.c 5.13 2024/06/13 09:31:11 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -2777,7 +2777,9 @@ eOSState cMenuRecordingEdit::Action(void)
|
||||
RecordingsHandler.Del(recording->FileName());
|
||||
else if (doCut) {
|
||||
if (access(cCutter::EditedFileName(recording->FileName()), F_OK) != 0 || Interface->Confirm(tr("Edited version already exists - overwrite?"))) {
|
||||
if (!RecordingsHandler.Add(ruCut, recording->FileName()))
|
||||
if (!EnoughFreeDiskSpaceForEdit(recording->FileName()))
|
||||
Skins.Message(mtError, tr("Not enough free disk space to start editing process!"));
|
||||
else if (!RecordingsHandler.Add(ruCut, recording->FileName()))
|
||||
Skins.Message(mtError, tr("Error while queueing recording for cutting!"));
|
||||
}
|
||||
}
|
||||
@ -6102,6 +6104,8 @@ void cReplayControl::EditCut(void)
|
||||
Skins.Message(mtError, tr("No editing sequences defined!"));
|
||||
else if (access(cCutter::EditedFileName(fileName), F_OK) == 0 && !Interface->Confirm(tr("Edited version already exists - overwrite?")))
|
||||
;
|
||||
else if (!EnoughFreeDiskSpaceForEdit(fileName))
|
||||
Skins.Message(mtError, tr("Not enough free disk space to start editing process!"));
|
||||
else if (!RecordingsHandler.Add(ruCut, fileName))
|
||||
Skins.Message(mtError, tr("Can't start editing process!"));
|
||||
else
|
||||
|
5
po/ar.po
5
po/ar.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
|
||||
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
|
||||
"Language-Team: Arabic <ar@li.org>\n"
|
||||
@ -845,6 +845,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
|
||||
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
|
||||
"Language-Team: Catalan <vdr@linuxtv.org>\n"
|
||||
@ -844,6 +844,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
|
||||
"Last-Translator: Aleš Juřík <ajurik@quick.cz>\n"
|
||||
"Language-Team: Czech <vdr@linuxtv.org>\n"
|
||||
@ -844,6 +844,9 @@ msgstr "Nahrávka zmizela!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Editovaná verze již existuje - přepsat?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Chyba při vložení nahrávky do fronty pro střih"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
|
||||
"Language-Team: Danish <vdr@linuxtv.org>\n"
|
||||
@ -841,6 +841,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-10 13:45+0100\n"
|
||||
"Last-Translator: Klaus Schmidinger <vdr@tvdr.de>\n"
|
||||
"Language-Team: German <vdr@linuxtv.org>\n"
|
||||
@ -843,6 +843,9 @@ msgstr "Aufnahme verschwunden!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Geschnittene Version existiert bereits - überschreiben?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr "Nicht genug freier Plattenplatz zum Schneiden!"
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Fehler beim Hinzufügen der Aufnahme zur Schnittwarteschlange"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
|
||||
"Language-Team: Greek <vdr@linuxtv.org>\n"
|
||||
@ -841,6 +841,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-19 23:00+0100\n"
|
||||
"Last-Translator: Gabriel Bonich <gbonich@gmail.com>\n"
|
||||
"Language-Team: Spanish <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr "Grabaci
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Se está editando una versión - sobreescribir?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Error mientras la grabación está en cola!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
|
||||
"Language-Team: Estonian <vdr@linuxtv.org>\n"
|
||||
@ -841,6 +841,9 @@ msgstr "Salvestis puudub!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Muudetud versioon juba olemas - kirjutada üle?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Salvestise lisamine lõikamiseks ebaõnnestus!"
|
||||
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
|
||||
"Last-Translator: Matti Lehtimäki <matti.lehtimaki@gmail.com>\n"
|
||||
"Language-Team: Finnish <vdr@linuxtv.org>\n"
|
||||
@ -845,6 +845,9 @@ msgstr "Tallenne katosi!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Muokattava versio on jo olemassa - ylikirjoitetaanko?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Tallenteen lisääminen leikkausjonoon epäonnistui!"
|
||||
|
||||
|
@ -18,7 +18,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2018-04-14 10:16+0100\n"
|
||||
"Last-Translator: Bernard Jaulin <bernard.jaulin@gmail.com>\n"
|
||||
"Language-Team: French <vdr@linuxtv.org>\n"
|
||||
@ -852,6 +852,9 @@ msgstr "L'enregistrement a disparu !"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "La version éditée existe déjà - écraser ?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Erreur lors de la mise en file d'attente pour la coupe !"
|
||||
|
||||
|
@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
|
||||
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
|
||||
"Language-Team: Croatian <vdr@linuxtv.org>\n"
|
||||
@ -843,6 +843,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.6\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2024-02-09 06:29+0000\n"
|
||||
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
@ -849,6 +849,9 @@ msgstr "Ez a felvétel eltűnt!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "A szerkesztett változat már létezik - felülírjam?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Hiba a felvétel vágásra előkészítése közben!"
|
||||
|
||||
|
@ -11,7 +11,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2024-04-02 23:20+0200\n"
|
||||
"Last-Translator: Gringo <vdr-italian@tiscali.it>\n"
|
||||
"Language-Team: Italian <vdr@linuxtv.org>\n"
|
||||
@ -847,6 +847,9 @@ msgstr "Registrazione sparita!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Versione modificata già esistente. Sovrascrivere?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Errore durante l'accodamento della registrazione per il taglio!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-11 14:02+0200\n"
|
||||
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
|
||||
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
|
||||
@ -841,6 +841,9 @@ msgstr "Įrašai išvalyti!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Tokia koreguota versija jau yra, vistiek perašyti?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Klaida sustatant įrašus į karpymo eilę!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2018-03-31 21:47+0100\n"
|
||||
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
|
||||
"Language-Team: Macedonian <kde-i18n-doc@kde.org>\n"
|
||||
@ -843,6 +843,9 @@ msgstr "Снимката исчезна!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Уредена верзија веќе постои - пребриши?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Грешка при редење на снимка за сечење!"
|
||||
|
||||
|
@ -13,7 +13,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-10 19:43+0100\n"
|
||||
"Last-Translator: Erik Oomen <oomen.e@gmail.com>\n"
|
||||
"Language-Team: Dutch <vdr@linuxtv.org>\n"
|
||||
@ -847,6 +847,9 @@ msgstr "Opname verdwenen!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Bewerkte versie bestaat al - overschrijven?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Kan opname voor knippen niet in wachtrij plaatsen!"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
|
||||
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
|
||||
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2018-02-19 00:42+0100\n"
|
||||
"Last-Translator: Tomasz Maciej Nowak <tmn505@gmail.com>\n"
|
||||
"Language-Team: Polish <vdr@linuxtv.org>\n"
|
||||
@ -846,6 +846,9 @@ msgstr "Nagranie zniknęło!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Edytowana wersja już istnieje - nadpisać?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Błąd podczas zakolejkowania nagrania do przycinania!"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2010-03-28 22:49+0100\n"
|
||||
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
|
||||
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-11 22:26+0100\n"
|
||||
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
|
||||
"Language-Team: Romanian <vdr@linuxtv.org>\n"
|
||||
@ -843,6 +843,9 @@ msgstr "Înregistrarea a dispărut!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Deja există o versiune editată - o suprascriu?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Eroare la punerea în coada pentru tăiere!"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2016-12-27 17:13+0100\n"
|
||||
"Last-Translator: Pridvorov Andrey <ua0lnj@bk.ru>\n"
|
||||
"Language-Team: Russian <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr "Запись исчезла!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Изменённая версия уже есть - переписать?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Ошибка очереди записи для обрезки!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-17 18:59+0100\n"
|
||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||
"Language-Team: Slovak <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr "Z
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Upravená verzia u¾ existuje - prepísa»?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Chyba v poradí pri zostrihu nahrávky!"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2013-03-04 12:46+0100\n"
|
||||
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
|
||||
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2013-03-16 15:05+0100\n"
|
||||
"Last-Translator: Zoran Turalija <zoran.turalija@gmail.com>\n"
|
||||
"Language-Team: Serbian <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2015-02-12 21:58+0100\n"
|
||||
"Last-Translator: Magnus Sirviö <sirwio@hotmail.com>\n"
|
||||
"Language-Team: Swedish <vdr@linuxtv.org>\n"
|
||||
@ -846,6 +846,9 @@ msgstr "Inspelningen f
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "En redigerad version finns redan - skall den ersättas?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Ett fel upstod när inspelningen köades för klippning!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
|
||||
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
|
||||
"Language-Team: Turkish <vdr@linuxtv.org>\n"
|
||||
@ -841,6 +841,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2018-03-18 20:00+0100\n"
|
||||
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <vdr@linuxtv.org>\n"
|
||||
@ -842,6 +842,9 @@ msgstr "Запис зник!"
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr "Вже існує редагована версія - перезаписати?"
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr "Помилка перешуковування запису для обрізання!"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VDR 2.6.0\n"
|
||||
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
|
||||
"POT-Creation-Date: 2024-03-04 22:03+0100\n"
|
||||
"POT-Creation-Date: 2024-06-13 11:21+0200\n"
|
||||
"PO-Revision-Date: 2013-03-04 14:52+0800\n"
|
||||
"Last-Translator: NFVDR <nfvdr@live.com>\n"
|
||||
"Language-Team: Chinese (simplified) <nfvdr@live.com>\n"
|
||||
@ -843,6 +843,9 @@ msgstr ""
|
||||
msgid "Edited version already exists - overwrite?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not enough free disk space to start editing process!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error while queueing recording for cutting!"
|
||||
msgstr ""
|
||||
|
||||
|
107
recording.c
107
recording.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.c 5.27 2024/03/04 14:12:37 kls Exp $
|
||||
* $Id: recording.c 5.28 2024/06/13 09:31:11 kls Exp $
|
||||
*/
|
||||
|
||||
#include "recording.h"
|
||||
@ -1447,6 +1447,17 @@ int cRecording::NumFrames(void) const
|
||||
return numFrames;
|
||||
}
|
||||
|
||||
int cRecording::NumFramesAfterEdit(void) const
|
||||
{
|
||||
int IndexLength = cIndexFile::GetLength(fileName, isPesRecording);
|
||||
if (IndexLength > 0) {
|
||||
cMarks Marks;
|
||||
if (Marks.Load(fileName, framesPerSecond, isPesRecording))
|
||||
return Marks.GetFrameAfterEdit(IndexLength - 1, IndexLength - 1);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int cRecording::LengthInSeconds(void) const
|
||||
{
|
||||
int nf = NumFrames();
|
||||
@ -1455,6 +1466,14 @@ int cRecording::LengthInSeconds(void) const
|
||||
return -1;
|
||||
}
|
||||
|
||||
int cRecording::LengthInSecondsAfterEdit(void) const
|
||||
{
|
||||
int nf = NumFramesAfterEdit();
|
||||
if (nf >= 0)
|
||||
return int(nf / FramesPerSecond());
|
||||
return -1;
|
||||
}
|
||||
|
||||
int cRecording::FileSizeMB(void) const
|
||||
{
|
||||
if (fileSizeMB < 0) {
|
||||
@ -2185,6 +2204,24 @@ int cRecordingsHandler::GetUsage(const char *FileName)
|
||||
return ruNone;
|
||||
}
|
||||
|
||||
int cRecordingsHandler::GetRequiredDiskSpaceMB(const char *FileName)
|
||||
{
|
||||
int RequiredDiskSpaceMB = 0;
|
||||
for (cRecordingsHandlerEntry *r = operations.First(); r; r = operations.Next(r)) {
|
||||
if ((r->Usage() & ruCanceled) != 0)
|
||||
continue;
|
||||
if ((r->Usage() & ruCut) != 0) {
|
||||
if (!FileName || EntriesOnSameFileSystem(FileName, r->FileNameDst()))
|
||||
RequiredDiskSpaceMB += FileSizeMBafterEdit(r->FileNameSrc());
|
||||
}
|
||||
else if ((r->Usage() & (ruMove | ruCopy)) != 0) {
|
||||
if (!FileName || EntriesOnSameFileSystem(FileName, r->FileNameDst()))
|
||||
RequiredDiskSpaceMB += DirSizeMB(r->FileNameSrc());
|
||||
}
|
||||
}
|
||||
return RequiredDiskSpaceMB;
|
||||
}
|
||||
|
||||
bool cRecordingsHandler::Finished(bool &Error)
|
||||
{
|
||||
cMutexLock MutexLock(&mutex);
|
||||
@ -2415,6 +2452,38 @@ int cMarks::GetNumSequences(void) const
|
||||
return NumSequences;
|
||||
}
|
||||
|
||||
int cMarks::GetFrameAfterEdit(int Frame, int LastFrame) const
|
||||
{
|
||||
if (Count() == 0 || LastFrame < 0 || Frame < 0 || Frame > LastFrame)
|
||||
return -1;
|
||||
int EditedFrame = 0;
|
||||
int PrevPos = -1;
|
||||
bool InEdit = false;
|
||||
for (const cMark *mi = First(); mi; mi = Next(mi)) {
|
||||
int p = mi->Position();
|
||||
if (InEdit) {
|
||||
EditedFrame += p - PrevPos;
|
||||
InEdit = false;
|
||||
if (Frame <= p) {
|
||||
EditedFrame -= p - Frame;
|
||||
return EditedFrame;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (Frame <= p)
|
||||
return EditedFrame;
|
||||
PrevPos = p;
|
||||
InEdit = true;
|
||||
}
|
||||
}
|
||||
if (InEdit) {
|
||||
EditedFrame += LastFrame - PrevPos; // the last sequence had no actual "end" mark
|
||||
if (Frame < LastFrame)
|
||||
EditedFrame -= LastFrame - Frame;
|
||||
}
|
||||
return EditedFrame;
|
||||
}
|
||||
|
||||
// --- cRecordingUserCommand -------------------------------------------------
|
||||
|
||||
const char *cRecordingUserCommand::command = NULL;
|
||||
@ -3383,3 +3452,39 @@ cString GetRecordingTimerId(const char *Directory)
|
||||
}
|
||||
return Id;
|
||||
}
|
||||
|
||||
// --- Disk space calculation for editing ------------------------------------
|
||||
|
||||
int FileSizeMBafterEdit(const char *FileName)
|
||||
{
|
||||
int FileSizeMB = DirSizeMB(FileName);
|
||||
if (FileSizeMB > 0) {
|
||||
cRecording r(FileName);
|
||||
int NumFramesOrg = r.NumFrames();
|
||||
if (NumFramesOrg > 0) {
|
||||
int NumFramesEdit = r.NumFramesAfterEdit();
|
||||
if (NumFramesEdit > 0)
|
||||
return max(1, int(FileSizeMB * (double(NumFramesEdit) / NumFramesOrg)));
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool EnoughFreeDiskSpaceForEdit(const char *FileName)
|
||||
{
|
||||
int FileSizeMB = FileSizeMBafterEdit(FileName);
|
||||
if (FileSizeMB > 0) {
|
||||
int FreeDiskMB;
|
||||
cVideoDirectory::VideoDiskSpace(&FreeDiskMB);
|
||||
cString EditedFileName = cCutter::EditedFileName(FileName);
|
||||
if (access(EditedFileName, F_OK)) {
|
||||
int ExistingEditedSizeMB = DirSizeMB(EditedFileName);
|
||||
if (ExistingEditedSizeMB > 0)
|
||||
FreeDiskMB += ExistingEditedSizeMB;
|
||||
}
|
||||
FreeDiskMB -= RecordingsHandler.GetRequiredDiskSpaceMB(FileName);
|
||||
FreeDiskMB -= MINDISKSPACE;
|
||||
return FileSizeMB < FreeDiskMB;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
20
recording.h
20
recording.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.h 5.7 2023/12/29 10:48:25 kls Exp $
|
||||
* $Id: recording.h 5.8 2024/06/13 09:31:11 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __RECORDING_H
|
||||
@ -174,8 +174,15 @@ public:
|
||||
int NumFrames(void) const;
|
||||
///< Returns the number of frames in this recording.
|
||||
///< If the number of frames is unknown, -1 will be returned.
|
||||
int NumFramesAfterEdit(void) const;
|
||||
///< Returns the number of frames in the edited version of this recording.
|
||||
///< If there are no editing marks, 0 will be returned.
|
||||
///< If the number of frames is unknown, -1 will be returned.
|
||||
int LengthInSeconds(void) const;
|
||||
///< Returns the length (in seconds) of this recording, or -1 in case of error.
|
||||
int LengthInSecondsAfterEdit(void) const;
|
||||
///< Returns the length (in seconds) of the edited version of this recording, or -1 in case of error.
|
||||
///< If there are no editing marks, 0 will be returned.
|
||||
int FileSizeMB(void) const;
|
||||
///< Returns the total file size of this recording (in MB), or -1 if the file
|
||||
///< size is unknown.
|
||||
@ -353,6 +360,10 @@ public:
|
||||
///< Deletes/terminates all operations.
|
||||
int GetUsage(const char *FileName);
|
||||
///< Returns the usage type for the given FileName.
|
||||
int GetRequiredDiskSpaceMB(const char *FileName = NULL);
|
||||
///< Returns the total disk space required to process all actions.
|
||||
///< If FileName is given, only the drive that contains that file is taken
|
||||
///< into account.
|
||||
bool Finished(bool &Error);
|
||||
///< Returns true if all operations in the list have been finished.
|
||||
///< If there have been any errors, Errors will be set to true.
|
||||
@ -424,6 +435,10 @@ public:
|
||||
///< 0 (the beginning of the recording), and there is no "end" mark, the
|
||||
///< return value is 0, which means that the result is the same as the original
|
||||
///< recording.
|
||||
int GetFrameAfterEdit(int Frame, int LastFrame) const;
|
||||
///< Returns the number of the given Frame within the region covered by begin/end sequences.
|
||||
///< LastFrame must be given by the caller.
|
||||
///< If there are no editing marks or in case of an error -1 is returned.
|
||||
cMark *Get(int Position) { return const_cast<cMark *>(static_cast<const cMarks *>(this)->Get(Position)); }
|
||||
cMark *GetPrev(int Position) { return const_cast<cMark *>(static_cast<const cMarks *>(this)->GetPrev(Position)); }
|
||||
cMark *GetNext(int Position) { return const_cast<cMark *>(static_cast<const cMarks *>(this)->GetNext(Position)); }
|
||||
@ -570,4 +585,7 @@ void IncRecordingsSortMode(const char *Directory);
|
||||
void SetRecordingTimerId(const char *Directory, const char *TimerId);
|
||||
cString GetRecordingTimerId(const char *Directory);
|
||||
|
||||
int FileSizeMBafterEdit(const char *FileName);
|
||||
bool EnoughFreeDiskSpaceForEdit(const char *FileName);
|
||||
|
||||
#endif //__RECORDING_H
|
||||
|
6
svdrp.c
6
svdrp.c
@ -10,7 +10,7 @@
|
||||
* and interact with the Video Disk Recorder - or write a full featured
|
||||
* graphical interface that sits on top of an SVDRP connection.
|
||||
*
|
||||
* $Id: svdrp.c 5.7 2023/02/16 17:20:09 kls Exp $
|
||||
* $Id: svdrp.c 5.8 2024/06/13 09:31:11 kls Exp $
|
||||
*/
|
||||
|
||||
#include "svdrp.h"
|
||||
@ -1505,7 +1505,9 @@ void cSVDRPServer::CmdEDIT(const char *Option)
|
||||
if (const cRecording *Recording = Recordings->GetById(strtol(Option, NULL, 10))) {
|
||||
cMarks Marks;
|
||||
if (Marks.Load(Recording->FileName(), Recording->FramesPerSecond(), Recording->IsPesRecording()) && Marks.Count()) {
|
||||
if (RecordingsHandler.Add(ruCut, Recording->FileName()))
|
||||
if (!EnoughFreeDiskSpaceForEdit(Recording->FileName()))
|
||||
Reply(550, "Not enough free disk space to start editing process");
|
||||
else if (RecordingsHandler.Add(ruCut, Recording->FileName()))
|
||||
Reply(250, "Editing recording \"%s\" [%s]", Option, Recording->Title());
|
||||
else
|
||||
Reply(554, "Can't start editing process");
|
||||
|
Loading…
x
Reference in New Issue
Block a user