DiskRipper::DiskRipper(QString *filter,QString *group,QString *schedcode, bool profile_rip,QWidget *parent,const char *name) : QDialog(parent,name) { rip_isrc_read=false; rip_filter_text=filter; rip_group_text=group; rip_schedcode_text=schedcode; rip_profile_rip=profile_rip; rip_aborting=false; // // Fix the Window Size // setMinimumWidth(sizeHint().width()); setMinimumHeight(sizeHint().height()); // // Generate Fonts // QFont button_font=QFont("Helvetica",12,QFont::Bold); button_font.setPixelSize(12); QFont label_font=QFont("Helvetica",12,QFont::Bold); label_font.setPixelSize(12); setCaption(tr("Rip Disk")); // // Create Dialogs // rip_wavedata_dialog=new RDWaveDataDialog("RDLibrary",this); // // Create Temporary Directory // char path[PATH_MAX]; strncpy(path,RDTempDir(),PATH_MAX); strcat(path,"/XXXXXX"); if(mkdtemp(path)==NULL) { QMessageBox::warning(this,"RDLibrary - "+tr("Ripper Error"), tr("Unable to create temporary directory!")); } else { rip_cdda_dir.setPath(path); } // // The CDROM Drive // if(rip_profile_rip) { rip_cdrom=new RDCdPlayer(stdout,this); } else { rip_cdrom=new RDCdPlayer(NULL,this); } connect(rip_cdrom,SIGNAL(ejected()),this,SLOT(ejectedData())); connect(rip_cdrom,SIGNAL(mediaChanged()),this,SLOT(mediaChangedData())); connect(rip_cdrom,SIGNAL(played(int)),this,SLOT(playedData(int))); connect(rip_cdrom,SIGNAL(stopped()),this,SLOT(stoppedData())); rip_cdrom->setDevice(rdlibrary_conf->ripperDevice()); rip_cdrom->open(); // // CDDB Stuff // if(rip_profile_rip) { rip_cddb_lookup=new RDCddbLookup(stdout,this); } else { rip_cddb_lookup=new RDCddbLookup(NULL,this); } connect(rip_cddb_lookup,SIGNAL(done(RDCddbLookup::Result)), this,SLOT(cddbDoneData(RDCddbLookup::Result))); // // Artist Label // QLabel *label=new QLabel(tr("Artist:"),this); label->setGeometry(10,10,50,18); label->setFont(label_font); label->setAlignment(AlignRight|AlignVCenter); rip_artist_edit=new QLineEdit(this); // // Album Edit // label=new QLabel(tr("Album:"),this); label->setGeometry(10,32,50,18); label->setFont(label_font); label->setAlignment(AlignRight|AlignVCenter); rip_album_edit=new QLineEdit(this); // // Other Edit // label=new QLabel(tr("Other:"),this); label->setGeometry(10,54,50,16); label->setFont(label_font); label->setAlignment(AlignRight); rip_other_edit=new QTextEdit(this); rip_other_edit->setReadOnly(true); // // Apply FreeDB Check Box // rip_apply_box=new QCheckBox(this,"rip_apply_box"); rip_apply_box->setChecked(true); rip_apply_box->setDisabled(true); rip_apply_label= new QLabel(rip_apply_box,tr("Apply FreeDB Values to Carts"),this); rip_apply_label->setFont(label_font); rip_apply_label->setAlignment(AlignLeft); rip_apply_box->setChecked(false); rip_apply_label->setDisabled(true); // // Track List // rip_track_list=new QListView(this); rip_track_list->setAllColumnsShowFocus(true); rip_track_list->setItemMargin(5); rip_track_list->setSorting(-1); rip_track_list->setSelectionMode(QListView::Extended); connect(rip_track_list,SIGNAL(selectionChanged()), this,SLOT(selectionChangedData())); connect(rip_track_list, SIGNAL(doubleClicked(QListViewItem *,const QPoint &,int)), this, SLOT(doubleClickedData(QListViewItem *,const QPoint &,int))); rip_track_label=new QLabel(rip_track_list,tr("Tracks"),this); rip_track_label->setFont(label_font); rip_track_list->addColumn(tr("TRACK")); rip_track_list->setColumnAlignment(0,Qt::AlignHCenter); rip_track_list->addColumn(tr("LENGTH")); rip_track_list->setColumnAlignment(1,Qt::AlignRight); rip_track_list->addColumn(tr("TITLE")); rip_track_list->setColumnAlignment(2,Qt::AlignLeft); rip_track_list->addColumn(tr("OTHER")); rip_track_list->setColumnAlignment(3,Qt::AlignLeft); rip_track_list->addColumn(tr("TYPE")); rip_track_list->setColumnAlignment(4,Qt::AlignLeft); rip_track_list->addColumn(tr("CUT")); rip_track_list->setColumnAlignment(5,Qt::AlignLeft); // // Progress Bars // rip_disk_bar=new QProgressBar(this); rip_diskbar_label=new QLabel(tr("Disk Progress"),this); rip_diskbar_label->setFont(label_font); rip_diskbar_label->setAlignment(AlignLeft|AlignVCenter); rip_diskbar_label->setDisabled(true); rip_track_bar=new QProgressBar(this); rip_trackbar_label=new QLabel(tr("Track Progress"),this); rip_trackbar_label->setFont(label_font); rip_trackbar_label->setAlignment(AlignLeft|AlignVCenter); rip_trackbar_label->setDisabled(true); // // Eject Button // rip_eject_button=new RDTransportButton(RDTransportButton::Eject,this); connect(rip_eject_button,SIGNAL(clicked()),this,SLOT(ejectButtonData())); // // Play Button // rip_play_button=new RDTransportButton(RDTransportButton::Play,this); connect(rip_play_button,SIGNAL(clicked()),this,SLOT(playButtonData())); // // Stop Button // rip_stop_button=new RDTransportButton(RDTransportButton::Stop,this); rip_stop_button->setOnColor(red); rip_stop_button->on(); connect(rip_stop_button,SIGNAL(clicked()),this,SLOT(stopButtonData())); // // Set Cut Button // rip_setcut_button=new QPushButton(tr("Set\n&Cart/Cut"),this); rip_setcut_button->setFont(button_font); rip_setcut_button->setDisabled(true); connect(rip_setcut_button,SIGNAL(clicked()),this,SLOT(setCutButtonData())); // // Set Multi Tracks Button // rip_setall_button=new QPushButton(tr("Add Cart\nPer Track"),this); rip_setall_button->setFont(button_font); rip_setall_button->setDisabled(true); connect(rip_setall_button,SIGNAL(clicked()),this,SLOT(setMultiButtonData())); // // Set Single Button // rip_setsingle_button=new QPushButton(tr("Add Single\nCart"),this); rip_setsingle_button->setFont(button_font); rip_setsingle_button->setDisabled(true); connect(rip_setsingle_button,SIGNAL(clicked()), this,SLOT(setSingleButtonData())); // // Set Cart Label Button // rip_cartlabel_button=new QPushButton(tr("Modify\nCart Label"),this); rip_cartlabel_button->setFont(button_font); rip_cartlabel_button->setDisabled(true); connect(rip_cartlabel_button,SIGNAL(clicked()), this,SLOT(modifyCartLabelData())); // // Clear Selection Button // rip_clear_button=new QPushButton(tr("Clear\nSelection"),this); rip_clear_button->setFont(button_font); rip_clear_button->setDisabled(true); connect(rip_clear_button,SIGNAL(clicked()),this,SLOT(clearSelectionData())); // // Normalize Check Box // rip_normalize_box=new QCheckBox(this); rip_normalize_box->setChecked(true); rip_normalizebox_label=new QLabel(rip_normalize_box,tr("Normalize"),this); rip_normalizebox_label->setFont(label_font); rip_normalizebox_label->setAlignment(AlignLeft|AlignVCenter); connect(rip_normalize_box,SIGNAL(toggled(bool)), this,SLOT(normalizeCheckData(bool))); // // Normalize Level // rip_normalize_spin=new QSpinBox(this); rip_normalize_spin->setRange(-30,0); rip_normalize_label=new QLabel(rip_normalize_spin,tr("Level:"),this); rip_normalize_label->setFont(label_font); rip_normalize_label->setAlignment(AlignRight|AlignVCenter); rip_normalize_unit=new QLabel(tr("dBFS"),this); rip_normalize_unit->setFont(label_font); rip_normalize_unit->setAlignment(AlignLeft|AlignVCenter); // // Autotrim Check Box // rip_autotrim_box=new QCheckBox(this); rip_autotrim_box->setChecked(true); rip_autotrimbox_label=new QLabel(rip_autotrim_box,tr("Autotrim"),this); rip_autotrimbox_label->setFont(label_font); rip_autotrimbox_label->setAlignment(AlignLeft|AlignVCenter); connect(rip_autotrim_box,SIGNAL(toggled(bool)), this,SLOT(autotrimCheckData(bool))); // // Autotrim Level // rip_autotrim_spin=new QSpinBox(this); rip_autotrim_spin->setRange(-99,0); rip_autotrim_label=new QLabel(rip_autotrim_spin,tr("Level:"),this); rip_autotrim_label->setFont(label_font); rip_autotrim_label->setAlignment(AlignRight|AlignVCenter); rip_autotrim_unit=new QLabel(tr("dBFS"),this); rip_autotrim_unit->setFont(label_font); rip_autotrim_unit->setAlignment(AlignLeft|AlignVCenter); // // Channels // rip_channels_box=new QComboBox(this); rip_channels_label=new QLabel(rip_channels_box,tr("Channels:"),this); rip_channels_label->setFont(label_font); rip_channels_label->setAlignment(AlignRight|AlignVCenter); // // Rip Disc Button // rip_rip_button=new QPushButton(tr("&Rip\nDisc"),this); rip_rip_button->setFont(button_font); connect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripDiskButtonData())); rip_rip_button->setDisabled(true); // // Close Button // rip_close_button=new QPushButton(tr("&Close"),this); rip_close_button->setFont(button_font); connect(rip_close_button,SIGNAL(clicked()),this,SLOT(closeData())); // // Populate Data // rip_normalize_spin->setValue(rdlibrary_conf->ripperLevel()/100); rip_autotrim_spin->setValue(rdlibrary_conf->trimThreshold()/100); rip_channels_box->insertItem("1"); rip_channels_box->insertItem("2"); rip_channels_box->setCurrentItem(rdlibrary_conf->defaultChannels()-1); rip_done=false; }
CdRipper::CdRipper(QString cutname,RDCddbRecord *rec,RDLibraryConf *conf, bool profile_rip,QWidget *parent) : QDialog(parent) { rip_profile_rip=profile_rip; rip_isrc_read=false; // // Fix the Window Size // setMinimumWidth(sizeHint().width()); setMinimumHeight(sizeHint().height()); // // Generate Fonts // QFont button_font=QFont("Helvetica",12,QFont::Bold); button_font.setPixelSize(12); QFont label_font=QFont("Helvetica",12,QFont::Bold); label_font.setPixelSize(12); rip_conf=conf; rip_cddb_record=rec; rip_track[0]=-1; rip_track[1]=-1; rip_title=NULL; setCaption("Rip CD"); // // Create Temporary Directory // char path[PATH_MAX]; strncpy(path,RDTempDir(),PATH_MAX); strcat(path,"/XXXXXX"); if(mkdtemp(path)==NULL) { QMessageBox::warning(this,"RDLibrary - "+tr("Ripper Error"), tr("Unable to create temporary directory!")); } else { rip_cdda_dir.setPath(path); } // // Target Cut // rip_cut=new RDCut(cutname); // // The CDROM Drive // if(rip_profile_rip) { rip_cdrom=new RDCdPlayer(stdout,this); } else { rip_cdrom=new RDCdPlayer(NULL,this); } connect(rip_cdrom,SIGNAL(ejected()),this,SLOT(ejectedData())); connect(rip_cdrom,SIGNAL(mediaChanged()),this,SLOT(mediaChangedData())); connect(rip_cdrom,SIGNAL(played(int)),this,SLOT(playedData(int))); connect(rip_cdrom,SIGNAL(stopped()),this,SLOT(stoppedData())); rip_cdrom->setDevice(rip_conf->ripperDevice()); rip_cdrom->open(); // // CDDB Stuff // if(rip_profile_rip) { rip_cddb_lookup=new RDCddbLookup(stdout,this); } else { rip_cddb_lookup=new RDCddbLookup(NULL,this); } connect(rip_cddb_lookup,SIGNAL(done(RDCddbLookup::Result)), this,SLOT(cddbDoneData(RDCddbLookup::Result))); // // Title Selector // rip_title_label=new QLabel(tr("Title:"),this); rip_title_label->setFont(label_font); rip_title_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); rip_title_box=new QComboBox(this); rip_title_box->insertItem(tr("[none]")); // // Artist Label // rip_artist_label=new QLabel(tr("Artist:"),this); rip_artist_label->setFont(label_font); rip_artist_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); rip_artist_edit=new QLineEdit(this); // // Album Edit // rip_album_label=new QLabel(tr("Album:"),this); rip_album_label->setFont(label_font); rip_album_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); rip_album_edit=new QLineEdit(this); // // Other Edit // rip_other_label=new QLabel(tr("Other:"),this); rip_other_label->setFont(label_font); rip_other_label->setAlignment(Qt::AlignRight); rip_other_edit=new Q3TextEdit(this); rip_other_edit->setReadOnly(true); // // Apply FreeDB Check Box // rip_apply_box=new QCheckBox(this); rip_apply_box->setChecked(true); rip_apply_box->setDisabled(true); rip_apply_label= new QLabel(rip_apply_box,tr("Apply FreeDB Values to Cart"),this); rip_apply_label->setFont(label_font); rip_apply_label->setAlignment(Qt::AlignLeft); rip_apply_box->setChecked(false); rip_apply_label->setDisabled(true); // // Track List // rip_track_list=new RDListView(this); rip_track_list->setAllColumnsShowFocus(true); rip_track_list->setSelectionMode(Q3ListView::Extended); rip_track_list->setItemMargin(5); rip_track_list->setSorting(-1); connect(rip_track_list,SIGNAL(selectionChanged()), this,SLOT(trackSelectionChangedData())); rip_track_label=new QLabel(rip_track_list,tr("Tracks"),this); rip_track_label->setFont(label_font); rip_track_list->addColumn(tr("TRACK")); rip_track_list->setColumnAlignment(0,Qt::AlignHCenter); rip_track_list->addColumn(tr("LENGTH")); rip_track_list->setColumnAlignment(1,Qt::AlignRight); rip_track_list->addColumn(tr("TITLE")); rip_track_list->setColumnAlignment(2,Qt::AlignLeft); rip_track_list->addColumn(tr("OTHER")); rip_track_list->setColumnAlignment(3,Qt::AlignLeft); rip_track_list->addColumn(tr("TYPE")); rip_track_list->setColumnAlignment(4,Qt::AlignLeft); // // Progress Bar // rip_bar=new Q3ProgressBar(this); // // Eject Button // rip_eject_button=new RDTransportButton(RDTransportButton::Eject,this); connect(rip_eject_button,SIGNAL(clicked()),this,SLOT(ejectButtonData())); // // Play Button // rip_play_button=new RDTransportButton(RDTransportButton::Play,this); connect(rip_play_button,SIGNAL(clicked()),this,SLOT(playButtonData())); // // Stop Button // rip_stop_button=new RDTransportButton(RDTransportButton::Stop,this); rip_stop_button->setOnColor(Qt::red); rip_stop_button->on(); connect(rip_stop_button,SIGNAL(clicked()),this,SLOT(stopButtonData())); // // Rip Track Button // rip_rip_button=new QPushButton(tr("&Rip\nTrack"),this); rip_rip_button->setFont(button_font); rip_rip_button->setDisabled(true); connect(rip_rip_button,SIGNAL(clicked()),this,SLOT(ripTrackButtonData())); // // Normalize Check Box // rip_normalize_box=new QCheckBox(this); rip_normalize_box->setChecked(true); rip_normalize_box_label=new QLabel(rip_normalize_box,tr("Normalize"),this); rip_normalize_box_label->setFont(label_font); rip_normalize_box_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); connect(rip_normalize_box,SIGNAL(toggled(bool)), this,SLOT(normalizeCheckData(bool))); // // Normalize Level // rip_normalize_spin=new QSpinBox(this); rip_normalize_spin->setRange(-30,0); rip_normalize_label=new QLabel(rip_normalize_spin,tr("Level:"),this); rip_normalize_label->setFont(label_font); rip_normalize_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); rip_normalize_unit=new QLabel(tr("dBFS"),this); rip_normalize_unit->setFont(label_font); rip_normalize_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Autotrim Check Box // rip_autotrim_box=new QCheckBox(this); rip_autotrim_box->setChecked(true); rip_autotrim_box_label=new QLabel(rip_autotrim_box,tr("Autotrim"),this); rip_autotrim_box_label->setFont(label_font); rip_autotrim_box_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); connect(rip_autotrim_box,SIGNAL(toggled(bool)), this,SLOT(autotrimCheckData(bool))); // // Autotrim Level // rip_autotrim_spin=new QSpinBox(this); rip_autotrim_spin->setRange(-99,0); rip_autotrim_label=new QLabel(rip_autotrim_spin,tr("Level:"),this); rip_autotrim_label->setFont(label_font); rip_autotrim_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); rip_autotrim_unit=new QLabel(tr("dBFS"),this); rip_autotrim_unit->setFont(label_font); rip_autotrim_unit->setAlignment(Qt::AlignLeft|Qt::AlignVCenter); // // Channels // rip_channels_box=new QComboBox(this); rip_channels_label=new QLabel(rip_channels_box,tr("Channels:"),this); rip_channels_label->setFont(label_font); rip_channels_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); // // Close Button // rip_close_button=new QPushButton("&Close",this); rip_close_button->setFont(button_font); connect(rip_close_button,SIGNAL(clicked()),this,SLOT(closeData())); // // Populate Data // rip_normalize_spin->setValue(rip_conf->ripperLevel()/100); rip_autotrim_spin->setValue(rip_conf->trimThreshold()/100); rip_channels_box->insertItem("1"); rip_channels_box->insertItem("2"); rip_channels_box->setCurrentItem(rip_conf->defaultChannels()-1); rip_done=false; }