diff --git a/ChangeLog b/ChangeLog index ac544f99..20e60a17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16683,3 +16683,5 @@ * Refactored the RDCutDialog class to use RDApplication. 2018-02-06 Fred Gleason * Refactored the RDAddLog class to use RDApplication. +2018-02-06 Fred Gleason + * Refactored the RDAudioInfo class to use RDApplication. diff --git a/lib/rdaudioinfo.cpp b/lib/rdaudioinfo.cpp index 79a5f45d..1a28206e 100644 --- a/lib/rdaudioinfo.cpp +++ b/lib/rdaudioinfo.cpp @@ -2,7 +2,7 @@ // // Get information about a cut in the audio store. // -// (C) Copyright 2011,2016-2017 Fred Gleason +// (C) Copyright 2011,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 @@ -30,10 +30,11 @@ #include -#include -#include -#include -#include +#include "rd.h" +#include "rdapplication.h" +#include "rdxport_interface.h" +#include "rdformpost.h" +#include "rdaudioinfo.h" size_t RDAudioInfoCallback(void *ptr,size_t size,size_t nmemb,void *userdata) { @@ -45,11 +46,9 @@ size_t RDAudioInfoCallback(void *ptr,size_t size,size_t nmemb,void *userdata) } -RDAudioInfo::RDAudioInfo(RDStation *station,RDConfig *config,QObject *parent) +RDAudioInfo::RDAudioInfo(QObject *parent) : QObject(parent) { - conv_station=station; - conv_config=config; conv_cart_number=0; conv_cut_number=0; conv_format=RDWaveFile::Pcm16; @@ -135,14 +134,14 @@ RDAudioInfo::ErrorCode RDAudioInfo::runInfo(const QString &username, // otherwise some versions of LibCurl will throw a 'bad/illegal format' // error. // - strncpy(url,conv_station->webServiceUrl(conv_config),1024); + strncpy(url,rda->station()->webServiceUrl(rda->config()),1024); curl_easy_setopt(curl,CURLOPT_URL,url); curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,RDAudioInfoCallback); curl_easy_setopt(curl,CURLOPT_WRITEDATA,&conv_xml); curl_easy_setopt(curl,CURLOPT_POST,1); curl_easy_setopt(curl,CURLOPT_POSTFIELDS,(const char *)post); curl_easy_setopt(curl,CURLOPT_USERAGENT, - (const char *)conv_config->userAgent()); + (const char *)rda->config()->userAgent()); curl_easy_setopt(curl,CURLOPT_TIMEOUT,RD_CURL_TIMEOUT); switch(curl_err=curl_easy_perform(curl)) { diff --git a/lib/rdaudioinfo.h b/lib/rdaudioinfo.h index 219092c2..d1c139c8 100644 --- a/lib/rdaudioinfo.h +++ b/lib/rdaudioinfo.h @@ -2,7 +2,7 @@ // // Get information about a cut in the audio store. // -// (C) Copyright 2011,2016 Fred Gleason +// (C) Copyright 2011,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 @@ -23,9 +23,7 @@ #include -#include #include -#include class RDAudioInfo : public QObject { @@ -33,7 +31,7 @@ class RDAudioInfo : public QObject public: enum ErrorCode {ErrorOk=0,ErrorInternal=5,ErrorUrlInvalid=7, ErrorService=8,ErrorInvalidUser=9,ErrorNoAudio=10}; - RDAudioInfo(RDStation *station,RDConfig *config,QObject *parent=0); + RDAudioInfo(QObject *parent=0); RDWaveFile::Format format() const; unsigned channels() const; unsigned sampleRate() const; @@ -48,8 +46,6 @@ class RDAudioInfo : public QObject private: int ParseInt(const QString &tag,const QString &xml); - RDStation *conv_station; - RDConfig *conv_config; unsigned conv_cart_number; unsigned conv_cut_number; RDWaveFile::Format conv_format; diff --git a/lib/rdedit_audio.cpp b/lib/rdedit_audio.cpp index 48e292b1..ddb842bc 100644 --- a/lib/rdedit_audio.cpp +++ b/lib/rdedit_audio.cpp @@ -109,7 +109,7 @@ RDEditAudio::RDEditAudio(RDCart *cart,QString cut_name,RDCae *cae,RDUser *user, 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); - RDAudioInfo *info=new RDAudioInfo(station,edit_config,this); + RDAudioInfo *info=new RDAudioInfo(this); RDAudioInfo::ErrorCode audio_err; info->setCartNumber(RDCut::cartNumber(cut_name)); info->setCutNumber(RDCut::cutNumber(cut_name)); diff --git a/utils/rdcheckcuts/rdcheckcuts.cpp b/utils/rdcheckcuts/rdcheckcuts.cpp index 9b5eb5f2..57929670 100644 --- a/utils/rdcheckcuts/rdcheckcuts.cpp +++ b/utils/rdcheckcuts/rdcheckcuts.cpp @@ -114,8 +114,7 @@ bool MainObject::ValidateGroup(const QString &groupname, bool ret=true; QString sql; RDSqlQuery *q; - // RDStation *station=new RDStation(rda->config()->stationName()); - RDAudioInfo *info=new RDAudioInfo(rda->station(),rda->config()); + RDAudioInfo *info=new RDAudioInfo(this); RDAudioInfo::ErrorCode err_code; sql=QString("select CUTS.CUT_NAME,CUTS.CART_NUMBER,CUTS.LENGTH ")+ diff --git a/utils/rdexport/rdexport.cpp b/utils/rdexport/rdexport.cpp index 1771c606..2307c368 100644 --- a/utils/rdexport/rdexport.cpp +++ b/utils/rdexport/rdexport.cpp @@ -352,7 +352,7 @@ void MainObject::ExportCut(RDCart *cart,RDCut *cut) // // Get Audio Parameters // - RDAudioInfo *info=new RDAudioInfo(rda->station(),rda->config()); + RDAudioInfo *info=new RDAudioInfo(this); info->setCartNumber(cart->number()); info->setCutNumber(RDCut::cutNumber(cut->cutName())); if((info_err=info->runInfo(rda->user()->name(),rda->user()->password()))!= diff --git a/utils/rdmarkerset/rdmarkerset.cpp b/utils/rdmarkerset/rdmarkerset.cpp index e2c36810..faecbcde 100644 --- a/utils/rdmarkerset/rdmarkerset.cpp +++ b/utils/rdmarkerset/rdmarkerset.cpp @@ -308,7 +308,7 @@ void MainObject::ClearAutoTrim(unsigned cartnum,int cutnum,const QString &title, RDAudioInfo::ErrorCode err; RDCart *cart=new RDCart(cartnum); RDCut *cut=new RDCut(cartnum,cutnum); - RDAudioInfo *info=new RDAudioInfo(rda->station(),rda->config(),this); + RDAudioInfo *info=new RDAudioInfo(this); info->setCartNumber(cartnum); info->setCutNumber(cutnum); if((err=info->runInfo(rda->user()->name(),rda->user()->password()))==