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:
Klaus Schmidinger 2024-06-13 09:31:14 +02:00
parent 1c2401eb6c
commit db81c07b27
33 changed files with 250 additions and 35 deletions

View File

@ -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
View File

@ -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

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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!"

View File

@ -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!"

View File

@ -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!"

View File

@ -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 !"

View File

@ -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 ""

View File

@ -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!"

View File

@ -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!"

View File

@ -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ę!"

View File

@ -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 "Грешка при редење на снимка за сечење!"

View File

@ -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!"

View File

@ -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 ""

View File

@ -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!"

View File

@ -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 ""

View File

@ -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!"

View File

@ -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 "Ошибка очереди записи для обрезки!"

View File

@ -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!"

View File

@ -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 ""

View File

@ -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 ""

View File

@ -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!"

View File

@ -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 ""

View File

@ -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 "Помилка перешуковування запису для обрізання!"

View File

@ -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 ""

View File

@ -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;
}

View File

@ -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

View File

@ -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");