Link Here
|
4 |
|
4 |
|
5 |
#include <vdr/plugin.h> |
5 |
#include <vdr/plugin.h> |
6 |
#include <vdr/videodir.h> |
6 |
#include <vdr/videodir.h> |
|
|
7 |
#if VDRVERSNUM >= 10307 |
8 |
#include <vdr/interface.h> |
9 |
#include <vdr/recording.h> |
10 |
#include <vdr/status.h> |
11 |
#endif |
7 |
|
12 |
|
8 |
#ifdef VDRRIP_DVD |
13 |
#ifdef VDRRIP_DVD |
9 |
#include <dvdnav/ifo_read.h> |
14 |
#include <dvdnav/ifo_read.h> |
Link Here
|
16 |
#include "queue.h" |
21 |
#include "queue.h" |
17 |
#include "vdrriprecordings.h" |
22 |
#include "vdrriprecordings.h" |
18 |
|
23 |
|
|
|
24 |
#define ABS(i) ((i)<0?-(i):(i)) |
19 |
#define MINQUANT 2 |
25 |
#define MINQUANT 2 |
20 |
#define MAXQUANT 15 |
26 |
#define MAXQUANT 15 |
21 |
|
27 |
|
22 |
#define NUMSCALETYPES 4 |
28 |
#define NUMSCALETYPES 4 |
23 |
#define NUMPPDEINT 6 |
29 |
#define NUMPPDEINT 8 |
24 |
|
30 |
|
25 |
static const char *ScaleTypes[] = { "off", "auto", "dvb", "manual" }; |
31 |
static const char *ScaleTypes[] = { "off", "auto", "dvb", "manual" }; |
26 |
static const char *DVBScaleWidths[] = { "352", "480", "544", "688", "704", "720" }; |
32 |
static const char *DVBScaleWidths[] = { "352", "480", "544", "688", "704", "720" }; |
27 |
static const char *DVBScaleHeights[] = { "288", "576" }; |
33 |
static const char *DVBScaleHeights[] = { "288", "576" }; |
28 |
static const char *CropModes[] = { "crop width & height", "crop only height"}; |
34 |
static const char *CropModes[] = { "crop width & height", "crop only height"}; |
29 |
static const char *PPDeint[] = { "off", "fd", "lb", "li", "ci", "md", }; |
35 |
static const char *PPDeint[] = { "off", "codec_does_il", "fd", "lb", "li", "ci", "md", "l5" }; |
30 |
|
36 |
|
31 |
// --- cMenuVdrrip --------------------------------------------------------- |
37 |
// --- cMenuVdrrip --------------------------------------------------------- |
32 |
|
38 |
|
Link Here
|
92 |
# ifdef VDRRIP_DVD |
98 |
# ifdef VDRRIP_DVD |
93 |
|
99 |
|
94 |
cMenuVdrripWarning::cMenuVdrripWarning(const char *Title, const char *Text) |
100 |
cMenuVdrripWarning::cMenuVdrripWarning(const char *Title, const char *Text) |
|
|
101 |
#if VDRVERSNUM >= 10307 |
102 |
:cMenuText(Title, "") |
103 |
#else |
95 |
:cOsdMenu(Title) |
104 |
:cOsdMenu(Title) |
|
|
105 |
#endif |
96 |
{ |
106 |
{ |
97 |
bool warning; |
107 |
bool warning; |
98 |
warning = true; |
108 |
warning = true; |
99 |
//warning = false; |
109 |
//warning = false; |
100 |
|
110 |
|
101 |
if (warning) { |
111 |
if (warning) { |
|
|
112 |
#if VDRVERSNUM >= 10307 |
113 |
SetText(Text); |
114 |
#else |
102 |
Add(new cMenuTextItem(Text, 1, 2, Setup.OSDwidth - 2, MAXOSDITEMS, clrWhite, clrBackground, fontOsd)); |
115 |
Add(new cMenuTextItem(Text, 1, 2, Setup.OSDwidth - 2, MAXOSDITEMS, clrWhite, clrBackground, fontOsd)); |
|
|
116 |
#endif |
103 |
SetHelp(tr("back"), tr("accept"), NULL, NULL); |
117 |
SetHelp(tr("back"), tr("accept"), NULL, NULL); |
104 |
hadsubmenu = false; |
118 |
hadsubmenu = false; |
105 |
} else { |
119 |
} else { |
Link Here
|
120 |
if (hadsubmenu) {return osBack;} |
134 |
if (hadsubmenu) {return osBack;} |
121 |
|
135 |
|
122 |
switch (Key) { |
136 |
switch (Key) { |
|
|
137 |
#if VDRVERSNUM >= 10307 |
138 |
// cMenuText::ProcessKey don't handle submenus |
139 |
case kUp|k_Repeat: |
140 |
case kUp: |
141 |
case kDown|k_Repeat: |
142 |
case kDown: |
143 |
case kLeft|k_Repeat: |
144 |
case kLeft: |
145 |
case kRight|k_Repeat: |
146 |
case kRight: |
147 |
DisplayMenu()->Scroll(NORMALKEY(Key) == kUp || NORMALKEY(Key) == kLeft, |
148 |
NORMALKEY(Key) == kLeft || NORMALKEY(Key) == kRight); |
149 |
cStatus::MsgOsdTextItem(NULL, NORMALKEY(Key) == kUp); |
150 |
return osContinue; |
151 |
#endif |
152 |
|
123 |
case kRed: return osBack; |
153 |
case kRed: return osBack; |
124 |
|
154 |
|
125 |
case kGreen: { |
155 |
case kGreen: { |
Link Here
|
138 |
ifo_handle_t *ifo_zero = NULL; |
168 |
ifo_handle_t *ifo_zero = NULL; |
139 |
ifo_handle_t *ifo_tmp = NULL; |
169 |
ifo_handle_t *ifo_tmp = NULL; |
140 |
|
170 |
|
|
|
171 |
#if VDRVERSNUM >= 10307 |
172 |
Skins.Message(mtStatus, tr("checking dvd...")); |
173 |
Skins.Flush(); |
174 |
#else |
141 |
Interface->Status(tr("checking dvd...")); |
175 |
Interface->Status(tr("checking dvd...")); |
142 |
Interface->Flush(); |
176 |
Interface->Flush(); |
|
|
177 |
#endif |
143 |
|
178 |
|
144 |
if (access(DVD, R_OK) == -1) { |
179 |
if (access(DVD, R_OK) == -1) { |
145 |
char *s = NULL; |
180 |
char *s = NULL; |
146 |
asprintf(&s, "No read privileges on %s !", DVD); |
181 |
asprintf(&s, "No read privileges on %s !", DVD); |
|
|
182 |
#if VDRVERSNUM >= 10307 |
183 |
Skins.Message(mtError, s); |
184 |
#else |
147 |
Interface->Error(s); |
185 |
Interface->Error(s); |
|
|
186 |
#endif |
148 |
FREE(s); |
187 |
FREE(s); |
149 |
return false; |
188 |
return false; |
150 |
} |
189 |
} |
Link Here
|
157 |
for (int i = 1; i < ifo_zero->vts_atrt->nr_of_vtss; i++) { |
196 |
for (int i = 1; i < ifo_zero->vts_atrt->nr_of_vtss; i++) { |
158 |
ifo_tmp = ifoOpen(dvd, i); |
197 |
ifo_tmp = ifoOpen(dvd, i); |
159 |
if (ifo_tmp) ifoClose(ifo_tmp); |
198 |
if (ifo_tmp) ifoClose(ifo_tmp); |
160 |
else { |
199 |
else { |
161 |
char *s = NULL; |
200 |
char *s = NULL; |
162 |
asprintf(&s, "Can't open ifo %d !", i); |
201 |
asprintf(&s, "Can't open ifo %d !", i); |
163 |
Interface->Error(s); |
202 |
#if VDRVERSNUM >= 10307 |
164 |
FREE(s); |
203 |
Skins.Message(mtError, s); |
|
|
204 |
#else |
205 |
Interface->Error(s); |
206 |
#endif |
207 |
FREE(s); |
165 |
DVDClose(dvd); |
208 |
DVDClose(dvd); |
166 |
return false; |
209 |
return false; |
167 |
} |
210 |
} |
168 |
} |
211 |
} |
169 |
ifoClose(ifo_zero); |
212 |
ifoClose(ifo_zero); |
Link Here
|
171 |
return true; |
214 |
return true; |
172 |
} else { |
215 |
} else { |
173 |
DVDClose(dvd); |
216 |
DVDClose(dvd); |
|
|
217 |
#if VDRVERSNUM >= 10307 |
218 |
Skins.Message(mtError, "Can't open main ifo from dvd !"); |
219 |
#else |
174 |
Interface->Error("Can't open main ifo from dvd !"); |
220 |
Interface->Error("Can't open main ifo from dvd !"); |
|
|
221 |
#endif |
175 |
return false; |
222 |
return false; |
176 |
} |
223 |
} |
177 |
} |
224 |
} |
178 |
|
225 |
|
179 |
char *s = NULL; |
226 |
char *s = NULL; |
180 |
asprintf(&s, "Can 't open %s !", DVD); |
227 |
asprintf(&s, "Can 't open %s !", DVD); |
|
|
228 |
#if VDRVERSNUM >= 10307 |
229 |
Skins.Message(mtError, s); |
230 |
#else |
181 |
Interface->Error(s); |
231 |
Interface->Error(s); |
|
|
232 |
#endif |
182 |
FREE(s); |
233 |
FREE(s); |
183 |
return false; |
234 |
return false; |
184 |
} |
235 |
} |
Link Here
|
190 |
cMenuVdrripEncode::cMenuVdrripEncode():cOsdMenu(tr("encode vdr-recording")) { |
241 |
cMenuVdrripEncode::cMenuVdrripEncode():cOsdMenu(tr("encode vdr-recording")) { |
191 |
R = NULL; |
242 |
R = NULL; |
192 |
|
243 |
|
|
|
244 |
#if VDRVERSNUM >= 10307 |
245 |
Skins.Message(mtStatus, tr("scanning recordings...")); |
246 |
Skins.Flush(); |
247 |
#else |
193 |
Interface->Status(tr("scanning recordings...")); |
248 |
Interface->Status(tr("scanning recordings...")); |
194 |
Interface->Flush(); |
249 |
Interface->Flush(); |
|
|
250 |
#endif |
195 |
|
251 |
|
196 |
R = new cVdrripRecordings; |
252 |
R = new cVdrripRecordings; |
197 |
Set(); |
253 |
Set(); |
Link Here
|
259 |
FREE(s1); |
315 |
FREE(s1); |
260 |
} |
316 |
} |
261 |
|
317 |
|
262 |
if (Q->getLockStat()) {Interface->Error(tr("the queuefile is locked by the queuehandler !"));} |
318 |
if (Q->getLockStat()) { |
|
|
319 |
#if VDRVERSNUM >= 10307 |
320 |
Skins.Message(mtError, tr("the queuefile is locked by the queuehandler !")); |
321 |
#else |
322 |
Interface->Error(tr("the queuefile is locked by the queuehandler !")); |
323 |
#endif |
324 |
} |
263 |
|
325 |
|
264 |
SetHelpKeys(); |
326 |
SetHelpKeys(); |
265 |
} |
327 |
} |
Link Here
|
284 |
char *buf = NULL; |
346 |
char *buf = NULL; |
285 |
asprintf(&buf, tr("delete movie %s from queue ?"), Q->getShortname(NumMovie)); |
347 |
asprintf(&buf, tr("delete movie %s from queue ?"), Q->getShortname(NumMovie)); |
286 |
if (Interface->Confirm(buf)) { |
348 |
if (Interface->Confirm(buf)) { |
287 |
Q->Del(NumMovie); |
349 |
Q->Del(NumMovie); |
288 |
RefreshOSD(); |
350 |
RefreshOSD(); |
289 |
} |
351 |
} |
290 |
FREE(buf); |
352 |
FREE(buf); |
291 |
} |
353 |
} |
Link Here
|
294 |
|
356 |
|
295 |
case kGreen: { |
357 |
case kGreen: { |
296 |
if (Up) { |
358 |
if (Up) { |
297 |
Q->Up(NumMovie); |
359 |
Q->Up(NumMovie); |
298 |
RefreshOSD(); |
360 |
RefreshOSD(); |
299 |
} |
361 |
} |
300 |
break; |
362 |
break; |
Link Here
|
315 |
} |
377 |
} |
316 |
break; |
378 |
break; |
317 |
} |
379 |
} |
318 |
|
380 |
|
319 |
default: break; |
381 |
default: break; |
320 |
} |
382 |
} |
321 |
|
383 |
|
322 |
return state; |
384 |
return state; |
323 |
} |
385 |
} |
324 |
|
386 |
|
Link Here
|
353 |
} |
415 |
} |
354 |
|
416 |
|
355 |
void cMenuVdrripQueue::AddColItem(cOsdItem *i) { |
417 |
void cMenuVdrripQueue::AddColItem(cOsdItem *i) { |
|
|
418 |
#if VDRVERSNUM < 10307 |
356 |
#ifdef clrScrolLine |
419 |
#ifdef clrScrolLine |
357 |
i->SetColor(clrScrolLine, clrBackground); |
420 |
i->SetColor(clrScrolLine, clrBackground); |
358 |
#else |
421 |
#else |
359 |
i->SetColor(clrCyan, clrBackground); |
422 |
i->SetColor(clrCyan, clrBackground); |
360 |
#endif |
423 |
#endif |
|
|
424 |
#endif |
361 |
|
425 |
|
362 |
Add(i); |
426 |
Add(i); |
363 |
} |
427 |
} |
Link Here
|
491 |
Add(new cMenuEditIntItem(tr("BitrateAudio"), &TempOSD.BitrateAudio, 1, 9999)); |
555 |
Add(new cMenuEditIntItem(tr("BitrateAudio"), &TempOSD.BitrateAudio, 1, 9999)); |
492 |
} |
556 |
} |
493 |
Add(new cMenuEditStraItem(tr("Container"), &TempOSD.Container, |
557 |
Add(new cMenuEditStraItem(tr("Container"), &TempOSD.Container, |
494 |
T->C->getNumContainers(), T->C->getContainers())); |
558 |
T->C->getNumContainers(), T->C->getContainers())); |
495 |
Add(new cMenuEditStraItem(tr("Video-Codec"), &TempOSD.VCodec, |
559 |
Add(new cMenuEditStraItem(tr("Video-Codec"), &TempOSD.VCodec, |
496 |
T->C->getNumVCodecs(), T->C->getVCodecs())); |
560 |
T->C->getNumVCodecs(), T->C->getVCodecs())); |
497 |
Add(new cMenuEditStraItem(tr("Audio-Codec"), &TempOSD.ACodec, |
561 |
Add(new cMenuEditStraItem(tr("Audio-Codec"), &TempOSD.ACodec, |
498 |
T->C->getNumACodecs(), T->C->getACodecs())); |
562 |
T->C->getNumACodecs(), T->C->getACodecs())); |
499 |
Add(new cMenuEditIntItem(tr("Bpp-Value (*100)"), &TempOSD.Bpp, 1, 99)); |
563 |
Add(new cMenuEditIntItem(tr("Bpp-Value (*100)"), &TempOSD.Bpp, 1, 99)); |
500 |
Add(new cMenuEditStraItem(tr("ScaleType"), &TempOSD.ScaleType, |
564 |
Add(new cMenuEditStraItem(tr("ScaleType"), &TempOSD.ScaleType, |
501 |
NUMSCALETYPES, ScaleTypes)); |
565 |
NUMSCALETYPES, ScaleTypes)); |
502 |
} |
566 |
} |
503 |
|
567 |
|
504 |
void cMenuVdrripEditTemplate::OSDChange() { |
568 |
void cMenuVdrripEditTemplate::OSDChange() { |
Link Here
|
520 |
|
584 |
|
521 |
} else if (TempOSD.ACodec != TempOSDsave.ACodec) { |
585 |
} else if (TempOSD.ACodec != TempOSDsave.ACodec) { |
522 |
if (strcmp(T->C->getContainer(TempOSD.Container), "avi") == 0 && |
586 |
if (strcmp(T->C->getContainer(TempOSD.Container), "avi") == 0 && |
523 |
strcmp(T->C->getACodec(TempOSD.ACodec), "ogg-vorbis") == 0) { |
587 |
strcmp(T->C->getACodec(TempOSD.ACodec), "ogg-vorbis") == 0) { |
524 |
// avi couldn't contain ogg-vorbis audio |
588 |
// avi couldn't contain ogg-vorbis audio |
525 |
T->setCodecs(NumTemplate, TempOSD.VCodec, TempOSDsave.ACodec); |
589 |
T->setCodecs(NumTemplate, TempOSD.VCodec, TempOSDsave.ACodec); |
526 |
} else { |
590 |
} else { |
Link Here
|
531 |
|
595 |
|
532 |
} else if (TempOSD.Container != TempOSDsave.Container) { |
596 |
} else if (TempOSD.Container != TempOSDsave.Container) { |
533 |
if (strcmp(T->C->getContainer(TempOSD.Container), "avi") == 0 && |
597 |
if (strcmp(T->C->getContainer(TempOSD.Container), "avi") == 0 && |
534 |
strcmp(T->C->getACodec(TempOSD.ACodec), "ogg-vorbis") == 0) { |
598 |
strcmp(T->C->getACodec(TempOSD.ACodec), "ogg-vorbis") == 0) { |
535 |
// avi couldn't contain ogg-vorbis audio |
599 |
// avi couldn't contain ogg-vorbis audio |
536 |
T->setContainer(NumTemplate, TempOSDsave.Container); |
600 |
T->setContainer(NumTemplate, TempOSDsave.Container); |
537 |
} else { |
601 |
} else { |
Link Here
|
573 |
|
637 |
|
574 |
default: { |
638 |
default: { |
575 |
OSDupdate = true; |
639 |
OSDupdate = true; |
576 |
break; |
640 |
break; |
577 |
} |
641 |
} |
578 |
} |
642 |
} |
579 |
} |
643 |
} |
Link Here
|
584 |
} |
648 |
} |
585 |
|
649 |
|
586 |
void cMenuVdrripEditTemplate::AddColItem(cOsdItem *i) { |
650 |
void cMenuVdrripEditTemplate::AddColItem(cOsdItem *i) { |
|
|
651 |
#if VDRVERSNUM < 10307 |
587 |
#ifdef clrScrolLine |
652 |
#ifdef clrScrolLine |
588 |
i->SetColor(clrScrolLine, clrBackground); |
653 |
i->SetColor(clrScrolLine, clrBackground); |
589 |
#else |
654 |
#else |
590 |
i->SetColor(clrCyan, clrBackground); |
655 |
i->SetColor(clrCyan, clrBackground); |
591 |
#endif |
656 |
#endif |
|
|
657 |
#endif |
592 |
|
658 |
|
593 |
Add(i); |
659 |
Add(i); |
594 |
} |
660 |
} |
Link Here
|
600 |
MovOSDsaveName = NULL; |
666 |
MovOSDsaveName = NULL; |
601 |
FileSize[0] = MovieData[0] = CropData[0] = ScaleData[0] = NULL; |
667 |
FileSize[0] = MovieData[0] = CropData[0] = ScaleData[0] = NULL; |
602 |
|
668 |
|
|
|
669 |
#if VDRVERSNUM >= 10307 |
670 |
Skins.Message(mtStatus, tr("reading movie-data...")); |
671 |
Skins.Flush(); |
672 |
#else |
603 |
Interface->Status(tr("reading movie-data...")); |
673 |
Interface->Status(tr("reading movie-data...")); |
604 |
Interface->Flush(); |
674 |
Interface->Flush(); |
|
|
675 |
#endif |
605 |
|
676 |
|
606 |
M = new cMovie(p, n); |
677 |
M = new cMovie(p, n); |
607 |
Init(); |
678 |
Init(); |
Link Here
|
633 |
if (M->getScaleType() == 2) { |
704 |
if (M->getScaleType() == 2) { |
634 |
for (int i = 0; i < 6; i++) { |
705 |
for (int i = 0; i < 6; i++) { |
635 |
if (atoi(DVBScaleWidths[i]) == M->getScaleWidth()) { |
706 |
if (atoi(DVBScaleWidths[i]) == M->getScaleWidth()) { |
636 |
MovOSD.DVBScaleWidth = i; |
707 |
MovOSD.DVBScaleWidth = i; |
637 |
} |
708 |
} |
638 |
} |
709 |
} |
639 |
|
710 |
|
640 |
for (int i = 0; i < 2; i++) { |
711 |
for (int i = 0; i < 2; i++) { |
641 |
if (atoi(DVBScaleHeights[i]) == M->getScaleHeight()) { |
712 |
if (atoi(DVBScaleHeights[i]) == M->getScaleHeight()) { |
642 |
MovOSD.DVBScaleHeight = i; |
713 |
MovOSD.DVBScaleHeight = i; |
643 |
} |
714 |
} |
644 |
} |
715 |
} |
645 |
} |
716 |
} |
646 |
|
717 |
|
647 |
CropWidthsave = -1; |
718 |
CropWidthsave = -1; |
648 |
CropHeightsave = -1; |
719 |
CropHeightsave = -1; |
|
|
720 |
CropPosXsave = -1; |
721 |
CropPosYsave = -1; |
649 |
|
722 |
|
650 |
MovOSD.PPDeinterlace = 0; |
723 |
MovOSD.PPDeinterlace = 0; |
651 |
MovOSD.PPDeblock = 0; |
724 |
MovOSD.PPDeblock = 0; |
Link Here
|
675 |
|
748 |
|
676 |
MovOSD.CropWidth = M->getCropWidth(); |
749 |
MovOSD.CropWidth = M->getCropWidth(); |
677 |
MovOSD.CropHeight = M->getCropHeight(); |
750 |
MovOSD.CropHeight = M->getCropHeight(); |
|
|
751 |
MovOSD.CropPosX = M->getCropPosX(); |
752 |
MovOSD.CropPosY = M->getCropPosY(); |
678 |
if (M->getPPValues()) { |
753 |
if (M->getPPValues()) { |
679 |
if (strstr(M->getPPValues(), "fd")) MovOSD.PPDeinterlace = 1; |
754 |
if (strstr(M->getPPValues(), "off")) MovOSD.PPDeinterlace = 0; |
680 |
else if (strstr(M->getPPValues(), "lb")) MovOSD.PPDeinterlace = 2; |
755 |
else if (strstr(M->getPPValues(), "codec_does_il")) MovOSD.PPDeinterlace = 1; |
681 |
else if (strstr(M->getPPValues(), "li")) MovOSD.PPDeinterlace = 3; |
756 |
else if (strstr(M->getPPValues(), "fd")) MovOSD.PPDeinterlace = 2; |
682 |
else if (strstr(M->getPPValues(), "ci")) MovOSD.PPDeinterlace = 4; |
757 |
else if (strstr(M->getPPValues(), "lb")) MovOSD.PPDeinterlace = 3; |
683 |
else if (strstr(M->getPPValues(), "md")) MovOSD.PPDeinterlace = 5; |
758 |
else if (strstr(M->getPPValues(), "li")) MovOSD.PPDeinterlace = 4; |
|
|
759 |
else if (strstr(M->getPPValues(), "ci")) MovOSD.PPDeinterlace = 5; |
760 |
else if (strstr(M->getPPValues(), "md")) MovOSD.PPDeinterlace = 6; |
761 |
else if (strstr(M->getPPValues(), "l5")) MovOSD.PPDeinterlace = 7; |
684 |
else MovOSD.PPDeinterlace = 0; |
762 |
else MovOSD.PPDeinterlace = 0; |
685 |
|
763 |
|
686 |
if (strstr(M->getPPValues(), "hb/vb/dr/al")) MovOSD.PPDeblock = 1; |
764 |
if (strstr(M->getPPValues(), "hb/vb/dr/al")) MovOSD.PPDeblock = 1; |
Link Here
|
716 |
CropReset = true; |
794 |
CropReset = true; |
717 |
|
795 |
|
718 |
SetHelp(tr("add to queue"), |
796 |
SetHelp(tr("add to queue"), |
719 |
Crop ? tr(CropReset ? "reset boarders" : "crop boarders" ) : NULL, |
797 |
Crop ? tr(CropReset ? "reset boarders" : "crop boarders" ) : NULL, |
720 |
tr(Expert ? "expert modus(off)" : "expert modus(on)"), |
798 |
tr(Expert ? "expert modus(off)" : "expert modus(on)"), |
721 |
NULL); |
799 |
NULL); |
722 |
} |
800 |
} |
723 |
} |
801 |
} |
724 |
|
802 |
|
Link Here
|
779 |
M->getCropHeight(), M->getCalcAspect()); |
857 |
M->getCropHeight(), M->getCalcAspect()); |
780 |
} |
858 |
} |
781 |
AddColItem(new cMenuEditStraItem(tr("CropData"), &NumStatic, 1, CropData)); |
859 |
AddColItem(new cMenuEditStraItem(tr("CropData"), &NumStatic, 1, CropData)); |
|
|
860 |
|
861 |
// Show what range will be used |
862 |
if (M->getMarks()) { |
863 |
asprintf(&RangeData[0], "%s", M->getMarks()); |
864 |
AddColItem(new cMenuEditStraItem(tr("RangeData"), &NumStatic, 1, RangeData)); |
865 |
} |
782 |
|
866 |
|
783 |
|
867 |
|
784 |
// Bitrate Video |
868 |
// Bitrate Video |
Link Here
|
830 |
case 1: { //ScaleType auto |
914 |
case 1: { //ScaleType auto |
831 |
asprintf(&ScaleData[0], "%i:%i(Asp: %1.2f Bpp: %1.3f)", M->getScaleWidth(), M->getScaleHeight(), (double)M->getScaleWidth() / (double)M->getScaleHeight(), M->getResBpp()); |
915 |
asprintf(&ScaleData[0], "%i:%i(Asp: %1.2f Bpp: %1.3f)", M->getScaleWidth(), M->getScaleHeight(), (double)M->getScaleWidth() / (double)M->getScaleHeight(), M->getResBpp()); |
832 |
AddColItem(new cMenuEditStraItem(tr("ScaleData"), &NumStatic, 1, |
916 |
AddColItem(new cMenuEditStraItem(tr("ScaleData"), &NumStatic, 1, |
833 |
ScaleData)); |
917 |
ScaleData)); |
834 |
Add(new cMenuEditIntItem(tr("Bpp-Value (*100)"), &MovOSD.Bpp, 1, 99)); |
918 |
Add(new cMenuEditIntItem(tr("Bpp-Value (*100)"), &MovOSD.Bpp, 1, 99)); |
835 |
break; |
919 |
break; |
836 |
} |
920 |
} |
Link Here
|
856 |
AddColItem(new cOsdItem(tr("------ expert settings: ------"))); |
940 |
AddColItem(new cOsdItem(tr("------ expert settings: ------"))); |
857 |
if (MovOSD.CropWidth != -1 && MovOSD.CropHeight != -1) { |
941 |
if (MovOSD.CropWidth != -1 && MovOSD.CropHeight != -1) { |
858 |
AddColItem(new cOsdItem(tr("- adjust crop values:"))); |
942 |
AddColItem(new cOsdItem(tr("- adjust crop values:"))); |
859 |
Add(new cMenuEditIntItem(tr("CropWidth"), &MovOSD.CropWidth, 0, M->getWidth())); |
943 |
Add(new cMenuEditIntItem(tr("CropWidth"), &MovOSD.CropWidth, 8, M->getWidth())); |
860 |
Add(new cMenuEditIntItem(tr("CropHeight"), &MovOSD.CropHeight, 0, M->getHeight())); |
944 |
Add(new cMenuEditIntItem(tr("CropHeight"), &MovOSD.CropHeight, 8, M->getHeight())); |
|
|
945 |
// values are really checked and limited with cMovie class |
946 |
// and depend on CropWidth/Height and Width/Height for the following parameters |
947 |
Add(new cMenuEditIntItem(tr("CropPosX"), &MovOSD.CropPosX, -1, M->getWidth())); |
948 |
Add(new cMenuEditIntItem(tr("CropPosY"), &MovOSD.CropPosY, -1, M->getHeight())); |
861 |
} |
949 |
} |
862 |
asprintf(&s, tr("- postprocessing Filters(%s):"), M->getPPValues() ? M->getPPValues() : "off"); |
950 |
asprintf(&s, tr("- postprocessing Filters(%s):"), M->getPPValues() ? M->getPPValues() : "off"); |
863 |
AddColItem(new cOsdItem(s)); |
951 |
AddColItem(new cOsdItem(s)); |
Link Here
|
877 |
if (M->getScaleType() == 1 || M->getScaleType() == 3) { |
965 |
if (M->getScaleType() == 1 || M->getScaleType() == 3) { |
878 |
CropWidthsave = M->getCropWidth(); |
966 |
CropWidthsave = M->getCropWidth(); |
879 |
CropHeightsave = M->getCropHeight(); |
967 |
CropHeightsave = M->getCropHeight(); |
|
|
968 |
CropPosXsave = M->getCropPosX(); |
969 |
CropPosYsave = M->getCropPosY(); |
880 |
} |
970 |
} |
881 |
M->setNumTemplate(MovOSD.Template); |
971 |
M->setNumTemplate(MovOSD.Template); |
882 |
// restore old crop values |
972 |
// restore old crop values |
883 |
if (M->getScaleType() == 1 || M->getScaleType() == 3) { |
973 |
if (M->getScaleType() == 1 || M->getScaleType() == 3) { |
884 |
M->setCropValues(CropWidthsave, CropHeightsave); |
974 |
M->setCropValues(CropWidthsave, CropHeightsave, CropPosXsave, CropPosYsave); |
885 |
} |
975 |
} |
886 |
M->saveMovieData(); |
976 |
M->saveMovieData(); |
887 |
Set(); |
977 |
Set(); |
888 |
|
978 |
|
889 |
#ifdef VDRRIP_DVD |
979 |
#ifdef VDRRIP_DVD |
890 |
} else if (M->isDVD() && MovOSD.Title != MovOSDsave.Title && MovOSD.Title > 0) { |
980 |
} else if (M->isDVD() && MovOSD.Title != MovOSDsave.Title && MovOSD.Title > 0) { |
|
|
981 |
#if VDRVERSNUM >= 10307 |
982 |
Skins.Message(mtStatus, tr("reading audio-data from dvd...")); |
983 |
Skins.Flush(); |
984 |
#else |
891 |
Interface->Status(tr("reading audio-data from dvd...")); |
985 |
Interface->Status(tr("reading audio-data from dvd...")); |
892 |
Interface->Flush(); |
986 |
Interface->Flush(); |
|
|
987 |
#endif |
893 |
M->setDVDTitle(MovOSD.Title, true); |
988 |
M->setDVDTitle(MovOSD.Title, true); |
894 |
M->saveMovieData(); |
989 |
M->saveMovieData(); |
895 |
Set(); |
990 |
Set(); |
Link Here
|
914 |
|
1009 |
|
915 |
} else if (MovOSD.Container != MovOSDsave.Container) { |
1010 |
} else if (MovOSD.Container != MovOSDsave.Container) { |
916 |
if (strcmp(M->C->getContainer(MovOSD.Container), "avi") == 0 && |
1011 |
if (strcmp(M->C->getContainer(MovOSD.Container), "avi") == 0 && |
917 |
strcmp(M->C->getACodec(MovOSD.ACodec), "ogg-vorbis") == 0) { |
1012 |
strcmp(M->C->getACodec(MovOSD.ACodec), "ogg-vorbis") == 0) { |
918 |
// avi couldn't contain ogg-vorbis audio |
1013 |
// avi couldn't contain ogg-vorbis audio |
919 |
M->setContainer(MovOSDsave.Container); |
1014 |
M->setContainer(MovOSDsave.Container); |
920 |
} else { |
1015 |
} else { |
Link Here
|
930 |
|
1025 |
|
931 |
} else if (MovOSD.ACodec != MovOSDsave.ACodec) { |
1026 |
} else if (MovOSD.ACodec != MovOSDsave.ACodec) { |
932 |
if (strcmp(M->C->getContainer(MovOSD.Container), "avi") == 0 && |
1027 |
if (strcmp(M->C->getContainer(MovOSD.Container), "avi") == 0 && |
933 |
strcmp(M->C->getACodec(MovOSD.ACodec), "ogg-vorbis") == 0) { |
1028 |
strcmp(M->C->getACodec(MovOSD.ACodec), "ogg-vorbis") == 0) { |
934 |
// avi couldn't contain ogg-vorbis audio |
1029 |
// avi couldn't contain ogg-vorbis audio |
935 |
M->setCodecs(MovOSD.VCodec, MovOSDsave.ACodec); |
1030 |
M->setCodecs(MovOSD.VCodec, MovOSDsave.ACodec); |
936 |
} else { |
1031 |
} else { |
Link Here
|
949 |
if (MovOSDsave.ScaleType == 1 || MovOSDsave.ScaleType == 3) { |
1044 |
if (MovOSDsave.ScaleType == 1 || MovOSDsave.ScaleType == 3) { |
950 |
CropWidthsave = M->getCropWidth(); |
1045 |
CropWidthsave = M->getCropWidth(); |
951 |
CropHeightsave = M->getCropHeight(); |
1046 |
CropHeightsave = M->getCropHeight(); |
|
|
1047 |
CropPosXsave = M->getCropPosX(); |
1048 |
CropPosYsave = M->getCropPosY(); |
952 |
M->setScaleType(MovOSD.ScaleType); |
1049 |
M->setScaleType(MovOSD.ScaleType); |
953 |
} else { |
1050 |
} else { |
954 |
M->setScaleType(MovOSD.ScaleType); |
1051 |
M->setScaleType(MovOSD.ScaleType); |
955 |
M->setCropValues(CropWidthsave, CropHeightsave); |
1052 |
M->setCropValues(CropWidthsave, CropHeightsave, CropPosXsave, CropPosYsave); |
956 |
} |
1053 |
} |
957 |
M->saveMovieData(); |
1054 |
M->saveMovieData(); |
958 |
Set(); |
1055 |
Set(); |
Link Here
|
971 |
Set(); |
1068 |
Set(); |
972 |
|
1069 |
|
973 |
} else if (MovOSD.CropWidth != MovOSDsave.CropWidth || MovOSD.CropHeight != MovOSDsave.CropHeight) { |
1070 |
} else if (MovOSD.CropWidth != MovOSDsave.CropWidth || MovOSD.CropHeight != MovOSDsave.CropHeight) { |
974 |
if (MovOSD.CropWidth <= MovOSDsave.CropWidth) { |
1071 |
if (ABS(MovOSD.CropWidth - MovOSDsave.CropWidth) |
975 |
MovOSD.CropWidth = roundValue(MovOSD.CropWidth, 16); |
1072 |
+ ABS(MovOSD.CropHeight - MovOSDsave.CropHeight) == 1) { |
976 |
} else {MovOSD.CropWidth = roundValue(MovOSD.CropWidth, 16) + 16;} |
1073 |
MovOSD.CropWidth = MovOSDsave.CropWidth + 8*(MovOSD.CropWidth - MovOSDsave.CropWidth); |
977 |
|
1074 |
MovOSD.CropHeight = MovOSDsave.CropHeight + 8*(MovOSD.CropHeight - MovOSDsave.CropHeight); |
978 |
if (MovOSD.CropHeight <= MovOSDsave.CropHeight) { |
1075 |
} |
979 |
MovOSD.CropHeight = roundValue(MovOSD.CropHeight, 16); |
|
|
980 |
} else {MovOSD.CropHeight = roundValue(MovOSD.CropHeight, 16) + 16;} |
981 |
|
1076 |
|
982 |
M->setCropValues(MovOSD.CropWidth, MovOSD.CropHeight); |
1077 |
M->setCropValues(MovOSD.CropWidth, MovOSD.CropHeight); |
983 |
M->saveMovieData(); |
1078 |
M->saveMovieData(); |
984 |
Set(); |
1079 |
Set(); |
985 |
|
1080 |
|
|
|
1081 |
} else if (MovOSD.CropPosX != MovOSDsave.CropPosX || MovOSD.CropPosY != MovOSDsave.CropPosY) { |
1082 |
M->setCropValues(MovOSD.CropWidth, MovOSD.CropHeight, MovOSD.CropPosX, MovOSD.CropPosY); |
1083 |
M->saveMovieData(); |
1084 |
Set(); |
1085 |
|
986 |
} else if (MovOSD.PPDeinterlace != MovOSDsave.PPDeinterlace || MovOSD.PPDeblock != MovOSDsave.PPDeblock) { |
1086 |
} else if (MovOSD.PPDeinterlace != MovOSDsave.PPDeinterlace || MovOSD.PPDeblock != MovOSDsave.PPDeblock) { |
987 |
if (MovOSD.PPDeinterlace == 0 && MovOSD.PPDeblock == 0) M->setPPValues(NULL); |
1087 |
if (MovOSD.PPDeinterlace == 0 && MovOSD.PPDeblock == 0) M->setPPValues(NULL); |
988 |
else if (MovOSD.PPDeinterlace == 0 && MovOSD.PPDeblock == 1) M->setPPValues("hb/vb/dr/al"); |
1088 |
else if (MovOSD.PPDeinterlace == 0 && MovOSD.PPDeblock == 1) M->setPPValues("hb/vb/dr/al"); |
Link Here
|
1033 |
} |
1133 |
} |
1034 |
|
1134 |
|
1035 |
case kRed: { |
1135 |
case kRed: { |
1036 |
int p; |
1136 |
int p; |
1037 |
Interface->Confirm(tr("<ok> for preview-mode")) ? p = 1 : p = 0; |
1137 |
Interface->Confirm(tr("<ok> for preview-mode")) ? p = 1 : p = 0; |
1038 |
if (Interface->Confirm(tr("add movie to encoding queue ?"))) { |
1138 |
if (Interface->Confirm(tr("add movie to encoding queue ?"))) { |
1039 |
cQueue *Q; |
1139 |
cQueue *Q; |
1040 |
struct QueueData *q; |
1140 |
struct QueueData *q; |
1041 |
Q = new cQueue; |
1141 |
Q = new cQueue; |
1042 |
q = (struct QueueData*)malloc(sizeof(struct QueueData)); |
1142 |
q = (struct QueueData*)malloc(sizeof(struct QueueData)); |
1043 |
|
1143 |
|
1044 |
q->Dir = M->getDir(); |
1144 |
q->Dir = M->getDir(); |
Link Here
|
1062 |
q->Rename = VdrripSetup.Rename; |
1162 |
q->Rename = VdrripSetup.Rename; |
1063 |
q->Container = M->C->getContainer(M->getContainer()); |
1163 |
q->Container = M->C->getContainer(M->getContainer()); |
1064 |
q->Preview = p; |
1164 |
q->Preview = p; |
|
|
1165 |
q->PreviewFileNum = M->getPreviewFileNum(); |
1166 |
q->PreviewStartByte = M->getPreviewStartByte(); |
1167 |
q->PreviewFrames = M->getPreviewFrames(); |
1168 |
q->FileNum = M->getFileNum(); |
1169 |
q->StartByte = M->getStartByte(); |
1170 |
q->Frames = M->getFrames(); |
1065 |
|
1171 |
|
1066 |
if(Q->New(q)) { |
1172 |
if(Q->New(q)) { |
1067 |
FREE(q); |
1173 |
FREE(q); |
1068 |
DELETE(Q); |
1174 |
DELETE(Q); |
1069 |
return osBack; |
1175 |
return osBack; |
1070 |
} else {Interface->Error(tr("the queuefile is locked by the queuehandler !"));} |
1176 |
} else { |
|
|
1177 |
#if VDRVERSNUM >= 10307 |
1178 |
Skins.Message(mtError, tr("the queuefile is locked by the queuehandler !")); |
1179 |
#else |
1180 |
Interface->Error(tr("the queuefile is locked by the queuehandler !")); |
1181 |
#endif |
1182 |
} |
1071 |
|
1183 |
|
1072 |
FREE(q); |
1184 |
FREE(q); |
1073 |
DELETE(Q); |
1185 |
DELETE(Q); |
1074 |
|
1186 |
|
1075 |
Set(); |
1187 |
Set(); |
1076 |
} |
1188 |
} |
1077 |
break; |
1189 |
break; |
1078 |
} |
1190 |
} |
1079 |
|
1191 |
|
1080 |
case kGreen: { |
1192 |
case kGreen: { |
1081 |
if (MovOSD.ScaleType == 1 | MovOSD.ScaleType == 3) { |
1193 |
if (MovOSD.ScaleType == 1 | MovOSD.ScaleType == 3) { |
1082 |
if (CropReset) { |
1194 |
if (CropReset) { |
1083 |
if (Interface->Confirm(tr("reset black movie boarders ?"))) { |
1195 |
if (Interface->Confirm(tr("reset black movie boarders ?"))) { |
1084 |
CropReset = false; |
1196 |
CropReset = false; |
1085 |
M->initCropValues(); |
1197 |
M->initCropValues(); |
1086 |
M->setScale(); |
1198 |
M->setScale(); |
1087 |
M->saveMovieData(); |
1199 |
M->saveMovieData(); |
1088 |
} |
1200 |
} |
1089 |
} else { |
1201 |
} else { |
1090 |
if (Interface->Confirm(tr("crop black movie boarders ?"))) { |
1202 |
if (Interface->Confirm(tr("crop black movie boarders ?"))) { |
1091 |
CropReset = true; |
1203 |
CropReset = true; |
|
|
1204 |
#if VDRVERSNUM >= 10307 |
1205 |
Skins.Message(mtStatus, tr("search for black movie boarders")); |
1206 |
Skins.Flush(); |
1207 |
#else |
1092 |
Interface->Status(tr("search for black movie boarders")); |
1208 |
Interface->Status(tr("search for black movie boarders")); |
1093 |
Interface->Flush(); |
1209 |
Interface->Flush(); |
|
|
1210 |
#endif |
1094 |
if (! M->setCropValues()) { |
1211 |
if (! M->setCropValues()) { |
1095 |
CropReset = false; |
1212 |
CropReset = false; |
1096 |
Interface->Error(tr("couldn't detect black movie boarders !")); |
1213 |
#if VDRVERSNUM >= 10307 |
1097 |
} |
1214 |
Skins.Message(mtError, tr("couldn't detect black movie boarders !")); |
1098 |
M->saveMovieData(); |
1215 |
#else |
|
|
1216 |
Interface->Error(tr("couldn't detect black movie boarders !")); |
1217 |
#endif |
1218 |
} |
1219 |
M->saveMovieData(); |
1099 |
} |
1220 |
} |
1100 |
} |
1221 |
} |
1101 |
Set(); |
1222 |
Set(); |
1102 |
} |
1223 |
} |
1103 |
break; |
1224 |
break; |
1104 |
} |
1225 |
} |
1105 |
|
1226 |
|
1106 |
case kYellow: { |
1227 |
case kYellow: { |
1107 |
Expert ? Expert = false : Expert = true; |
1228 |
Expert ? Expert = false : Expert = true; |
1108 |
Set(); |
1229 |
Set(); |
1109 |
break; |
1230 |
break; |
1110 |
} |
1231 |
} |
1111 |
|
1232 |
|
1112 |
case kOk: { |
1233 |
case kOk: { |
1113 |
const char *l = Get(Current())->Text(); |
1234 |
const char *l = Get(Current())->Text(); |
1114 |
if (strstr(l, tr("Audio-Str."))) { |
1235 |
if (strstr(l, tr("Audio-Str."))) { |
1115 |
AddSubMenu(new cMenuVdrripMovieAudio(M)); |
1236 |
AddSubMenu(new cMenuVdrripMovieAudio(M)); |
1116 |
#ifdef VDRRIP_DVD |
1237 |
#ifdef VDRRIP_DVD |
1117 |
} else if (strstr(l, tr("Title*"))) { |
1238 |
} else if (strstr(l, tr("Title*"))) { |
1118 |
AddSubMenu(new cMenuVdrripMovieTitles(M)); |
1239 |
AddSubMenu(new cMenuVdrripMovieTitles(M)); |
1119 |
#endif //VDRRIP_DVD |
1240 |
#endif //VDRRIP_DVD |
1120 |
} |
1241 |
} |
1121 |
break; |
1242 |
break; |
1122 |
} |
1243 |
} |
1123 |
|
1244 |
|
1124 |
default: |
1245 |
default: |
Link Here
|
1133 |
} |
1254 |
} |
1134 |
|
1255 |
|
1135 |
void cMenuVdrripMovie::AddColItem(cOsdItem *i) { |
1256 |
void cMenuVdrripMovie::AddColItem(cOsdItem *i) { |
|
|
1257 |
#if VDRVERSNUM < 10307 |
1136 |
#ifdef clrScrolLine |
1258 |
#ifdef clrScrolLine |
1137 |
i->SetColor(clrScrolLine, clrBackground); |
1259 |
i->SetColor(clrScrolLine, clrBackground); |
1138 |
#else |
1260 |
#else |
1139 |
i->SetColor(clrCyan, clrBackground); |
1261 |
i->SetColor(clrCyan, clrBackground); |
1140 |
#endif |
1262 |
#endif |
|
|
1263 |
#endif |
1141 |
|
1264 |
|
1142 |
Add(i); |
1265 |
Add(i); |
1143 |
} |
1266 |
} |
Link Here
|
1163 |
eOSState state = cOsdMenu::ProcessKey(Key); |
1286 |
eOSState state = cOsdMenu::ProcessKey(Key); |
1164 |
|
1287 |
|
1165 |
if (Key == kOk) { |
1288 |
if (Key == kOk) { |
|
|
1289 |
#if VDRVERSNUM >= 10307 |
1290 |
Skins.Message(mtStatus, tr("reading audio-data from dvd...")); |
1291 |
Skins.Flush(); |
1292 |
#else |
1166 |
Interface->Status(tr("reading audio-data from dvd...")); |
1293 |
Interface->Status(tr("reading audio-data from dvd...")); |
1167 |
Interface->Flush(); |
1294 |
Interface->Flush(); |
|
|
1295 |
#endif |
1168 |
M->setDVDTitle(Current() + 1, true); |
1296 |
M->setDVDTitle(Current() + 1, true); |
1169 |
M->saveMovieData(); |
1297 |
M->saveMovieData(); |
1170 |
return osBack; |
1298 |
return osBack; |
Link Here
|
1212 |
MinScaleWidth = 480; |
1340 |
MinScaleWidth = 480; |
1213 |
CropMode = 0; |
1341 |
CropMode = 0; |
1214 |
CropLength = 5; |
1342 |
CropLength = 5; |
|
|
1343 |
PreviewLength = 60; |
1215 |
Rename = 0; |
1344 |
Rename = 0; |
1216 |
OggVorbis = 0; |
1345 |
OggVorbis = 0; |
1217 |
AC3 = 0; |
1346 |
AC3 = 0; |
Link Here
|
1225 |
else if (!strcasecmp(Name, "MinScaleWidth")) MinScaleWidth = atoi(Value); |
1354 |
else if (!strcasecmp(Name, "MinScaleWidth")) MinScaleWidth = atoi(Value); |
1226 |
else if (!strcasecmp(Name, "CropMode")) CropMode = atoi(Value); |
1355 |
else if (!strcasecmp(Name, "CropMode")) CropMode = atoi(Value); |
1227 |
else if (!strcasecmp(Name, "CropLength")) CropLength = atoi(Value); |
1356 |
else if (!strcasecmp(Name, "CropLength")) CropLength = atoi(Value); |
|
|
1357 |
else if (!strcasecmp(Name, "PreviewLength")) PreviewLength = atoi(Value); |
1228 |
else if (!strcasecmp(Name, "Rename")) Rename = atoi(Value); |
1358 |
else if (!strcasecmp(Name, "Rename")) Rename = atoi(Value); |
1229 |
else if (!strcasecmp(Name, "OggVorbis")) OggVorbis = atoi(Value); |
1359 |
else if (!strcasecmp(Name, "OggVorbis")) OggVorbis = atoi(Value); |
1230 |
else if (!strcasecmp(Name, "AC3")) AC3 = atoi(Value); |
1360 |
else if (!strcasecmp(Name, "AC3")) AC3 = atoi(Value); |
Link Here
|
1246 |
Add(new cMenuEditIntItem(tr("MinScaleWidth"), &data.MinScaleWidth, 1, 9999)); |
1376 |
Add(new cMenuEditIntItem(tr("MinScaleWidth"), &data.MinScaleWidth, 1, 9999)); |
1247 |
Add(new cMenuEditStraItem(tr("Crop Mode"), &data.CropMode, 2, CropModes)); |
1377 |
Add(new cMenuEditStraItem(tr("Crop Mode"), &data.CropMode, 2, CropModes)); |
1248 |
Add(new cMenuEditIntItem(tr("Crop DetectLength (s)"), &data.CropLength, 1, 999)); |
1378 |
Add(new cMenuEditIntItem(tr("Crop DetectLength (s)"), &data.CropLength, 1, 999)); |
|
|
1379 |
Add(new cMenuEditIntItem(tr("PreviewLength (s)"), &data.PreviewLength, 1, 9999)); |
1249 |
Add(new cMenuEditBoolItem(tr("Rename movie after encoding"), &data.Rename, tr("no"), tr("yes"))); |
1380 |
Add(new cMenuEditBoolItem(tr("Rename movie after encoding"), &data.Rename, tr("no"), tr("yes"))); |
1250 |
Add(new cMenuEditBoolItem(tr("Ogg-Vorbis support"), &data.OggVorbis, tr("no"), tr("yes"))); |
1381 |
Add(new cMenuEditBoolItem(tr("Ogg-Vorbis support"), &data.OggVorbis, tr("no"), tr("yes"))); |
1251 |
Add(new cMenuEditBoolItem(tr("AC3 support (MPlayer-patch inst.)"), &data.AC3, tr("no"), tr("yes"))); |
1382 |
Add(new cMenuEditBoolItem(tr("AC3 support (MPlayer-patch inst.)"), &data.AC3, tr("no"), tr("yes"))); |
Link Here
|
1267 |
SetupStore("MinScaleWidth", VdrripSetup.MinScaleWidth); |
1398 |
SetupStore("MinScaleWidth", VdrripSetup.MinScaleWidth); |
1268 |
SetupStore("CropMode", VdrripSetup.CropMode); |
1399 |
SetupStore("CropMode", VdrripSetup.CropMode); |
1269 |
SetupStore("CropLength", VdrripSetup.CropLength); |
1400 |
SetupStore("CropLength", VdrripSetup.CropLength); |
|
|
1401 |
SetupStore("PreviewLength", VdrripSetup.PreviewLength); |
1270 |
SetupStore("Rename", VdrripSetup.Rename); |
1402 |
SetupStore("Rename", VdrripSetup.Rename); |
1271 |
SetupStore("OggVorbis", VdrripSetup.OggVorbis); |
1403 |
SetupStore("OggVorbis", VdrripSetup.OggVorbis); |
1272 |
SetupStore("AC3", VdrripSetup.AC3); |
1404 |
SetupStore("AC3", VdrripSetup.AC3); |