diff --git a/ChangeLog b/ChangeLog index f01ee6af..ff66a5b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23268,3 +23268,11 @@ * Fixed a regression in rdcatch(1) that could cause the wrong host to be used as the default location when creating a new event. +2022-09-07 Fred Gleason + * Dropped the 'STATIONS.EDITOR_PATH' field from the database. + * Incremented the database version to 357. + * Removed the 'RDStation::editorPath()' and + 'RDStation::setEditorPath()' methods. + * Removed the 'Audio Editor' control from the 'Configure Host' + dialog in rdadmin(1). + * Removed the 'Send to Editor' button from 'RDCartDialog'. diff --git a/docs/opsguide/rdadmin.host_dialog.png b/docs/opsguide/rdadmin.host_dialog.png index 31d343e8..8ef3b3f9 100644 Binary files a/docs/opsguide/rdadmin.host_dialog.png and b/docs/opsguide/rdadmin.host_dialog.png differ diff --git a/docs/opsguide/rdadmin.xml b/docs/opsguide/rdadmin.xml index 968717e2..dfa3a8cd 100644 --- a/docs/opsguide/rdadmin.xml +++ b/docs/opsguide/rdadmin.xml @@ -822,13 +822,6 @@ acceptable to specify the loopback address (127.0.0.1) here. - - The Audio Editor: can be used to - specify an external audio editor for use by rdlibrary(1). If desired, - the value should consist of the command invocation needed to start - the edit, with a %f wildcard to indicate the - name of the file to open. - The Report Editor: can be used to specify an external text editor to be used to display reports. diff --git a/docs/tables/stations.txt b/docs/tables/stations.txt index 96c147a7..bf29c19d 100644 --- a/docs/tables/stations.txt +++ b/docs/tables/stations.txt @@ -17,7 +17,6 @@ BROADCAST_SECURITY int(10) unsigned 0=HostSec, 1=UserSec HEARTBEAT_CART int(10) unsigned HEARTBEAT_INTERVAL int(10) unsigned STARTUP_CART int(10) unsigned -EDITOR_PATH varchar(191) Audio editor --e.g. Audacity REPORT_EDITOR_PATH varchar(191) Text Editor --e.g. GEdit BROWSER_PATH varchar(191) Web Browser --e.g. Firefox SSH_IDENTITY_FILE text diff --git a/lib/dbversion.h b/lib/dbversion.h index 570ecc9f..f48104f4 100644 --- a/lib/dbversion.h +++ b/lib/dbversion.h @@ -24,7 +24,7 @@ /* * Current Database Version */ -#define RD_VERSION_DATABASE 356 +#define RD_VERSION_DATABASE 357 #endif // DBVERSION_H diff --git a/lib/rdcart_dialog.cpp b/lib/rdcart_dialog.cpp index 1db13c6e..6dc74845 100644 --- a/lib/rdcart_dialog.cpp +++ b/lib/rdcart_dialog.cpp @@ -117,25 +117,16 @@ RDCartDialog::RDCartDialog(QString *filter,QString *group,QString *schedcode, cart_player->stopButton()->setOnColor(Qt::red); } - // - // Send to Editor Button - // - cart_editor_button=new QPushButton(tr("Send to\nEditor"),this); - cart_editor_button->setFont(buttonFont()); - connect(cart_editor_button,SIGNAL(clicked()),this,SLOT(editorData())); - if(rda->station()->editorPath().isEmpty()) { - cart_editor_button->hide(); - } - // // Load From File Button // cart_file_button=new QPushButton(tr("Load From\nFile"),this); cart_file_button->setFont(buttonFont()); connect(cart_file_button,SIGNAL(clicked()),this,SLOT(loadFileData())); - if(rda->station()->editorPath().isEmpty()) { - cart_file_button->hide(); - } + // + // FIXME: How about this? + // + cart_file_button->hide(); // // OK Button @@ -190,12 +181,6 @@ int RDCartDialog::exec(int *cartnum,RDCart::Type type,const QString &svc, switch(cart_type) { case RDCart::All: case RDCart::Audio: - if(rda->station()->editorPath().isEmpty()) { - cart_editor_button->hide(); - } - else { - cart_editor_button->show(); - } if(temp_allowed==NULL) { cart_file_button->hide(); } @@ -209,7 +194,6 @@ int RDCartDialog::exec(int *cartnum,RDCart::Type type,const QString &svc, break; case RDCart::Macro: - cart_editor_button->hide(); if(cart_player!=NULL) { cart_player->playButton()->hide(); cart_player->stopButton()->hide(); @@ -259,66 +243,6 @@ void RDCartDialog::selectionChangedData(const QItemSelection &before, } -void RDCartDialog::editorData() -{ - QModelIndexList rows=cart_cart_view->selectionModel()->selectedRows(); - - if(rows.size()!=1) { - return; - } - - unsigned cartnum=cart_cart_model->cartNumber(rows.first()); - QString sql; - RDSqlQuery *q; - - sql=QString("select ")+ - "`CUTS`.`CUT_NAME`,"+ // 00 - "`CUTS`.`LENGTH`,"+ // 01 - "`CART`.`GROUP_NAME`,"+ // 02 - "`CART`.`TITLE`,"+ // 03 - "`CART`.`ARTIST`,"+ // 04 - "`CART`.`ALBUM`,"+ // 05 - "`CART`.`YEAR`,"+ // 06 - "`CART`.`LABEL`,"+ // 07 - "`CART`.`CLIENT`,"+ // 08 - "`CART`.`AGENCY`,"+ // 09 - "`CART`.`COMPOSER`,"+ // 10 - "`CART`.`PUBLISHER`,"+ // 11 - "`CART`.`USER_DEFINED` "+ // 12 - "from `CUTS` left join `CART` "+ - "on `CUTS`.`CART_NUMBER`=`CART`.`NUMBER` where "+ - QString::asprintf("(`CUTS`.`CART_NUMBER`=%u)&&",cartnum)+ - "(`CUTS`.`LENGTH`>0)"; - q=new RDSqlQuery(sql); - if(!q->first()) { - delete q; - return; - } - QString cmd=rda->station()->editorPath(); - cmd.replace("%f",RDCut::pathName(q->value(0).toString())); - cmd.replace("%n",QString::asprintf("%06u",cartnum)); - cmd.replace("%h",QString::asprintf("%d",q->value(1).toInt())); - cmd.replace("%g",q->value(2).toString()); - cmd.replace("%t",q->value(3).toString()); - cmd.replace("%a",q->value(4).toString()); - cmd.replace("%l",q->value(5).toString()); - cmd.replace("%y",q->value(6).toString()); - cmd.replace("%b",q->value(7).toString()); - cmd.replace("%c",q->value(8).toString()); - cmd.replace("%e",q->value(9).toString()); - cmd.replace("%m",q->value(10).toString()); - cmd.replace("%p",q->value(11).toString()); - cmd.replace("%u",q->value(12).toString()); - delete q; - - if(fork()==0) { - RDCheckExitCode("RDCartDialog editor subprocess", - system((cmd+" &").toUtf8())); - exit(0); - } -} - - void RDCartDialog::loadFileData() { QString filename; @@ -443,7 +367,6 @@ void RDCartDialog::resizeEvent(QResizeEvent *e) cart_cart_view->setGeometry(10,cart_cart_filter->sizeHint().height(), w-20,h-cart_cart_filter->sizeHint().height()-70); - cart_editor_button->setGeometry(235,h-60,80,50); cart_file_button->setGeometry(325,h-60,80,50); cart_ok_button->setGeometry(w-180,h-60,80,50); cart_cancel_button->setGeometry(w-90,h-60,80,50); diff --git a/lib/rdcart_dialog.h b/lib/rdcart_dialog.h index 2093f9d3..19247889 100644 --- a/lib/rdcart_dialog.h +++ b/lib/rdcart_dialog.h @@ -2,7 +2,7 @@ // // A widget to select a Rivendell Cart. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -57,7 +57,6 @@ class RDCartDialog : public RDDialog void cartDoubleClickedData(const QModelIndex &index); void selectionChangedData(const QItemSelection &before, const QItemSelection &after); - void editorData(); void loadFileData(); void okData(); void cancelData(); @@ -76,7 +75,6 @@ class RDCartDialog : public RDDialog RDLibraryModel *cart_cart_model; QPushButton *cart_ok_button; QPushButton *cart_cancel_button; - QPushButton *cart_editor_button; QPushButton *cart_file_button; QString *cart_filter; bool local_filter; diff --git a/lib/rdstation.cpp b/lib/rdstation.cpp index 245de506..80ae746e 100644 --- a/lib/rdstation.cpp +++ b/lib/rdstation.cpp @@ -2,7 +2,7 @@ // // Abstract a Rivendell Workstation. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -242,19 +242,6 @@ void RDStation::setStartupCart(unsigned cartnum) const } -QString RDStation::editorPath() const -{ - return RDGetSqlValue("STATIONS","NAME",station_name,"EDITOR_PATH"). - toString(); -} - - -void RDStation::setEditorPath(const QString &cmd) -{ - SetRow("EDITOR_PATH",cmd); -} - - QString RDStation::reportEditorPath() const { return RDGetSqlValue("STATIONS","NAME",station_name,"REPORT_EDITOR_PATH"). @@ -865,25 +852,24 @@ bool RDStation::create(const QString &name,QString *err_msg, "`BROADCAST_SECURITY`,"+ // 03 "`HEARTBEAT_CART`,"+ // 04 "`HEARTBEAT_INTERVAL`,"+ // 05 - "`EDITOR_PATH`,"+ // 06 - "`FILTER_MODE`,"+ // 07 - "`SYSTEM_MAINT`,"+ // 08 - "`HTTP_STATION`,"+ // 09 - "`CAE_STATION`,"+ // 10 - "`START_JACK`,"+ // 11 - "`JACK_SERVER_NAME`,"+ // 12 - "`JACK_COMMAND_LINE`,"+ // 13 - "`JACK_PORTS`,"+ // 14 - "`CUE_CARD`,"+ // 15 - "`CUE_PORT`,"+ // 16 - "`CUE_START_CART`,"+ // 17 - "`CUE_STOP_CART`,"+ // 18 - "`CARTSLOT_COLUMNS`,"+ // 19 - "`CARTSLOT_ROWS`,"+ // 20 - "`ENABLE_DRAGDROP`,"+ // 21 - "`ENFORCE_PANEL_SETUP`,"+ // 22 - "`REPORT_EDITOR_PATH`,"+ // 23 - "`BROWSER_PATH` "+ // 24 + "`FILTER_MODE`,"+ // 06 + "`SYSTEM_MAINT`,"+ // 07 + "`HTTP_STATION`,"+ // 08 + "`CAE_STATION`,"+ // 09 + "`START_JACK`,"+ // 10 + "`JACK_SERVER_NAME`,"+ // 11 + "`JACK_COMMAND_LINE`,"+ // 12 + "`JACK_PORTS`,"+ // 13 + "`CUE_CARD`,"+ // 14 + "`CUE_PORT`,"+ // 15 + "`CUE_START_CART`,"+ // 16 + "`CUE_STOP_CART`,"+ // 17 + "`CARTSLOT_COLUMNS`,"+ // 18 + "`CARTSLOT_ROWS`,"+ // 19 + "`ENABLE_DRAGDROP`,"+ // 20 + "`ENFORCE_PANEL_SETUP`,"+ // 21 + "`REPORT_EDITOR_PATH`,"+ // 22 + "`BROWSER_PATH` "+ // 23 "from `STATIONS` where "+ "`NAME`='"+RDEscapeString(exemplar)+"'"; q=new RDSqlQuery(sql); @@ -900,25 +886,24 @@ bool RDStation::create(const QString &name,QString *err_msg, QString::asprintf("`BROADCAST_SECURITY`=%u,",q->value(3).toUInt())+ QString::asprintf("`HEARTBEAT_CART`=%u,",q->value(4).toUInt())+ QString::asprintf("`HEARTBEAT_INTERVAL`=%u,",q->value(5).toUInt())+ - "`EDITOR_PATH`='"+RDEscapeString(q->value(6).toString())+"',"+ - QString::asprintf("`FILTER_MODE`=%d,",q->value(7).toInt())+ - "`SYSTEM_MAINT`='"+RDEscapeString(q->value(8).toString())+"',"+ - "`HTTP_STATION`='"+RDEscapeString(q->value(9).toString())+"',"+ - "`CAE_STATION`='"+RDEscapeString(q->value(10).toString())+"',"+ - "`START_JACK`='"+RDEscapeString(q->value(11).toString())+"',"+ - "`JACK_SERVER_NAME`='"+RDEscapeString(q->value(12).toString())+"',"+ - "`JACK_COMMAND_LINE`='"+RDEscapeString(q->value(13).toString())+"',"+ - QString::asprintf("`JACK_PORTS`=%d,",q->value(14).toInt())+ - QString::asprintf("`CUE_CARD`=%d,",q->value(15).toInt())+ - QString::asprintf("`CUE_PORT`=%d,",q->value(16).toInt())+ - QString::asprintf("`CUE_START_CART`=%u,",q->value(17).toInt())+ - QString::asprintf("`CUE_STOP_CART`=%u,",q->value(18).toInt())+ - QString::asprintf("`CARTSLOT_COLUMNS`=%d,",q->value(19).toInt())+ - QString::asprintf("`CARTSLOT_ROWS`=%d,",q->value(20).toInt())+ - "`ENABLE_DRAGDROP`='"+RDEscapeString(q->value(21).toString())+"',"+ - "`ENFORCE_PANEL_SETUP`='"+RDEscapeString(q->value(22).toString())+"',"+ - "`REPORT_EDITOR_PATH`='"+RDEscapeString(q->value(23).toString())+"',"+ - "`BROWSER_PATH`='"+RDEscapeString(q->value(24).toString())+"'"; + QString::asprintf("`FILTER_MODE`=%d,",q->value(6).toInt())+ + "`SYSTEM_MAINT`='"+RDEscapeString(q->value(7).toString())+"',"+ + "`HTTP_STATION`='"+RDEscapeString(q->value(8).toString())+"',"+ + "`CAE_STATION`='"+RDEscapeString(q->value(9).toString())+"',"+ + "`START_JACK`='"+RDEscapeString(q->value(10).toString())+"',"+ + "`JACK_SERVER_NAME`='"+RDEscapeString(q->value(11).toString())+"',"+ + "`JACK_COMMAND_LINE`='"+RDEscapeString(q->value(12).toString())+"',"+ + QString::asprintf("`JACK_PORTS`=%d,",q->value(13).toInt())+ + QString::asprintf("`CUE_CARD`=%d,",q->value(14).toInt())+ + QString::asprintf("`CUE_PORT`=%d,",q->value(15).toInt())+ + QString::asprintf("`CUE_START_CART`=%u,",q->value(16).toInt())+ + QString::asprintf("`CUE_STOP_CART`=%u,",q->value(17).toInt())+ + QString::asprintf("`CARTSLOT_COLUMNS`=%d,",q->value(18).toInt())+ + QString::asprintf("`CARTSLOT_ROWS`=%d,",q->value(19).toInt())+ + "`ENABLE_DRAGDROP`='"+RDEscapeString(q->value(20).toString())+"',"+ + "`ENFORCE_PANEL_SETUP`='"+RDEscapeString(q->value(21).toString())+"',"+ + "`REPORT_EDITOR_PATH`='"+RDEscapeString(q->value(22).toString())+"',"+ + "`BROWSER_PATH`='"+RDEscapeString(q->value(23).toString())+"'"; q1=new RDSqlQuery(sql); if(!q1->isActive()) { *err_msg=QObject::tr("host already exists"); diff --git a/lib/rdstation.h b/lib/rdstation.h index c827b843..949c8f92 100644 --- a/lib/rdstation.h +++ b/lib/rdstation.h @@ -2,7 +2,7 @@ // // Abstract a Rivendell Workstation // -// (C) Copyright 2002-2004,2016 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -21,8 +21,7 @@ #ifndef RDSTATION_H #define RDSTATION_H -#include -#include +#include #include @@ -62,8 +61,6 @@ class RDStation void setHeartbeatInterval(unsigned interval) const; unsigned startupCart() const; void setStartupCart(unsigned cartnum) const; - QString editorPath() const; - void setEditorPath(const QString &cmd); QString reportEditorPath() const; void setReportEditorPath(const QString &cmd); QString browserPath() const; diff --git a/rdadmin/edit_station.cpp b/rdadmin/edit_station.cpp index 4f858a13..39b6caea 100644 --- a/rdadmin/edit_station.cpp +++ b/rdadmin/edit_station.cpp @@ -2,7 +2,7 @@ // // Edit a Rivendell Workstation Configuration // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -126,15 +126,6 @@ EditStation::EditStation(QString sname,QWidget *parent) station_address_label->setFont(labelFont()); station_address_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); - // - // Audio Editor Command - // - station_audio_editor_edit=new QLineEdit(this); - station_audio_editor_edit->setMaxLength(191); - station_audio_editor_label=new QLabel(tr("Audio Editor")+":",this); - station_audio_editor_label->setFont(labelFont()); - station_audio_editor_label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); - // // Report Editor Command // @@ -469,7 +460,6 @@ EditStation::EditStation(QString sname,QWidget *parent) station_short_name_edit->setText(station_station->shortName()); station_description_edit->setText(station_station->description()); station_address_edit->setText(station_station->address().toString()); - station_audio_editor_edit->setText(station_station->editorPath()); station_report_editor_edit->setText(station_station->reportEditorPath()); station_web_browser_edit->setText(station_station->browserPath()); station_ssh_identity_file_edit->setText(station_station->sshIdentityFile()); @@ -561,7 +551,7 @@ EditStation::~EditStation() QSize EditStation::sizeHint() const { - return QSize(415,765); + return QSize(415,744); } @@ -677,8 +667,6 @@ void EditStation::okData() station_station->setDescription(station_description_edit->text()); station_station->setDefaultName(station_username_box->currentText()); station_station->setAddress(addr); - station_station-> - setEditorPath(station_audio_editor_edit->text()); station_station->setReportEditorPath(station_report_editor_edit->text()); station_station->setBrowserPath(station_web_browser_edit->text()); station_station->setSshIdentityFile(station_ssh_identity_file_edit->text()); @@ -884,95 +872,92 @@ void EditStation::resizeEvent(QResizeEvent *e) station_address_edit->setGeometry(115,86,120,19); station_address_label->setGeometry(10,86,100,19); - station_audio_editor_edit->setGeometry(115,107,size().width()-120,19); - station_audio_editor_label->setGeometry(10,107,100,19); + station_report_editor_edit->setGeometry(115,107,size().width()-120,19); + station_report_editor_label->setGeometry(10,107,100,19); - station_report_editor_edit->setGeometry(115,128,size().width()-120,19); - station_report_editor_label->setGeometry(10,128,100,19); + station_web_browser_edit->setGeometry(115,128,size().width()-120,19); + station_web_browser_label->setGeometry(10,129,100,19); - station_web_browser_edit->setGeometry(115,149,size().width()-120,19); - station_web_browser_label->setGeometry(10,149,100,19); + station_ssh_identity_file_edit->setGeometry(115,149,size().width()-120,19); + station_ssh_identity_file_label->setGeometry(10,149,100,19); - station_ssh_identity_file_edit->setGeometry(115,170,size().width()-120,19); - station_ssh_identity_file_label->setGeometry(10,170,100,19); + station_timeoffset_box->setGeometry(115,170,80,19); + station_timeoffset_label->setGeometry(10,170,100,19); - station_timeoffset_box->setGeometry(115,191,80,19); - station_timeoffset_label->setGeometry(10,191,100,19); + station_startup_cart_edit->setGeometry(115,191,60,19); + station_startup_cart_label->setGeometry(10,191,100,19); + station_startup_select_button->setGeometry(190,190,50,22); - station_startup_cart_edit->setGeometry(115,212,60,19); - station_startup_cart_label->setGeometry(10,212,100,19); - station_startup_select_button->setGeometry(180,211,50,22); - - station_cue_sel->setGeometry(115,243,station_cue_sel->sizeHint().width(), + station_cue_sel->setGeometry(115,223,station_cue_sel->sizeHint().width(), station_cue_sel->sizeHint().height()); - station_cue_sel_label->setGeometry(10,243,100,19); + station_cue_sel_label->setGeometry(10,222,100,19); - station_start_cart_edit->setGeometry(290,243,60,20); - station_start_cart_label->setGeometry(205,243,80,20); - station_start_cart_button->setGeometry(355,242,50,22); + station_start_cart_edit->setGeometry(290,222,60,20); + station_start_cart_label->setGeometry(205,222,80,20); + station_start_cart_button->setGeometry(355,221,50,22); - station_stop_cart_edit->setGeometry(290,264,60,20); - station_stop_cart_label->setGeometry(205,264,80,20); - station_stop_cart_button->setGeometry(355,263,50,22); + station_stop_cart_edit->setGeometry(290,243,60,20); + station_stop_cart_label->setGeometry(205,243,80,20); + station_stop_cart_button->setGeometry(355,242,50,22); - station_heartbeat_box->setGeometry(10,287,15,15); - station_heartbeat_label->setGeometry(30,285,150,20); + station_heartbeat_box->setGeometry(10,266,15,15); + station_heartbeat_label->setGeometry(30,264,150,20); - station_filter_box->setGeometry(210,287,15,15); - station_filter_label->setGeometry(230,285,150,20); + station_filter_box->setGeometry(210,266,15,15); + station_filter_label->setGeometry(230,265,150,20); - station_hbcart_edit->setGeometry(65,310,60,19); - station_hbcart_label->setGeometry(10,310,50,19); - station_hbcart_button->setGeometry(140,307,60,26); + station_hbcart_edit->setGeometry(65,289,60,19); + station_hbcart_label->setGeometry(10,289,50,19); + station_hbcart_button->setGeometry(140,286,60,26); - station_hbinterval_spin->setGeometry(275,310,45,19); - station_hbinterval_label->setGeometry(200,310,70,19); - station_hbinterval_unit->setGeometry(325,310,100,19); + station_hbinterval_spin->setGeometry(275,289,45,19); + station_hbinterval_label->setGeometry(200,289,70,19); + station_hbinterval_unit->setGeometry(325,289,100,19); - station_maint_box->setGeometry(10,335,15,15); - station_maint_label->setGeometry(30,333,size().width()-40,20); + station_maint_box->setGeometry(10,314,15,15); + station_maint_label->setGeometry(30,312,size().width()-40,20); - station_dragdrop_box->setGeometry(10,356,15,15); - station_dragdrop_label->setGeometry(30,354,size().width()-40,20); + station_dragdrop_box->setGeometry(10,335,15,15); + station_dragdrop_label->setGeometry(30,333,size().width()-40,20); - station_panel_enforce_box->setGeometry(25,375,15,15); - station_panel_enforce_label->setGeometry(45,374-1,size().width()-55,20); + station_panel_enforce_box->setGeometry(25,354,15,15); + station_panel_enforce_label->setGeometry(45,351,size().width()-55,20); - station_systemservices_groupbox->setGeometry(10,395,size().width()-20,68); + station_systemservices_groupbox->setGeometry(10,374,size().width()-20,68); - station_http_station_box->setGeometry(145,418,size().width()-165,19); - station_http_station_label->setGeometry(11,416,130,19); + station_http_station_box->setGeometry(145,397,size().width()-165,19); + station_http_station_label->setGeometry(11,395,130,19); - station_cae_station_box->setGeometry(145,439,size().width()-165,19); - station_cae_station_label->setGeometry(11,439,130,19); + station_cae_station_box->setGeometry(145,418,size().width()-165,19); + station_cae_station_label->setGeometry(11,418,130,19); - station_rdlibrary_button->setGeometry(30,469,80,50); + station_rdlibrary_button->setGeometry(30,448,80,50); - station_rdcatch_button->setGeometry(120,469,80,50); + station_rdcatch_button->setGeometry(120,448,80,50); - station_rdairplay_button->setGeometry(210,469,80,50); + station_rdairplay_button->setGeometry(210,448,80,50); - station_rdpanel_button->setGeometry(300,469,80,50); + station_rdpanel_button->setGeometry(300,448,80,50); - station_rdlogedit_button->setGeometry(30,527,80,50); + station_rdlogedit_button->setGeometry(30,506,80,50); - station_rdcartslots_button->setGeometry(120,527,80,50); + station_rdcartslots_button->setGeometry(120,506,80,50); - station_dropboxes_button->setGeometry(210,527,80,50); + station_dropboxes_button->setGeometry(210,506,80,50); - station_switchers_button->setGeometry(300,527,80,50); + station_switchers_button->setGeometry(300,506,80,50); - station_hostvars_button->setGeometry(30,585,80,50); + station_hostvars_button->setGeometry(30,564,80,50); - station_audioports_button->setGeometry(120,585,80,50); + station_audioports_button->setGeometry(120,564,80,50); - station_ttys_button->setGeometry(210,585,80,50); + station_ttys_button->setGeometry(210,564,80,50); - station_adapters_button->setGeometry(300,585,80,50); + station_adapters_button->setGeometry(300,564,80,50); - station_jack_button->setGeometry(120,643,80,50); + station_jack_button->setGeometry(120,622,80,50); - station_pypad_button->setGeometry(210,643,80,50); + station_pypad_button->setGeometry(210,622,80,50); station_ok_button->setGeometry(size().width()-180,size().height()-60,80,50); station_cancel_button-> diff --git a/rdadmin/edit_station.h b/rdadmin/edit_station.h index d88ff3f1..429ee46a 100644 --- a/rdadmin/edit_station.h +++ b/rdadmin/edit_station.h @@ -2,7 +2,7 @@ // // Edit a Rivendell Workstation // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -92,8 +92,6 @@ class EditStation : public RDDialog RDUserListModel *station_username_model; QLabel *station_address_label; QLineEdit *station_address_edit; - QLabel *station_audio_editor_label; - QLineEdit *station_audio_editor_edit; QLabel *station_report_editor_label; QLineEdit *station_report_editor_edit; QLabel *station_web_browser_label; diff --git a/rdairplay/rdairplay.cpp b/rdairplay/rdairplay.cpp index f857ccc5..93ab544a 100644 --- a/rdairplay/rdairplay.cpp +++ b/rdairplay/rdairplay.cpp @@ -2,7 +2,7 @@ // // The On Air Playout Utility for Rivendell. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -170,7 +170,6 @@ MainWidget::MainWidget(RDConfig *config,QWidget *parent) for(int i=0;istation()->editorPath(); bgmap=QPixmap(rda->airplayConf()->skinPath()); if(!bgmap.isNull()&&(bgmap.width()>=1024)&&(bgmap.height()>=738)) { QPalette palette; diff --git a/rdairplay/rdairplay.h b/rdairplay/rdairplay.h index 60ec3d47..afcf7ee5 100644 --- a/rdairplay/rdairplay.h +++ b/rdairplay/rdairplay.h @@ -2,7 +2,7 @@ // // The On Air Playout Utility for Rivendell. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -152,7 +152,6 @@ class MainWidget : public RDMainWindow RDAirPlayConf::ExitCode rdairplay_previous_exit_code; QDateTime air_startup_datetime; QPixmap *air_refresh_pixmap; - QString air_editor_cmd; QFont air_message_fonts[AIR_MESSAGE_FONT_QUANTITY]; QFontMetrics *air_message_metrics[AIR_MESSAGE_FONT_QUANTITY]; int air_audio_channels[RDAirPlayConf::LastChannel]; diff --git a/rdlibrary/audio_cart.cpp b/rdlibrary/audio_cart.cpp index 6a678441..814ac6f0 100644 --- a/rdlibrary/audio_cart.cpp +++ b/rdlibrary/audio_cart.cpp @@ -2,7 +2,7 @@ // // The audio cart editor for RDLibrary. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -109,27 +109,11 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path, record_cut_button->setFont(buttonFont()); connect(record_cut_button,SIGNAL(clicked()),this,SLOT(recordCutData())); - // - // Send to (external) Editor Button (ex: Audacity) - // - ext_editor_cut_button=new QPushButton(this); - ext_editor_cut_button->setGeometry(550,60,80,50); - ext_editor_cut_button->setFont(buttonFont()); - ext_editor_cut_button->setText(tr("Edit\nAudio")); - connect(ext_editor_cut_button,SIGNAL(clicked()), - this,SLOT(extEditorCutData())); - int yoffset=60; - if((!rda->libraryConf()->enableEditor())|| - rda->station()->editorPath().isEmpty()) { - ext_editor_cut_button->hide(); - yoffset=0; - } - // // Edit Cut Button // edit_cut_button=new QPushButton(this); - edit_cut_button->setGeometry(550,60+yoffset,80,50); + edit_cut_button->setGeometry(550,60,80,50); edit_cut_button->setFont(buttonFont()); edit_cut_button->setText(tr("Edit\nMarkers")); connect(edit_cut_button,SIGNAL(clicked()),this,SLOT(editCutData())); @@ -139,7 +123,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path, // import_cut_button= new RDBiPushButton(tr("Import"),tr("Export"),this,rda->config()); - import_cut_button->setGeometry(550,120+yoffset,80,50); + import_cut_button->setGeometry(550,120,80,50); import_cut_button->setFont(buttonFont()); connect(import_cut_button,SIGNAL(clicked()),this,SLOT(importCutData())); @@ -147,7 +131,7 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path, // Rip Cut Button // rip_cut_button=new QPushButton(this); - rip_cut_button->setGeometry(550,180+yoffset,80,50); + rip_cut_button->setGeometry(550,180,80,50); rip_cut_button->setFont(buttonFont()); rip_cut_button->setText(tr("Rip CD")); connect(rip_cut_button,SIGNAL(clicked()),this,SLOT(ripCutData())); @@ -162,7 +146,6 @@ AudioCart::AudioCart(AudioControls *controls,RDCart *cart,QString *path, } rip_cut_button->setEnabled(rdcart_modification_allowed); import_cut_button->setEnabled(rdcart_modification_allowed); - ext_editor_cut_button->setEnabled(rdcart_modification_allowed); } @@ -404,28 +387,6 @@ void AudioCart::pasteCutData() } -void AudioCart::extEditorCutData() -{ - QModelIndex row=SingleSelectedLine(); - - if(!row.isValid()) { - return; - } - - QString cmd=rda->station()->editorPath(); - cmd.replace("%f",RDCut::pathName(rdcart_cut_model->cutName(row))); - // FIXME: other replace commands to match: lib/rdcart_dialog.cpp editorData() - // These substitions should be documented (maybe a text file), - // ex: %f = cart_cut filename - // and possibly also add some tooltips with help advice - - if(fork()==0) { - RDCheckExitCode("extEditorCutData() system",system((cmd+" &").toUtf8())); - exit(0); - } -} - - void AudioCart::editCutData() { QModelIndex row=SingleSelectedLine(); @@ -631,7 +592,6 @@ void AudioCart::UpdateButtons() setEnabled(row.isValid()&&(cut_clipboard!=NULL)&& rdcart_modification_allowed); record_cut_button->setEnabled(row.isValid()); - ext_editor_cut_button->setEnabled(row.isValid()&&rdcart_modification_allowed); edit_cut_button->setEnabled(row.isValid()); import_cut_button->setEnabled(row.isValid()&&rdcart_modification_allowed); rip_cut_button->setEnabled(row.isValid()&&rdcart_modification_allowed); diff --git a/rdlibrary/audio_cart.h b/rdlibrary/audio_cart.h index f74c5342..62edd328 100644 --- a/rdlibrary/audio_cart.h +++ b/rdlibrary/audio_cart.h @@ -2,7 +2,7 @@ // // The audio cart editor for RDLibrary. // -// (C) Copyright 2002-2021 Fred Gleason +// (C) Copyright 2002-2022 Fred Gleason // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as @@ -59,12 +59,6 @@ class AudioCart : public RDWidget const QItemSelection &after); void ripCutData(); void importCutData(); - - /** - * fork() a child process and start an external audio application to open a - * cut of audio. - **/ - void extEditorCutData(); signals: void cartDataChanged(); @@ -85,7 +79,6 @@ class AudioCart : public RDWidget QPushButton *copy_cut_button; QPushButton *paste_cut_button; RDBiPushButton *record_cut_button; - QPushButton *ext_editor_cut_button; QPushButton *edit_cut_button; QPushButton *import_cut_button; QPushButton *rip_cut_button; diff --git a/utils/rddbmgr/revertschema.cpp b/utils/rddbmgr/revertschema.cpp index fa22be5e..9a5d2b9a 100644 --- a/utils/rddbmgr/revertschema.cpp +++ b/utils/rddbmgr/revertschema.cpp @@ -41,6 +41,19 @@ bool MainObject::RevertSchema(int cur_schema,int set_schema,QString *err_msg) // NEW SCHEMA REVERSIONS GO HERE... + // + // Revert 357 + // + if((cur_schema==357)&&(set_schemacur_schema)) { + DropColumn("STATIONS","EDITOR_PATH"); + + WriteSchemaVersion(++cur_schema); + } + // NEW SCHEMA UPDATES GO HERE...