summaryrefslogtreecommitdiff
path: root/ripitosd.c
diff options
context:
space:
mode:
Diffstat (limited to 'ripitosd.c')
-rw-r--r--ripitosd.c182
1 files changed, 95 insertions, 87 deletions
diff --git a/ripitosd.c b/ripitosd.c
index 06f781a..2f754b9 100644
--- a/ripitosd.c
+++ b/ripitosd.c
@@ -13,22 +13,24 @@
const cFont *font;
-cRipitOsd::cRipitOsd() :cOsdMenu("")
+cRipitOsd::cRipitOsd() : cOsdMenu("")
{
- font = cFont::GetFont(fontSml);
- lastlogsize=-1;
+ font = cFont::GetFont(fontSml);
+ lastlogsize = -1;
logbuffer.str("");
}
+
cRipitOsd::~cRipitOsd()
{
DisplayMenu()->SetTitle(tr("AudioCD Ripper"));
// keep
}
+
bool cRipitOsd::Rip_On(void)
{
- return access(LOCK_FILE,F_OK) == 0;
+ return access(LOCK_FILE, F_OK) == 0;
}
@@ -36,147 +38,154 @@ eOSState cRipitOsd::ProcessKey(eKeys Key)
{
eOSState state = cOsdMenu::ProcessKey(Key);
- if (state == osBack) return osEnd;
-
- if (state == osUnknown) {
- switch (Key) {
+ if(state == osBack) return osEnd;
- case kNone:
- Display();
+ if(state == osUnknown) {
+ switch(Key) {
+ case kNone:
+ Display();
break;
- case kRed:
- case kOk:
- return osEnd;
+ case kRed:
+ case kOk:
+ return osEnd;
break;
- case kBlue:
- if (!Rip_On()) {
- Start_Encode();
- Display();
- }
- else {
- Abort_Encode(0);
- Display();
- }
+ case kBlue:
+ if(!Rip_On()) {
+ Start_Encode();
+ Display();
+ }
+ else {
+ Abort_Encode(0);
+ Display();
+ }
break;
- default: break;
+ default: break;
}
- }
+ }
return osContinue;
}
void cRipitOsd::Start_Encode(void)
{
- char *buffer;
- char encoptions[256];
-
- static int bitrate[10] = { 32, 64, 96, 112, 128, 160, 192, 224, 256, 320 };
- static char fileschars[3][5] = { "", "NTFS", "HFS" };
-
- if (RipitSetup.Ripit_encoding_type == 1) strcpy(encoptions, RipitSetup.Ripit_encopts1);
- else if (RipitSetup.Ripit_encoding_type == 2) strcpy(encoptions, RipitSetup.Ripit_encopts2);
- else if (RipitSetup.Ripit_encoding_type == 3) strcpy(encoptions, RipitSetup.Ripit_encopts3);
- else if (RipitSetup.Ripit_encoding_type == 4) strcpy(encoptions, RipitSetup.Ripit_encopts4);
- else if (RipitSetup.Ripit_encoding_type == 5) strcpy(encoptions, RipitSetup.Ripit_encopts5);
+ char *buffer;
+ char encoptions[256];
+
+ static int bitrate[10] = {32, 64, 96, 112, 128, 160, 192, 224, 256, 320};
+ static char fileschars[3][5] = {"", "NTFS", "HFS"};
+
+ if(RipitSetup.Ripit_encoding_type == 1) strcpy(encoptions,
+ RipitSetup.Ripit_encopts1);
+ else if(RipitSetup.Ripit_encoding_type == 2) strcpy(encoptions,
+ RipitSetup.Ripit_encopts2);
+ else if(RipitSetup.Ripit_encoding_type == 3) strcpy(encoptions,
+ RipitSetup.Ripit_encopts3);
+ else if(RipitSetup.Ripit_encoding_type == 4) strcpy(encoptions,
+ RipitSetup.Ripit_encopts4);
+ else if(RipitSetup.Ripit_encoding_type == 5) strcpy(encoptions,
+ RipitSetup.Ripit_encopts5);
else strcpy(encoptions, "");
- asprintf(&buffer,"touch \"%s\"; echo \"vdr-ripit -M 'start' -n '%i' -v '%i' -d '%s' -o '%i' -l '%i' -m '%i' -e '%s' -t '%i' -c '%i' -f '%i' -x '%s' -u '%i' -p '%i' -r '%s' -X '%s' -L '%s' -A '%s'\" | at now",
- LOCK_FILE,
- RipitSetup.Ripit_nice,
- RipitSetup.Ripit_verbosity,
- RipitSetup.Ripit_dir,
- RipitSetup.Ripit_oggquality,
- bitrate[RipitSetup.Ripit_lowbitrate],
- bitrate[RipitSetup.Ripit_maxbitrate],
- encoptions,
- RipitSetup.Ripit_encoding_type,
- RipitSetup.Ripit_crc,
- RipitSetup.Ripit_fastrip,
- fileschars[RipitSetup.Ripit_excludespecialchars],
- RipitSetup.Ripit_underscores,
- RipitSetup.Ripit_playlist,
- RipitSetup.Ripit_ripopts,
- LOCK_FILE,
- LOG_FILE,
- ABORT_FILE);
-
- dsyslog("Ripit: Executing '%s'",buffer);
+ asprintf(
+ &buffer,
+ "touch \"%s\"; echo \"vdr-ripit -M 'start' -n '%i' -v '%i' -d '%s' -o '%i' -l '%i' -m '%i' -e '%s' -t '%i' -c '%i' -f '%i' -x '%s' -u '%i' -p '%i' -r '%s' -X '%s' -L '%s' -A '%s'\" | at now",
+ LOCK_FILE,
+ RipitSetup.Ripit_nice,
+ RipitSetup.Ripit_verbosity,
+ RipitSetup.Ripit_dir,
+ RipitSetup.Ripit_oggquality,
+ bitrate[RipitSetup.Ripit_lowbitrate],
+ bitrate[RipitSetup.Ripit_maxbitrate],
+ encoptions,
+ RipitSetup.Ripit_encoding_type,
+ RipitSetup.Ripit_crc,
+ RipitSetup.Ripit_fastrip,
+ fileschars[RipitSetup.Ripit_excludespecialchars],
+ RipitSetup.Ripit_underscores,
+ RipitSetup.Ripit_playlist,
+ RipitSetup.Ripit_ripopts,
+ LOCK_FILE,
+ LOG_FILE,
+ ABORT_FILE);
+
+ dsyslog("Ripit: Executing '%s'", buffer);
SystemExec(buffer);
free(buffer);
-
}
+
void cRipitOsd::Abort_Encode(const int external)
{
char *buffer;
- asprintf(&buffer, "echo \"vdr-ripit -M 'kill' -X '%s' -L '%s' -A '%s'\" | at now",
- LOCK_FILE,
- LOG_FILE,
- ABORT_FILE);
-
- esyslog("Ripit: Executing '%s' (Process manually aborted ...!!!)\n",buffer);
+ asprintf(&buffer,
+ "echo \"vdr-ripit -M 'kill' -X '%s' -L '%s' -A '%s'\" | at now",
+ LOCK_FILE,
+ LOG_FILE,
+ ABORT_FILE);
+
+ esyslog("Ripit: Executing '%s' (Process manually aborted ...!!!)\n", buffer);
SystemExec(buffer);
free(buffer);
- if ( external == 0 ) Display();
+ if(external == 0) Display();
//keep
}
+
void cRipitOsd::Display(void)
{
-
cOsdMenu::Display();
using namespace std;
struct stat filestatus;
- int filestatusok;
- if (stat( LOG_FILE, &filestatus ) == 0 ) {
- filestatusok=1;
+ int filestatusok;
+ if(stat(LOG_FILE, &filestatus) == 0) {
+ filestatusok = 1;
}
else {
- filestatusok=0;
- lastlogsize=-1;
+ filestatusok = 0;
+ lastlogsize = -1;
logbuffer.str("");
}
- // check for running process
- if (Rip_On()) {
+ // check for running process
+ if(Rip_On()) {
DisplayMenu()->SetTitle(tr("Process started..."));
SetHelp(tr("Hide"), NULL, NULL, tr("Abort"));
DisplayMenu()->SetText(tr("Ready To Rumble"), true);
}
else {
DisplayMenu()->SetTitle(tr("No process started"));
- SetHelp(tr("Hide"), NULL, NULL, tr("Start"));
+ SetHelp(tr("Hide"), NULL, NULL, tr("Start"));
DisplayMenu()->SetText(tr("No process started"), true);
}
- if ( (filestatusok == 1) && (lastlogsize != filestatus.st_size)) { //logfile changed
- lastlogsize=filestatus.st_size;
+ if((filestatusok == 1) && (lastlogsize != filestatus.st_size)) { //logfile changed
+ lastlogsize = filestatus.st_size;
ifstream logfile(LOG_FILE);
- if (logfile.is_open()){
+ if(logfile.is_open()) {
//esyslog("update log");
vector<string> values;
- for(string line; getline(logfile, line); ){
+ for(string line; getline(logfile, line); ) {
values.push_back(line);
}
int start;
- if (values.size() < (unsigned)RipitSetup.Ripit_lastlog){
- start=0;
+ if(values.size() < (unsigned) RipitSetup.Ripit_lastlog) {
+ start = 0;
}
- else{
- start=values.size()-RipitSetup.Ripit_lastlog;
+ else {
+ start = values.size() - RipitSetup.Ripit_lastlog;
}
logbuffer.str("");
- for(unsigned i=start; i<values.size(); i++ ){
+ for(unsigned i = start; i < values.size(); i++) {
string r;
- r=values.at(i);
- while ( r.find( "\t") != std::string::npos){
- r.replace( r.find( "\t"), strlen("\t"), " ");
+ r = values.at(i);
+ while(r.find("\t") != std::string::npos) {
+ r.replace(r.find("\t"), strlen("\t"), " ");
}
logbuffer << r << endl;
}
@@ -184,8 +193,7 @@ void cRipitOsd::Display(void)
}
}
else {
- if (lastlogsize > -1)
+ if(lastlogsize > -1)
DisplayMenu()->SetText(logbuffer.str().c_str(), true);
}
-
}