From bf38fd3c9f67d4c51c767928c310d8f51fe55d1f Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Mon, 5 Feb 2018 23:53:49 -0500 Subject: [PATCH] 2018-02-06 Fred Gleason * Refactored the RDEditAudio class to use RDApplication. --- ChangeLog | 2 + lib/rdedit_audio.cpp | 126 +++++++++++++++++------------------- lib/rdedit_audio.h | 13 +--- rdcatch/catch_listview.cpp | 5 +- rdlibrary/audio_cart.cpp | 3 +- rdlogedit/voice_tracker.cpp | 3 +- 6 files changed, 69 insertions(+), 83 deletions(-) diff --git a/ChangeLog b/ChangeLog index 20e60a17..068ad2de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16685,3 +16685,5 @@ * Refactored the RDAddLog class to use RDApplication. 2018-02-06 Fred Gleason * Refactored the RDAudioInfo class to use RDApplication. +2018-02-06 Fred Gleason + * Refactored the RDEditAudio class to use RDApplication. diff --git a/lib/rdedit_audio.cpp b/lib/rdedit_audio.cpp index ddb842bc..a86e8c1e 100644 --- a/lib/rdedit_audio.cpp +++ b/lib/rdedit_audio.cpp @@ -2,7 +2,7 @@ // // Edit Rivendell Audio // -// (C) Copyright 2002-2003,2016 Fred Gleason +// (C) Copyright 2002-2003,2016-2018 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 @@ -24,28 +24,24 @@ #include #include -#include -#include -#include -#include -#include -#include -#include +#include "rd.h" +#include "rdapplication.h" +#include "rdaudioinfo.h" +#include "rdconf.h" +#include "rdcut.h" +#include "rdedit_audio.h" +#include "rdmixer.h" +#include "rdtrimaudio.h" -RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,RDCae *cae,RDUser *user, - RDStation *station,RDConfig *config,int card, +RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,int card, int port,int preroll,int trim_level,QWidget *parent) : QDialog(parent,"",true) { - edit_cae=cae; - edit_station=station; - edit_user=user; - edit_config=config; edit_card=card; edit_port=port; edit_stream=-1; - bool editing_allowed=user->editAudio()&&cart->owner().isEmpty(); + bool editing_allowed=rda->user()->editAudio()&&cart->owner().isEmpty(); // // Fix the Window Size @@ -103,18 +99,18 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,RDCae *cae,RDUser *user, // // The Audio // - connect(edit_cae,SIGNAL(playing(int)),this,SLOT(playedData(int))); - connect(edit_cae,SIGNAL(playStopped(int)),this,SLOT(pausedData(int))); - connect(edit_cae,SIGNAL(playPositionChanged(int,unsigned)), + connect(rda->cae(),SIGNAL(playing(int)),this,SLOT(playedData(int))); + connect(rda->cae(),SIGNAL(playStopped(int)),this,SLOT(pausedData(int))); + connect(rda->cae(),SIGNAL(playPositionChanged(int,unsigned)), this,SLOT(positionData(int,unsigned))); - edit_cae->loadPlay(edit_card,edit_cut->cutName(),&edit_stream,&edit_handle); - RDSetMixerOutputPort(edit_cae,edit_card,edit_stream,edit_port); + rda->cae()->loadPlay(edit_card,edit_cut->cutName(),&edit_stream,&edit_handle); + RDSetMixerOutputPort(rda->cae(),edit_card,edit_stream,edit_port); RDAudioInfo *info=new RDAudioInfo(this); RDAudioInfo::ErrorCode audio_err; info->setCartNumber(RDCut::cartNumber(cut_name)); info->setCutNumber(RDCut::cutNumber(cut_name)); - if((audio_err=info->runInfo(user->name(),user->password()))== + if((audio_err=info->runInfo(rda->user()->name(),rda->user()->password()))== RDAudioInfo::ErrorOk) { edit_sample_rate=info->sampleRate(); edit_sample_length=info->frames(); @@ -750,11 +746,11 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,RDCae *cae,RDUser *user, // // The Wave Forms // - edit_peaks=new RDPeaksExport(station,config,this); + edit_peaks=new RDPeaksExport(rda->station(),rda->config(),this); RDPeaksExport::ErrorCode conv_err; edit_peaks->setCartNumber(RDCut::cartNumber(cut_name)); edit_peaks->setCutNumber(RDCut::cutNumber(cut_name)); - if((conv_err=edit_peaks->runExport(user->name(),user->password()))!= + if((conv_err=edit_peaks->runExport(rda->user()->name(),rda->user()->password()))!= RDPeaksExport::ErrorOk) { QMessageBox::warning(this,tr("Rivendell Web Service"), tr("Unable to download peak data, error was:\n\"")+ @@ -924,8 +920,8 @@ QSizePolicy RDEditAudio::sizePolicy() const void RDEditAudio::saveData() { - edit_cae->stopPlay(edit_handle); - edit_cae->unloadPlay(edit_handle); + rda->cae()->stopPlay(edit_handle); + rda->cae()->unloadPlay(edit_handle); if(!SaveMarkers()) { return; } @@ -935,8 +931,8 @@ void RDEditAudio::saveData() void RDEditAudio::cancelData() { - edit_cae->stopPlay(edit_handle); - edit_cae->unloadPlay(edit_handle); + rda->cae()->stopPlay(edit_handle); + rda->cae()->unloadPlay(edit_handle); done(1); } @@ -1057,7 +1053,7 @@ void RDEditAudio::playStartData() if(is_playing) { return; } - edit_cae-> + rda->cae()-> positionPlay(edit_handle,GetTime(edit_cursors[RDEditAudio::Start]*1152)); switch(edit_cue_point) { case RDEditAudio::End: @@ -1072,10 +1068,10 @@ void RDEditAudio::playStartData() break; } if(!is_playing) { - edit_cae->setPlayPortActive(edit_card,edit_port,edit_stream); - edit_cae-> + rda->cae()->setPlayPortActive(edit_card,edit_port,edit_stream); + rda->cae()-> setOutputVolume(edit_card,edit_stream,edit_port,0+edit_gain_control->value()); - edit_cae->play(edit_handle,(int)(1000.0*(double) + rda->cae()->play(edit_handle,(int)(1000.0*(double) ((edit_cursors[RDEditAudio::End]- edit_cursors[RDEditAudio::Start])*1152)/ (double)edit_sample_rate), @@ -1142,10 +1138,10 @@ void RDEditAudio::playCursorData() pause_mode=false; if(!is_playing) { - edit_cae->setPlayPortActive(edit_card,edit_port,edit_stream); - edit_cae-> + rda->cae()->setPlayPortActive(edit_card,edit_port,edit_stream); + rda->cae()-> setOutputVolume(edit_card,edit_stream,edit_port,0+edit_gain_control->value()); - edit_cae->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); + rda->cae()->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); } if(use_looping) { is_looping=true; @@ -1162,7 +1158,7 @@ void RDEditAudio::pauseData() if(!is_paused) { is_looping=false; pause_mode=true; - edit_cae->stopPlay(edit_handle); + rda->cae()->stopPlay(edit_handle); } } @@ -1172,7 +1168,7 @@ void RDEditAudio::stopData() if(!is_paused) { is_looping=false; pause_mode=false; - edit_cae->stopPlay(edit_handle); + rda->cae()->stopPlay(edit_handle); } } @@ -1269,7 +1265,7 @@ void RDEditAudio::pausedData(int handle) } else { edit_stop_button->on(); - edit_cae->positionPlay(edit_handle,GetTime(played_cursor*1152)); + rda->cae()->positionPlay(edit_handle,GetTime(played_cursor*1152)); } is_playing=false; is_paused=true; @@ -1351,7 +1347,7 @@ void RDEditAudio::cuePointData(int id) case RDEditAudio::TalkStart: case RDEditAudio::HookStart: case RDEditAudio::FadeDown: - edit_cae->positionPlay(edit_handle,GetTime(edit_cursors[id]*1152)); + rda->cae()->positionPlay(edit_handle,GetTime(edit_cursors[id]*1152)); break; case RDEditAudio::End: @@ -1366,7 +1362,7 @@ void RDEditAudio::cuePointData(int id) else { edit_cue_button[id]->setFlashingEnabled(false); edit_cue_point=RDEditAudio::Play; - edit_cae->positionPlay(edit_handle,0); + rda->cae()->positionPlay(edit_handle,0); } } UpdateCounters(); @@ -1502,11 +1498,11 @@ void RDEditAudio::trimHeadData() { RDEditAudio::CuePoints point; RDTrimAudio::ErrorCode conv_err; - RDTrimAudio *conv=new RDTrimAudio(edit_station,edit_config,this); + RDTrimAudio *conv=new RDTrimAudio(rda->station(),rda->config(),this); conv->setCartNumber(edit_cut->cartNumber()); conv->setCutNumber(edit_cut->cutNumber()); conv->setTrimLevel(100*edit_trim_box->value()); - switch(conv_err=conv->runTrim(edit_user->name(),edit_user->password())) { + switch(conv_err=conv->runTrim(rda->user()->name(),rda->user()->password())) { case RDTrimAudio::ErrorOk: if(conv->startPoint()>=0) { point=edit_cue_point; @@ -1531,11 +1527,11 @@ void RDEditAudio::trimTailData() { RDEditAudio::CuePoints point; RDTrimAudio::ErrorCode conv_err; - RDTrimAudio *conv=new RDTrimAudio(edit_station,edit_config,this); + RDTrimAudio *conv=new RDTrimAudio(rda->station(),rda->config(),this); conv->setCartNumber(edit_cut->cartNumber()); conv->setCutNumber(edit_cut->cutNumber()); conv->setTrimLevel(100*edit_trim_box->value()); - switch(conv_err=conv->runTrim(edit_user->name(),edit_user->password())) { + switch(conv_err=conv->runTrim(rda->user()->name(),rda->user()->password())) { case RDTrimAudio::ErrorOk: if(conv->endPoint()>=0) { point=edit_cue_point; @@ -1656,7 +1652,7 @@ void RDEditAudio::meterData() { short levels[2]; - edit_cae->outputMeterUpdate(edit_card,edit_port,levels); + rda->cae()->outputMeterUpdate(edit_card,edit_port,levels); edit_meter->setLeftPeakBar(levels[0]); edit_meter->setRightPeakBar(levels[1]); } @@ -1721,7 +1717,7 @@ void RDEditAudio::mouseMoveEvent(QMouseEvent *e) } else { ignore_pause=true; - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); ignore_pause=false; } } @@ -1729,7 +1725,7 @@ void RDEditAudio::mouseMoveEvent(QMouseEvent *e) cursor=(int)((((double)e->x()-10.0)*edit_factor_x+ (double)edit_hscroll->value())*1152.0); ignore_pause=true; - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); ignore_pause=false; } } @@ -1756,7 +1752,7 @@ void RDEditAudio::mousePressEvent(QMouseEvent *e) } else { ignore_pause=true; - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); ignore_pause=false; } break; @@ -1764,7 +1760,7 @@ void RDEditAudio::mousePressEvent(QMouseEvent *e) case QMouseEvent::MidButton: center_button_pressed=true; ignore_pause=true; - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); ignore_pause=false; break; @@ -1903,37 +1899,37 @@ void RDEditAudio::PreRoll(int cursor,RDEditAudio::CuePoints point) switch(point) { case RDEditAudio::SegueEnd: if(prepoint>1152*edit_cursors[RDEditAudio::SegueStart]) { - edit_cae->positionPlay(edit_handle,GetTime(prepoint)); + rda->cae()->positionPlay(edit_handle,GetTime(prepoint)); } else { - edit_cae->positionPlay(edit_handle, + rda->cae()->positionPlay(edit_handle, GetTime(1152*edit_cursors[RDEditAudio::SegueStart])); } break; case RDEditAudio::End: if(prepoint>1152*edit_cursors[RDEditAudio::Start]) { - edit_cae->positionPlay(edit_handle,GetTime(prepoint)); + rda->cae()->positionPlay(edit_handle,GetTime(prepoint)); } else { - edit_cae->positionPlay(edit_handle, + rda->cae()->positionPlay(edit_handle, GetTime(1152*edit_cursors[RDEditAudio::Start])); } break; case RDEditAudio::TalkEnd: if(prepoint>1152*edit_cursors[RDEditAudio::TalkStart]) { - edit_cae->positionPlay(edit_handle,GetTime(prepoint)); + rda->cae()->positionPlay(edit_handle,GetTime(prepoint)); } else { - edit_cae->positionPlay(edit_handle, + rda->cae()->positionPlay(edit_handle, GetTime(1152*edit_cursors[RDEditAudio::TalkStart])); } break; case RDEditAudio::HookEnd: if(prepoint>1152*edit_cursors[RDEditAudio::HookStart]) { - edit_cae->positionPlay(edit_handle,GetTime(prepoint)); + rda->cae()->positionPlay(edit_handle,GetTime(prepoint)); } else { - edit_cae->positionPlay(edit_handle, + rda->cae()->positionPlay(edit_handle, GetTime(1152*edit_cursors[RDEditAudio::HookStart])); } break; @@ -1984,7 +1980,7 @@ bool RDEditAudio::PositionCursor(int cursor,bool relative) edit_cursor_edit[edit_cue_point]-> setText(RDGetTimeLength((int)(1000.0*(double)cursor/ (double)edit_sample_rate),true)); - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); break; case RDEditAudio::End: @@ -2072,7 +2068,7 @@ bool RDEditAudio::PositionCursor(int cursor,bool relative) edit_cursor_edit[RDEditAudio::FadeUp]-> setText(RDGetTimeLength((int)(1000.0*(double)cursor/ (double)edit_sample_rate),true)); - edit_cae->positionPlay(edit_handle, + rda->cae()->positionPlay(edit_handle, GetTime(edit_cursors[RDEditAudio::Start]*1152)); break; @@ -2104,7 +2100,7 @@ bool RDEditAudio::PositionCursor(int cursor,bool relative) edit_cursor_edit[RDEditAudio::FadeDown]-> setText(RDGetTimeLength((int)(1000.0*(double)cursor/ (double)edit_sample_rate),true)); - edit_cae->positionPlay(edit_handle,GetTime(cursor)); + rda->cae()->positionPlay(edit_handle,GetTime(cursor)); break; default: @@ -2295,16 +2291,16 @@ void RDEditAudio::LoopRegion(int cursor0,int cursor1) 1152)/(double)edit_sample_rate); } if(cursor0==-1) { - edit_cae->positionPlay(edit_handle,0); - edit_cae-> + rda->cae()->positionPlay(edit_handle,0); + rda->cae()-> setOutputVolume(edit_card,edit_stream,edit_port,0+edit_gain_control->value()); - edit_cae->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); + rda->cae()->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); } else { - edit_cae->positionPlay(edit_handle,GetTime(cursor0*1152)); - edit_cae-> + rda->cae()->positionPlay(edit_handle,GetTime(cursor0*1152)); + rda->cae()-> setOutputVolume(edit_card,edit_stream,edit_port,0+edit_gain_control->value()); - edit_cae->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); + rda->cae()->play(edit_handle,length,RD_TIMESCALE_DIVISOR,0); } } diff --git a/lib/rdedit_audio.h b/lib/rdedit_audio.h index 4aa79f7b..7bcc885f 100644 --- a/lib/rdedit_audio.h +++ b/lib/rdedit_audio.h @@ -2,7 +2,7 @@ // // Edit Rivendell Audio // -// (C) Copyright 2002-2006,2016 Fred Gleason +// (C) Copyright 2002-2006,2016-2018 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 @@ -35,7 +35,6 @@ #include #include -#include #include #include #include @@ -44,9 +43,6 @@ #include #include #include -#include -#include -#include #include // @@ -74,8 +70,7 @@ class RDEditAudio : public QDialog { Q_OBJECT public: - RDEditAudio(RDCart *cart,QString cut_name,RDCae *cae,RDUser *user, - RDStation *station,RDConfig *config,int card,int port, + RDEditAudio(RDCart *cart,QString cut_name,int card,int port, int preroll,int trim_level,QWidget *parent=0); ~RDEditAudio(); QSize sizeHint() const; @@ -218,10 +213,6 @@ class RDEditAudio : public QDialog int edit_stream; int edit_port; int edit_preroll; - RDCae *edit_cae; - RDStation *edit_station; - RDUser *edit_user; - RDConfig *edit_config; }; diff --git a/rdcatch/catch_listview.cpp b/rdcatch/catch_listview.cpp index e03bb4ae..ba718e8b 100644 --- a/rdcatch/catch_listview.cpp +++ b/rdcatch/catch_listview.cpp @@ -53,9 +53,8 @@ void CatchListView::editAudioMenuData() { RDCart *rdcart=new RDCart(catch_cutname.left(6).toUInt()); RDEditAudio *edit= - new RDEditAudio(rdcart,catch_cutname,rda->cae(),rda->user(),rda->station(), - rda->config(),catch_audition_card,catch_audition_port, - 1500,-400,this); + new RDEditAudio(rdcart,catch_cutname,catch_audition_card, + catch_audition_port,1500,-400,this); if(edit->exec()!=-1) { rdcart->updateLength(); } diff --git a/rdlibrary/audio_cart.cpp b/rdlibrary/audio_cart.cpp index 5acc4385..a16774d9 100644 --- a/rdlibrary/audio_cart.cpp +++ b/rdlibrary/audio_cart.cpp @@ -533,8 +533,7 @@ void AudioCart::editCutData() return; } RDEditAudio *edit= - new RDEditAudio(rdcart_cart,cutname,rda->cae(),rda->user(),rda->station(), - rda->config(),rda->libraryConf()->outputCard(), + new RDEditAudio(rdcart_cart,cutname,rda->libraryConf()->outputCard(), rda->libraryConf()->outputPort(),rda->libraryConf()->tailPreroll(), rda->libraryConf()->trimThreshold(),this); if(edit->exec()!=-1) { diff --git a/rdlogedit/voice_tracker.cpp b/rdlogedit/voice_tracker.cpp index d392edfc..90dba3fb 100644 --- a/rdlogedit/voice_tracker.cpp +++ b/rdlogedit/voice_tracker.cpp @@ -1260,8 +1260,7 @@ void VoiceTracker::editAudioData() RDCart *rdcart=new RDCart(edit_logline[edit_rightclick_track]->cartNumber()); RDEditAudio *edit= new RDEditAudio(rdcart,edit_logline[edit_rightclick_track]->cutName(), - rda->cae(),rda->user(),rda->station(),rda->config(),edit_output_card, - edit_output_port,edit_tail_preroll, + edit_output_card,edit_output_port,edit_tail_preroll, edit_threshold_level,this); if(edit->exec()!=-1) { rdcart->updateLength();