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