diff --git a/ChangeLog b/ChangeLog index 1262a9a6..7b5a48f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17139,3 +17139,8 @@ 2018-07-17 Fred Gleason * Refactored rdcatch(1) to use a single SQL field list for building the event UI. +2018-07-17 Fred Gleason + * Fixed a bug in rdadmin(1) that caused the Audio Resources list + to be mal-formatted. + * Fixed a bug in rdcatch(1) that caused Record and Playout events + to be saved to the incorrect Location. diff --git a/rdadmin/view_adapters.cpp b/rdadmin/view_adapters.cpp index 27bf65c7..f8a81d39 100644 --- a/rdadmin/view_adapters.cpp +++ b/rdadmin/view_adapters.cpp @@ -124,11 +124,11 @@ ViewAdapters::ViewAdapters(RDStation *rdstation,QWidget *parent) for(int i=0;icardName(i).isEmpty()) { text+=QString(" ")+tr("Card")+QString().sprintf(" %d: ",i)+ - tr("Not present"); + tr("Not present")+"\n"; } else { text+=QString(" ")+tr("Card")+QString().sprintf(" %d: ",i)+ - rdstation->cardName(i); + rdstation->cardName(i)+"\n"; switch(rdstation->cardDriver(i)) { case RDStation::Hpi: text+=tr(" Driver: AudioScience HPI\n"); @@ -151,6 +151,7 @@ ViewAdapters::ViewAdapters(RDStation *rdstation,QWidget *parent) text+=QString(" ")+tr("Outputs")+ QString().sprintf(" %d\n",rdstation->cardOutputs(i)); } + text+="\n"; } } else { diff --git a/rdcatch/edit_playout.cpp b/rdcatch/edit_playout.cpp index cc67156b..3168a4d2 100644 --- a/rdcatch/edit_playout.cpp +++ b/rdcatch/edit_playout.cpp @@ -410,11 +410,12 @@ void EditPlayout::PopulateDecks(QComboBox *box) void EditPlayout::Save() { - QStringList f0=f0.split(":",edit_station_box->currentText()); + int chan=-1; + QString station=GetLocation(&chan); edit_recording->setIsActive(edit_active_button->isChecked()); - edit_recording->setStation(f0[0]); + edit_recording->setStation(station); edit_recording->setType(RDRecording::Playout); - edit_recording->setChannel(f0[2].toInt()+128); + edit_recording->setChannel(chan+128); if(edit_starttime_edit->time().isNull()) { edit_recording->setStartTime(edit_starttime_edit->time().addMSecs(1)); } @@ -432,3 +433,12 @@ void EditPlayout::Save() edit_recording->setSun(edit_sun_button->isChecked()); edit_recording->setOneShot(edit_oneshot_box->isChecked()); } + + +QString EditPlayout::GetLocation(int *chan) const +{ + QStringList f0=f0.split(":",edit_station_box->currentText()); + *chan= + f0[1].stripWhiteSpace().left(f0[1].stripWhiteSpace().length()-1).toInt(); + return f0[0].stripWhiteSpace(); +} diff --git a/rdcatch/edit_playout.h b/rdcatch/edit_playout.h index b23be17a..85749728 100644 --- a/rdcatch/edit_playout.h +++ b/rdcatch/edit_playout.h @@ -59,6 +59,7 @@ class EditPlayout : public QDialog private: void PopulateDecks(QComboBox *box); void Save(); + QString GetLocation(int *chan) const; RDDeck *edit_deck; RDRecording *edit_recording; QCheckBox *edit_active_button; diff --git a/rdcatch/edit_recording.cpp b/rdcatch/edit_recording.cpp index 09ed85d7..374881fd 100644 --- a/rdcatch/edit_recording.cpp +++ b/rdcatch/edit_recording.cpp @@ -485,43 +485,43 @@ EditRecording::EditRecording(int id,std::vector *adds,QString *filter, edit_description_edit->setText(edit_recording->description()); edit_starttype_group->setButton((int)edit_recording->startType()); switch((RDRecording::StartType)edit_starttype_group->selectedId()) { - case RDRecording::HardStart: - edit_starttime_edit->setTime(edit_recording->startTime()); - break; + case RDRecording::HardStart: + edit_starttime_edit->setTime(edit_recording->startTime()); + break; - case RDRecording::GpiStart: - edit_start_startwindow_edit->setTime(edit_recording->startTime()); - edit_start_endwindow_edit-> - setTime(edit_start_startwindow_edit->time(). - addMSecs(edit_recording->startLength())); - edit_startmatrix_spin->setValue(edit_recording->startMatrix()); - edit_startline_spin->setValue(edit_recording->startLine()); - edit_startoffset_edit-> - setTime(QTime().addMSecs(edit_recording->startOffset())); - edit_multirec_box-> - setChecked(edit_recording->allowMultipleRecordings()); - break; + case RDRecording::GpiStart: + edit_start_startwindow_edit->setTime(edit_recording->startTime()); + edit_start_endwindow_edit-> + setTime(edit_start_startwindow_edit->time(). + addMSecs(edit_recording->startLength())); + edit_startmatrix_spin->setValue(edit_recording->startMatrix()); + edit_startline_spin->setValue(edit_recording->startLine()); + edit_startoffset_edit-> + setTime(QTime().addMSecs(edit_recording->startOffset())); + edit_multirec_box-> + setChecked(edit_recording->allowMultipleRecordings()); + break; } startTypeClickedData(edit_starttype_group->selectedId()); edit_endtype_group->setButton((int)edit_recording->endType()); switch((RDRecording::EndType)edit_endtype_group->selectedId()) { - case RDRecording::LengthEnd: - edit_endlength_edit-> - setTime(QTime().addMSecs(edit_recording->length())); - break; + case RDRecording::LengthEnd: + edit_endlength_edit-> + setTime(QTime().addMSecs(edit_recording->length())); + break; - case RDRecording::HardEnd: - edit_endtime_edit->setTime(edit_recording->endTime()); - break; + case RDRecording::HardEnd: + edit_endtime_edit->setTime(edit_recording->endTime()); + break; - case RDRecording::GpiEnd: - edit_end_startwindow_edit->setTime(edit_recording->endTime()); - edit_end_endwindow_edit-> - setTime(edit_end_startwindow_edit->time(). - addMSecs(edit_recording->endLength())); - edit_endmatrix_spin->setValue(edit_recording->endMatrix()); - edit_endline_spin->setValue(edit_recording->endLine()); - break; + case RDRecording::GpiEnd: + edit_end_startwindow_edit->setTime(edit_recording->endTime()); + edit_end_endwindow_edit-> + setTime(edit_end_startwindow_edit->time(). + addMSecs(edit_recording->endLength())); + edit_endmatrix_spin->setValue(edit_recording->endMatrix()); + edit_endline_spin->setValue(edit_recording->endLine()); + break; } edit_maxlength_edit-> setTime(QTime().addMSecs(edit_recording->maxGpiRecordingLength())); @@ -834,11 +834,12 @@ void EditRecording::PopulateDecks(QComboBox *box) void EditRecording::Save() { - QStringList f0=f0.split(":",edit_station_box->currentText()); + int chan=-1; + QString station=GetLocation(&chan); edit_recording->setIsActive(edit_active_button->isChecked()); - edit_recording->setStation(f0[0]); + edit_recording->setStation(station); edit_recording->setType(RDRecording::Recording); - edit_recording->setChannel(f0[2].toInt()); + edit_recording->setChannel(chan); edit_recording->setDescription(edit_description_edit->text()); edit_recording->setCutName(edit_cutname); edit_recording->setMon(edit_mon_button->isChecked()); @@ -1174,3 +1175,12 @@ int EditRecording::GetSource() delete q; return source; } + + +QString EditRecording::GetLocation(int *chan) const +{ + QStringList f0=f0.split(":",edit_station_box->currentText()); + *chan= + f0[1].stripWhiteSpace().left(f0[1].stripWhiteSpace().length()-1).toInt(); + return f0[0].stripWhiteSpace(); +} diff --git a/rdcatch/edit_recording.h b/rdcatch/edit_recording.h index e46a0229..e5281431 100644 --- a/rdcatch/edit_recording.h +++ b/rdcatch/edit_recording.h @@ -68,6 +68,7 @@ class EditRecording : public QDialog bool CheckEvent(bool include_myself); QString GetSourceName(int input); int GetSource(); + QString GetLocation(int *chan) const; RDDeck *edit_deck; RDRecording *edit_recording; QCheckBox *edit_active_button;