Example #1
0
void VarParser::getVarsBlock()
{
    QRegExp stopData("\\s*#INIT\\b");
    QStringList resList;
    foreach (QString str, dataBlock) {
       if(str.contains(stopData)) break;
       resList+=str;
    }
    dataBlock = resList;
}
Example #2
0
LogListView::LogListView(QWidget *parent)
  : RDListView(parent)
{
  log_parent=parent;

  //
  // Right Button Menu
  //
  log_menu=new Q3PopupMenu(this,"log_menu");
  connect(log_menu,SIGNAL(aboutToShow()),this,SLOT(aboutToShowData()));
  log_menu->insertItem(tr("PLAY Transition"),this,SLOT(playData()),0,0);
  log_menu->insertItem(tr("SEGUE Transition"),this,SLOT(segueData()),0,1);
  log_menu->insertItem(tr("STOP Transition"),this,SLOT(stopData()),0,2);
}
Example #3
0
void RecordCut::closeData()
{
  if(cut_description_edit->text().isEmpty()) {
    QMessageBox::information(this,tr("Missing Description"),
			     tr("You must provide a Cut Description!"),
			     QMessageBox::Ok);
    return;
  }
  QString isrc=cut_isrc_edit->text();
  if(!isrc.isEmpty()) {
    isrc.remove("-");
    if(isrc.length()!=12) {
      QMessageBox::information(this,tr("Invalid ISRC"),
			       tr("The ISRC data is malformed or invalid!"),
			       QMessageBox::Ok);
      return;
    }
  }
  rec_cut->setEvergreen(rec_evergreen_box->isChecked());
  if(cut_startdatetime_enable_button->isChecked()) {
    if(!cut_startdatetime_edit->dateTime().isValid()) {
      QMessageBox::warning(this,tr("Invalid Date"),
			   tr("The Start Date is invalid!"));
      return;
    }
    if(!cut_enddatetime_edit->dateTime().isValid()) {
      QMessageBox::warning(this,tr("Invalid Date"),
			   tr("The End Date is invalid!"));
      return;
    }
    if(cut_enddatetime_edit->dateTime()<cut_startdatetime_edit->dateTime()) {
      QMessageBox::warning(this,tr("Invalid Date"),
			   tr("The End Date is prior to the Start Date!"));
      return;
    }
    if((cut_enddatetime_edit->dateTime().date()<QDate::currentDate())&&
       (!rec_evergreen_box->isChecked())) {
      switch(QMessageBox::warning(this,tr("Invalid Date"),
				  tr("The End Date has already passed!\nDo you still want to save?"),
				  QMessageBox::Yes,QMessageBox::No)) {
	  case QMessageBox::No:
	  case Qt::NoButton:
	    return;

	  default:
	    break;
      }
    }
  }
  if(cut_starttime_enable_button->isChecked()) {
    if(!cut_starttime_edit->time().isValid()) {
      QMessageBox::warning(this,tr("Invalid Time"),
			   tr("The Start Time is invalid!"));
      return;
    }
    if(!cut_endtime_edit->time().isValid()) {
      QMessageBox::warning(this,tr("Invalid Time"),
			   tr("The End Time is invalid!"));
      return;
    }
    if(cut_endtime_edit->time()==cut_starttime_edit->time()) {
      QMessageBox::warning(this,tr("Invalid Time"),
		   tr("The StartTime cannot be the same as the End Time!"));
      return;
    }
  }
  if(is_playing||is_recording||is_ready) {
    stopData();
    is_closing=true;
    return;
  }
  if((cut_startdatetime_enable_button->isChecked())&&
     (cut_startdatetime_edit->dateTime().time().isNull())) {
    rec_cut->
      setStartDatetime(QDateTime(cut_startdatetime_edit->dateTime().date(),
				 cut_startdatetime_edit->dateTime().time().
				 addMSecs(1)),true);
  }
  else {
    rec_cut->setStartDatetime(cut_startdatetime_edit->dateTime(),
			      cut_startdatetime_enable_button->isChecked());
  }
  if((cut_startdatetime_enable_button->isChecked())&&
     (cut_enddatetime_edit->dateTime().time().isNull())) {
    rec_cut->
      setEndDatetime(QDateTime(cut_enddatetime_edit->dateTime().date(),
				 cut_enddatetime_edit->dateTime().time().
				 addMSecs(1)),true);
  }
  else {
    rec_cut->setEndDatetime(cut_enddatetime_edit->dateTime(),
			    cut_startdatetime_enable_button->isChecked());
  }
  rec_cut->setStartDaypart(cut_starttime_edit->time(),
			   cut_starttime_enable_button->isChecked());
  rec_cut->setEndDaypart(cut_endtime_edit->time(),
			 cut_starttime_enable_button->isChecked());
  for(int i=0;i<7;i++) {
    rec_cut->setWeekPart(i+1,rec_weekpart_button[i]->isChecked());
  }
  rec_cut->setDescription(cut_description_edit->text());
  rec_cut->setOutcue(cut_outcue_edit->text());
  rec_cut->setIsrc(isrc);
  rec_cut->setIsci(cut_isci_edit->text());
  if(rec_use_weighting) {
    rec_cut->setWeight(cut_weight_box->value());
  }
  else {
    rec_cut->setPlayOrder(cut_weight_box->value());
  }
  rec_cut->setLength(rec_length);
  RDCart *cart=new RDCart(rec_cut->cartNumber());
  cart->resetRotation();
  delete cart;
  done(0);
}
Example #4
0
RecordCut::RecordCut(RDCart *cart,QString cut,bool use_weight,
		     QWidget *parent)
  : QDialog(parent,"",true)
{
  bool valid;
  bool is_track=cart->owner().isEmpty();
  bool allow_modification=rda->user()->modifyCarts()&&is_track;
  bool allow_editing=rda->user()->editAudio()&&is_track;
  rec_use_weighting=use_weight;

  //
  // Fix the Window Size
  //
  setMinimumWidth(sizeHint().width());
  setMaximumWidth(sizeHint().width());
  setMinimumHeight(sizeHint().height());
  setMaximumHeight(sizeHint().height());

  //
  // Generate Fonts
  //
  QFont font=QFont("Helvetica",12,QFont::Bold);
  font.setPixelSize(12);
  QFont small_font=QFont("Helvetica",10,QFont::Bold);
  small_font.setPixelSize(10);
  QFont large_font=QFont("Helvetica",18,QFont::Bold);
  large_font.setPixelSize(18);
  QFont timer_font=QFont("Helvetica",20,QFont::Bold);
  timer_font.setPixelSize(20);
  QFont day_font=QFont("helvetica",10,QFont::Normal);
  day_font.setPixelSize(10);

  setCaption(tr("RDLibrary - Record"));
  rec_cut=new RDCut(cut);
  is_playing=false;
  is_ready=false;
  is_recording=false;
  is_closing=false;
  rec_timer_value=0;

  //
  // Load Audio Assignments
  //
  rec_card_no[0]=rda->libraryConf()->inputCard();
  rec_port_no[0]=rda->libraryConf()->inputPort();
  rec_card_no[1]=rda->libraryConf()->outputCard();
  rec_port_no[1]=rda->libraryConf()->outputPort();
  rec_play_handle=-1;

  //
  // CAE Connection
  //
  connect(rda->cae(),SIGNAL(isConnected(bool)),this,SLOT(initData(bool)));
  connect(rda->cae(),SIGNAL(playing(int)),this,SLOT(playedData(int)));
  connect(rda->cae(),SIGNAL(playStopped(int)),this,SLOT(playStoppedData(int)));
  connect(rda->cae(),SIGNAL(recordLoaded(int,int)),
	  this,SLOT(recordLoadedData(int,int)));
  connect(rda->cae(),SIGNAL(recordUnloaded(int,int,unsigned)),
	  this,SLOT(recordUnloadedData(int,int,unsigned)));
  connect(rda->cae(),SIGNAL(recording(int,int)),this,SLOT(recordedData(int,int)));
  connect(rda->cae(),SIGNAL(recordStopped(int,int)),
	  this,SLOT(recordStoppedData(int,int)));
  connect(rda->cae(),SIGNAL(inputStatusChanged(int,int,bool)),
	  this,SLOT(aesAlarmData(int,int,bool)));

  //
  // Audio Parameters
  //
  rec_card_no[0]=rda->libraryConf()->inputCard();
  rec_card_no[1]=rda->libraryConf()->outputCard();
  rec_name=rec_cut->cutName();
  switch(rec_cut->codingFormat()) {
      case 0:
	rec_format=RDCae::Pcm16;
	break;
	
      case 1:
	rec_format=RDCae::MpegL2;
	break;

      default:
	rec_format=RDCae::Pcm16;
	break;
  }	
  rec_channels=rec_cut->channels();
  rec_samprate=rec_cut->sampleRate();
  rec_bitrate=rec_cut->bitRate();
  rec_length=rec_cut->length();

  //
  // Cut Description
  //
  cut_description_edit=new QLineEdit(this);
  cut_description_edit->setGeometry(10,30,355,19);
  cut_description_edit->setMaxLength(64);
  QLabel *cut_description_label=
    new QLabel(cut_description_edit,tr("&Description"),this);
  cut_description_label->setGeometry(15,11,120,19);
  cut_description_label->setFont(font);
  cut_description_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut Outcue
  //
  cut_outcue_edit=new QLineEdit(this);
  cut_outcue_edit->setGeometry(10,75,355,19);
  cut_outcue_edit->setMaxLength(64);
  QLabel *cut_outcue_label=new QLabel(cut_outcue_edit,tr("&Outcue"),this);
  cut_outcue_label->setGeometry(15,56,120,19);
  cut_outcue_label->setFont(font);
  cut_outcue_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut ISCI Code
  //
  cut_isci_edit=new QLineEdit(this);
  cut_isci_edit->setGeometry(10,120,355,19);
  cut_isci_edit->setMaxLength(32);
  QLabel *cut_isci_label=new QLabel(cut_isci_edit,tr("&ISCI Code"),this);
  cut_isci_label->setGeometry(15,101,120,19);
  cut_isci_label->setFont(font);
  cut_isci_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut Origin
  //
  cut_origin_edit=new QLineEdit(this);
  cut_origin_edit->setGeometry(10,165,190,19);
  cut_origin_edit->setReadOnly(true);
  cut_origin_edit->setMaxLength(64);
  QLabel *cut_origin_label=new QLabel(cut_origin_edit,tr("Origin"),this);
  cut_origin_label->setGeometry(15,146,120,19);
  cut_origin_label->setFont(font);
  cut_origin_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut ISRC
  //
  cut_isrc_edit=new QLineEdit(this);
  cut_isrc_edit->setGeometry(220,165,145,19);
  cut_isrc_edit->setMaxLength(64);
  QLabel *cut_isrc_label=new QLabel(cut_isrc_edit,tr("ISRC"),this);
  cut_isrc_label->setGeometry(225,146,120,19);
  cut_isrc_label->setFont(font);
  cut_isrc_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut Weight
  //
  cut_weight_box=new QSpinBox(this);
  cut_weight_box->setGeometry(10,210,61,19);
  cut_weight_box->setRange(0,100);
  QLabel *cut_weight_label=new QLabel(cut_weight_box,tr("Weight"),this);
  cut_weight_label->setGeometry(10,191,61,19);
  cut_weight_label->setFont(font);
  cut_weight_label->setAlignment(Qt::AlignHCenter|Qt::TextShowMnemonic);

  //
  // Cut Play Date Time
  //
  cut_playdate_edit=new QLineEdit(this);
  cut_playdate_edit->setGeometry(100,210,150,19);
  cut_playdate_edit->setReadOnly(true);
  cut_playdate_edit->setMaxLength(64);
  QLabel *cut_playdate_label=
    new QLabel(cut_playdate_edit,tr("Last Played"),this);
  cut_playdate_label->setGeometry(105,191,120,19);
  cut_playdate_label->setFont(font);
  cut_playdate_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Cut Play Counter
  //
  cut_playcounter_edit=new QLineEdit(this);
  cut_playcounter_edit->setGeometry(285,210,80,19);
  cut_playcounter_edit->setAlignment(Qt::AlignRight);
  cut_playcounter_edit->setReadOnly(true);
  cut_playcounter_edit->setMaxLength(64);
  QLabel *cut_playcounter_label=
    new QLabel(cut_playcounter_edit,tr("# of Plays"),this);
  cut_playcounter_label->setGeometry(290,191,120,19);
  cut_playcounter_label->setFont(font);
  cut_playcounter_label->setAlignment(Qt::AlignLeft|Qt::TextShowMnemonic);

  //
  // Evergreen Checkbox
  //
  rec_evergreen_box=new QCheckBox(this);
  rec_evergreen_box->setGeometry(10,245,15,15);
  rec_evergreen_label=new QLabel(rec_evergreen_box,tr("Cut is EVERGREEN"),this);
  rec_evergreen_label->setGeometry(30,245,sizeHint().width()-40,15);
  rec_evergreen_label->setFont(font);
  rec_evergreen_label->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);
  connect(rec_evergreen_box,SIGNAL(toggled(bool)),
	  this,SLOT(evergreenToggledData(bool)));

  //
  // Cut Air Date Times
  //
  cut_killdatetime_label=new QLabel(tr("Air Date/Time"),this);
  cut_killdatetime_label->setGeometry(50,268,100,19);
  cut_killdatetime_label->setAlignment(Qt::AlignHCenter);
  cut_killdatetime_label->setFont(font);
  Q3ButtonGroup *button_group=new Q3ButtonGroup(this);
  button_group->hide();
  connect(button_group,SIGNAL(clicked(int)),this,SLOT(airDateButtonData(int)));
  cut_startdatetime_enable_button=new QRadioButton(tr("Enabled"),this,
					       "air_date_enabled_button");
  cut_startdatetime_enable_button->setGeometry(40,290,100,20);
  button_group->insert(cut_startdatetime_enable_button,true);
  cut_startdatetime_disable_button=new QRadioButton(tr("Disabled"),this);
  cut_startdatetime_disable_button->setGeometry(40,310,100,20);
  button_group->insert(cut_startdatetime_disable_button,false);

  cut_startdatetime_edit=new Q3DateTimeEdit(this);
  cut_startdatetime_edit->setGeometry(165,289,170,19);
  cut_startdatetime_label=new QLabel(cut_startdatetime_edit,tr("&Start"),this);
  cut_startdatetime_label->setGeometry(120,293,40,12);
  cut_startdatetime_label->setFont(small_font);
  cut_startdatetime_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);

  cut_enddatetime_edit=new Q3DateTimeEdit(this);
  cut_enddatetime_edit->setGeometry(165,309,170,19);
  cut_enddatetime_label=new QLabel(cut_enddatetime_edit,tr("End"),this);
  cut_enddatetime_label->setGeometry(120,313,40,12);
  cut_enddatetime_label->setFont(small_font);
  cut_enddatetime_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);

  //
  // Cut Daypart
  //
  cut_daypart_label=new QLabel(tr("Daypart"),this);
  cut_daypart_label->setGeometry(50,348,65,19);
  cut_daypart_label->setAlignment(Qt::AlignHCenter);
  cut_daypart_label->setFont(font);
  button_group=new Q3ButtonGroup(this);
  button_group->hide();
  connect(button_group,SIGNAL(clicked(int)),this,SLOT(daypartButtonData(int)));
  cut_starttime_enable_button=new QRadioButton(tr("Enabled"),this);
  cut_starttime_enable_button->setGeometry(57,370,100,20);
  button_group->insert(cut_starttime_enable_button,true);
  cut_starttime_disable_button=new QRadioButton(tr("Disabled"),this);
  cut_starttime_disable_button->setGeometry(57,390,100,20);
  button_group->insert(cut_starttime_disable_button,false);

  cut_starttime_edit=new RDTimeEdit(this);
  cut_starttime_edit->setGeometry(222,369,90,19);
  cut_starttime_label=new QLabel(cut_starttime_edit,tr("&Start Time"),this);
  cut_starttime_label->setGeometry(137,373,80,12);
  cut_starttime_label->setFont(small_font);
  cut_starttime_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);

  cut_endtime_edit=new RDTimeEdit(this);
  cut_endtime_edit->setGeometry(222,389,90,19);
  cut_endtime_label=new QLabel(cut_endtime_edit,tr("End Time"),this);
  cut_endtime_label->setGeometry(137,393,80,12);
  cut_endtime_label->setFont(small_font);
  cut_endtime_label->setAlignment(Qt::AlignRight|Qt::TextShowMnemonic);

  //
  // Days of the Week
  //
  rec_dayofweek_label=new QLabel(tr("Day of the Week"),this);
  rec_dayofweek_label->setGeometry(50,428,125,19);
  rec_dayofweek_label->setAlignment(Qt::AlignHCenter);
  rec_dayofweek_label->setFont(font);
  rec_weekpart_button[0]=new QCheckBox(this);
  rec_weekpart_button[0]->setGeometry(40,447,15,15);
  rec_weekpart_label[0]=new QLabel(rec_weekpart_button[0],tr("Monday"),
		   this,"rec_weekpart_label[0]");
  rec_weekpart_label[0]->setGeometry(62,445,80,20);
  rec_weekpart_label[0]->setFont(day_font);
  rec_weekpart_label[0]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[1]=new QCheckBox(this);
  rec_weekpart_button[1]->setGeometry(120,447,15,15);
  rec_weekpart_label[1]=new QLabel(rec_weekpart_button[1],tr("Tuesday"),this);
  rec_weekpart_label[1]->setGeometry(142,445,80,20);
  rec_weekpart_label[1]->setFont(day_font);
  rec_weekpart_label[1]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[2]=new QCheckBox(this);
  rec_weekpart_button[2]->setGeometry(200,447,15,15);
  rec_weekpart_label[2]=new QLabel(rec_weekpart_button[2],tr("Wednesday"),this);
  rec_weekpart_label[2]->setGeometry(222,445,80,20);
  rec_weekpart_label[2]->setFont(day_font);
  rec_weekpart_label[2]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[3]=new QCheckBox(this);
  rec_weekpart_button[3]->setGeometry(80,467,15,15);
  rec_weekpart_label[3]=new QLabel(rec_weekpart_button[3],tr("Thursday"),this);
  rec_weekpart_label[3]->setGeometry(102,465,80,20);
  rec_weekpart_label[3]->setFont(day_font);
  rec_weekpart_label[3]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[4]=new QCheckBox(this);
  rec_weekpart_button[4]->setGeometry(180,467,15,15);
  rec_weekpart_label[4]=new QLabel(rec_weekpart_button[4],tr("Friday"),this);
  rec_weekpart_label[4]->setGeometry(202,465,80,20);
  rec_weekpart_label[4]->setFont(day_font);
  rec_weekpart_label[4]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[5]=new QCheckBox(this);
  rec_weekpart_button[5]->setGeometry(80,487,15,15);
  rec_weekpart_label[5]=new QLabel(rec_weekpart_button[5],tr("Saturday"),this);
  rec_weekpart_label[5]->setGeometry(102,485,80,20);
  rec_weekpart_label[5]->setFont(day_font);
  rec_weekpart_label[5]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_weekpart_button[6]=new QCheckBox(this);
  rec_weekpart_button[6]->setGeometry(180,485,15,15);
  rec_weekpart_label[6]=new QLabel(rec_weekpart_button[6],tr("Sunday"),this);
  rec_weekpart_label[6]->setGeometry(202,485,80,20);
  rec_weekpart_label[6]->setFont(day_font);
  rec_weekpart_label[6]->setAlignment(Qt::AlignVCenter|Qt::AlignLeft);

  rec_set_button=new QPushButton(tr("Set All"),this);
  rec_set_button->setGeometry(sizeHint().width()-80,441,55,30);
  rec_set_button->setFont(small_font);
  connect(rec_set_button,SIGNAL(clicked()),this,SLOT(setAllData()));

  rec_clear_button=new QPushButton(tr("Clear All"),this);
  rec_clear_button->setGeometry(sizeHint().width()-80,476,55,30);
  rec_clear_button->setFont(small_font);
  connect(rec_clear_button,SIGNAL(clicked()),this,SLOT(clearAllData()));

  //
  // Audio Meter
  //
  rec_meter=new RDStereoMeter(this);
  rec_meter->setGeometry(20,520,rec_meter->geometry().width(),
			 rec_meter->geometry().height());
  rec_meter->setReference(0);
  rec_meter->setMode(RDSegMeter::Independent);
  QTimer *timer=new QTimer(this);
  connect(timer,SIGNAL(timeout()),this,SLOT(meterData()));
  timer->start(RD_METER_UPDATE_INTERVAL);

  //
  // AES Alarm
  //
  rec_aes_alarm_label=new QLabel(this);
  rec_aes_alarm_label->setGeometry(15,592,110,22);
  rec_aes_alarm_label->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
  rec_aes_alarm_label->setFont(large_font);
  rec_aes_alarm_label->setPalette(QColor(Qt::red));
  rec_aes_alarm_label->setText(tr("AES ALARM"));
  rec_aes_alarm_label->hide();

  //
  // Record Timer
  //
  rec_timer=new QTimer(this);
  connect(rec_timer,SIGNAL(timeout()),this,SLOT(recTimerData()));
  rec_timer_label=new QLabel(this);
  rec_timer_label->setGeometry(130,580,120,50);
  rec_timer_label->setFont(timer_font);
  rec_timer_label->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
  rec_timer_label->setText(RDGetTimeLength(rec_length,true));

  //
  // Channels
  //
  rec_channels_box=new QComboBox(this);
  rec_channels_box->setGeometry(20,635,60,35);
  rec_channels_edit=new QLineEdit(this);
  rec_channels_edit->setGeometry(20,635,60,35);
  QLabel *rec_channels_box_label=
    new QLabel(rec_channels_box,tr("Channels"),this);
  rec_channels_box_label->setGeometry(10,616,80,16);
  rec_channels_box_label->setAlignment(Qt::AlignHCenter);
  rec_channels_box_label->setFont(font);
  connect(rec_channels_box,SIGNAL(activated(int)),
	  this,SLOT(channelsData(int)));

  //
  //  Record Button
  //
  rec_record_button=new RDTransportButton(RDTransportButton::Record,this);
  rec_record_button->setGeometry(100,620,80,50);
  rec_record_button->setDefault(true);
  connect(rec_record_button,SIGNAL(clicked()),this,SLOT(recordData()));

  //
  //  Play Button
  //
  rec_play_button=new RDTransportButton(RDTransportButton::Play,this);
  rec_play_button->setGeometry(190,620,80,50);
  rec_play_button->setDefault(true);
  connect(rec_play_button,SIGNAL(clicked()),this,SLOT(playData()));

  //
  //  Stop Button
  //
  rec_stop_button=new RDTransportButton(RDTransportButton::Stop,this);
  rec_stop_button->setGeometry(280,620,80,50);
  rec_stop_button->setDefault(true);
  rec_stop_button->setState(RDTransportButton::On);
  rec_stop_button->setOnColor(QColor(Qt::red));
  connect(rec_stop_button,SIGNAL(clicked()),this,SLOT(stopData()));

  //
  // Record Mode 
  //
  rec_mode_box=new QComboBox(this);
  rec_mode_box->setGeometry(10,695,100,35);
  QLabel *rec_mode_box_label=new QLabel(rec_mode_box,tr("Record Mode"),this);
  rec_mode_box_label->setGeometry(10,676,100,16);
  rec_mode_box_label->setAlignment(Qt::AlignHCenter);
  rec_mode_box_label->setFont(font);

  //
  // AutoTrim Mode 
  //
  rec_trim_box=new QComboBox(this);
  rec_trim_box->setGeometry(145,695,70,35);
  QLabel *rec_trim_box_label=new QLabel(rec_trim_box,tr("AutoTrim"),this);
  rec_trim_box_label->setGeometry(130,676,100,16);
  rec_trim_box_label->setAlignment(Qt::AlignHCenter);
  rec_trim_box_label->setFont(font);

  //
  //  Close Button
  //
  QPushButton *close_button=new QPushButton(this);
  close_button->setGeometry(sizeHint().width()-90,sizeHint().height()-60,80,50);
  close_button->setDefault(true);
  close_button->setFont(font);
  close_button->setText(tr("&Close"));
  connect(close_button,SIGNAL(clicked()),this,SLOT(closeData()));

  //
  // Populate Fields
  //
  cut_description_edit->setText(rec_cut->description());
  cut_outcue_edit->setText(rec_cut->outcue());
  cut_origin_name=rec_cut->originName();
  cut_origin_datetime=rec_cut->originDatetime(&valid);
  if(valid) {
    cut_origin_edit->setText(cut_origin_name+" - "+
	       	     cut_origin_datetime.toString("M/d/yyyy hh:mm:ss"));
  }
  cut_isci_edit->setText(rec_cut->isci());
  cut_isrc_edit->setText(rec_cut->isrc(RDCut::FormattedIsrc));
  if(use_weight) {
    cut_weight_label->setText(tr("Weight"));
    cut_weight_box->setValue(rec_cut->weight());
  }
  else {
    cut_weight_label->setText(tr("Order"));
    cut_weight_box->setValue(rec_cut->playOrder());
  }
  if(rec_cut->playCounter()>0) {
    cut_playdate_edit->
      setText(rec_cut->lastPlayDatetime(&valid).toString("M/d/yyyy hh:mm:ss"));
  }
  else {
    cut_playdate_edit->setText("Never");
  }
  cut_playcounter_edit->
    setText(QString().sprintf("%d",rec_cut->playCounter()));
  rec_evergreen_box->setChecked(rec_cut->evergreen());
  evergreenToggledData(rec_evergreen_box->isChecked());
  cut_startdatetime_edit->setDateTime(rec_cut->startDatetime(&valid));
  cut_enddatetime_edit->setDateTime(rec_cut->endDatetime(&valid));
  cut_startdatetime_enable_button->setChecked(valid);
  cut_startdatetime_disable_button->setChecked(!valid);
  airDateButtonData(valid);
  cut_starttime_edit->setTime(rec_cut->startDaypart(&valid));
  cut_endtime_edit->setTime(rec_cut->endDaypart(&valid));
  cut_starttime_enable_button->setChecked(valid);
  cut_starttime_disable_button->setChecked(!valid);
  daypartButtonData(valid);
  for(int i=0;i<7;i++) {
    if(rec_cut->weekPart(i+1)) {
      rec_weekpart_button[i]->setChecked(true);
    }
  }
  rec_channels_box->insertItem("1");
  rec_channels_box->insertItem("2");
  rec_channels_box->setCurrentItem(rec_cut->channels()-1);
  rec_channels_edit->setText(QString().sprintf("%d",rec_cut->channels()));
  rec_mode_box->insertItem(tr("Manual"));
  rec_mode_box->insertItem(tr("VOX"));
  switch(rda->libraryConf()->defaultRecordMode()) {
      case RDLibraryConf::Manual:
	rec_mode_box->setCurrentItem(0);
	break;

      case RDLibraryConf::Vox:
	rec_mode_box->setCurrentItem(1);
	break;
  }
  rec_trim_box->insertItem(tr("On"));
  rec_trim_box->insertItem(tr("Off"));
  if(rda->libraryConf()->defaultTrimState()) {
    rec_trim_box->setCurrentItem(0);
  }
  else {
    rec_trim_box->setCurrentItem(1);
  }
  aesAlarmData(rec_card_no[0],rec_port_no[0],
	       rda->cae()->inputStatus(rec_card_no[0],rec_port_no[0]));

  //
  // Set Control Perms
  //
  cut_description_edit->setReadOnly(!allow_modification);
  cut_outcue_edit->setReadOnly(!allow_modification);
  cut_isci_edit->setReadOnly(!allow_modification);
  cut_starttime_edit->setReadOnly(!allow_modification);
  cut_endtime_edit->setReadOnly(!allow_modification);
  if(!allow_modification) {
    cut_weight_box->setRange(cut_weight_box->value(),cut_weight_box->value());
    if(cut_startdatetime_enable_button->isChecked()) {
      cut_startdatetime_edit->dateEdit()->
	setRange(cut_startdatetime_edit->dateEdit()->date(),
		 cut_startdatetime_edit->dateEdit()->date());
      cut_startdatetime_edit->timeEdit()->
	setRange(cut_startdatetime_edit->timeEdit()->time(),
		 cut_startdatetime_edit->timeEdit()->time());
      cut_enddatetime_edit->dateEdit()->
	setRange(cut_enddatetime_edit->dateEdit()->date(),
		 cut_enddatetime_edit->dateEdit()->date());
    }
    if(cut_starttime_enable_button->isChecked()) {
      cut_enddatetime_edit->timeEdit()->
	setRange(cut_enddatetime_edit->timeEdit()->time(),
		 cut_enddatetime_edit->timeEdit()->time());
    }
  }
  rec_evergreen_box->setEnabled(allow_modification);
  if(!allow_modification) {
    cut_startdatetime_enable_button->setDisabled(true);
    cut_startdatetime_disable_button->setDisabled(true);
    cut_starttime_enable_button->setDisabled(true);
    cut_starttime_disable_button->setDisabled(true);
    rec_set_button->setDisabled(true);
    rec_clear_button->setDisabled(true);
  }
  for(int i=0;i<7;i++) {
    rec_weekpart_button[i]->setEnabled(allow_modification);
  }
  rec_record_button->
    setEnabled(allow_editing&&(rec_card_no[0]>=0)&&(rec_port_no[0]>=0));
  rec_mode_box->setEnabled(allow_editing);
  rec_trim_box->setEnabled(allow_editing);
  if(allow_editing) {
    rec_channels_edit->hide();
  }
  else {
    rec_channels_box->hide();
  }
}