2018-05-30 Fred Gleason <fredg@paravelsystems.com>

* Removed drop of the 'RECORDINGS.SAMPRATE' field from schema
	change 285.
	* Cleaned up SQL calls in rdcatchd(8).
	* Cleaned up SQL calls in 'RDStation'.
	* Cleaned up SQL calls in 'RDLibraryConf'.
	* Cleaned up SQL calls in 'RDLogeditConf'.
	* Cleaned up SQL calls in 'RDLogLine'.
	* Cleaned up SQL calls in 'RDSvc'.
	* Cleaned up SQL calls in rivendell_filter(1).
This commit is contained in:
Fred Gleason 2018-05-31 00:09:35 +00:00
parent 37ad8d7094
commit 32b3d1775c
15 changed files with 468 additions and 400 deletions

View File

@ -16970,3 +16970,13 @@
2018-05-30 Fred Gleason <fredg@paravelsystems.com>
* Merged pull request #000062, "Optimize CPU usage in caed alsa
playback (fixed version)".
2018-05-30 Fred Gleason <fredg@paravelsystems.com>
* Removed drop of the 'RECORDINGS.SAMPRATE' field from schema
change 285.
* Cleaned up SQL calls in rdcatchd(8).
* Cleaned up SQL calls in 'RDStation'.
* Cleaned up SQL calls in 'RDLibraryConf'.
* Cleaned up SQL calls in 'RDLogeditConf'.
* Cleaned up SQL calls in 'RDLogLine'.
* Cleaned up SQL calls in 'RDSvc'.
* Cleaned up SQL calls in rivendell_filter(1).

View File

@ -47,6 +47,7 @@ ENDDATE_OFFSET int(10) unsigned
EVENTDATE_OFFSET int(11)
FORMAT int(11) signed 0 = PCM16, 2 = Layer 2, 3 = Layer 3
CHANNELS int(11) signed
SAMPRATE int(11) signed
BITRATE int(11) signed
QUALITY int(11) signed
MACRO_CART int(10) unsigned

View File

@ -210,16 +210,38 @@ MainObject::MainObject(QObject *parent)
//
// Transfer Loop
//
sql=QString().sprintf("select NUMBER,TYPE,GROUP_NAME,TITLE,ARTIST,ALBUM,\
YEAR,ISRC,LABEL,CLIENT,AGENCY,PUBLISHER,COMPOSER,\
USER_DEFINED,USAGE_CODE,FORCED_LENGTH,AVERAGE_LENGTH,\
LENGTH_DEVIATION,AVERAGE_SEGUE_LENGTH,\
AVERAGE_HOOK_LENGTH,CUT_QUANTITY,LAST_CUT_PLAYED,\
PLAY_ORDER,VALIDITY,\
ENFORCE_LENGTH,PRESERVE_PITCH,ASYNCRONOUS,\
OWNER,MACROS,SCHED_CODES from CART \
where (NUMBER>=%u)&&(NUMBER<=%u)",
start_cartnum,end_cartnum);
sql=QString().sprintf("select ")+
"NUMBER,"+ // 00
"TYPE,"+ // 01
"GROUP_NAME,"+ // 02
"TITLE,"+ // 03
"ARTIST,"+ // 04
"ALBUM,"+ // 05
"YEAR,"+ // 06
"LABEL,"+ // 08
"CLIENT,"+ // 09
"AGENCY,"+ // 10
"PUBLISHER,"+ // 11
"COMPOSER,"+ // 12
"USER_DEFINED,"+ // 13
"USAGE_CODE,"+ // 14
"FORCED_LENGTH,"+ // 15
"AVERAGE_LENGTH,"+ // 16
"LENGTH_DEVIATION,"+ // 17
"AVERAGE_SEGUE_LENGTH,"+ // 18
"AVERAGE_HOOK_LENGTH,"+ // 19
"CUT_QUANTITY,"+ // 20
"LAST_CUT_PLAYED,"+ // 21
"PLAY_ORDER,"+ // 22
"VALIDITY,"+ // 23
"ENFORCE_LENGTH,"+ // 24
"PRESERVE_PITCH,"+ // 25
"ASYNCRONOUS,"+ // 26
"OWNER,"+ // 27
"MACROS,"+ // 28
"SCHED_CODES "+ // 29
"from CART where "+
QString().sprintf("(NUMBER>=%u)&&(NUMBER<=%u)",start_cartnum,end_cartnum);
q=new QSqlQuery(sql,ext_db);
while(q->next()) {
printf("Transferring cart %06u [%s]...",q->value(0).toUInt(),
@ -262,86 +284,84 @@ MainObject::MainObject(QObject *parent)
//
// Create new entries
//
if(q->value(27).isNull()) {
if(q->value(26).isNull()) {
owner="null";
}
else {
owner=QString().sprintf("\"%s\"",
(const char *)RDEscapeString(q->value(27).toString()));
(const char *)RDEscapeString(q->value(26).toString()));
}
sql=QString().sprintf("insert into CART set NUMBER=%u,\
TYPE=%u,\
GROUP_NAME=\"%s\",\
TITLE=\"%s\",\
ARTIST=\"%s\",\
ALBUM=\"%s\",\
YEAR=%s,\
ISRC=\"%s\",\
LABEL=\"%s\",\
CLIENT=\"%s\",\
AGENCY=\"%s\",\
PUBLISHER=\"%s\",\
COMPOSER=\"%s\",\
USER_DEFINED=\"%s\",\
USAGE_CODE=\"%s\",\
FORCED_LENGTH=%u,\
AVERAGE_LENGTH=%u,\
LENGTH_DEVIATION=%u,\
AVERAGE_SEGUE_LENGTH=%u,\
AVERAGE_HOOK_LENGTH=%u,\
CUT_QUANTITY=%u,\
LAST_CUT_PLAYED=%u,\
PLAY_ORDER=%u,\
VALIDITY=%u,\
ENFORCE_LENGTH=\"%s\",\
PRESERVE_PITCH=\"%s\",\
ASYNCRONOUS=\"%s\",\
OWNER=%s,\
MACROS=\"%s\",\
SCHED_CODES=\"%s\"",
q->value(0).toUInt(),
q->value(1).toUInt(),
(const char *)RDEscapeString(group),
(const char *)RDEscapeString(q->value(3).toString()),
(const char *)RDEscapeString(q->value(4).toString()),
(const char *)RDEscapeString(q->value(5).toString()),
(const char *)RDCheckDateTime(q->value(6).toDate(),"yyyy-MM-dd"),
(const char *)RDEscapeString(q->value(7).toString()),
(const char *)RDEscapeString(q->value(8).toString()),
(const char *)RDEscapeString(q->value(9).toString()),
(const char *)RDEscapeString(q->value(10).toString()),
(const char *)RDEscapeString(q->value(11).toString()),
(const char *)RDEscapeString(q->value(12).toString()),
(const char *)RDEscapeString(q->value(13).toString()),
(const char *)RDEscapeString(q->value(14).toString()),
q->value(15).toUInt(),
q->value(16).toUInt(),
q->value(17).toUInt(),
q->value(18).toUInt(),
q->value(19).toUInt(),
q->value(20).toUInt(),
q->value(21).toUInt(),
q->value(22).toUInt(),
q->value(23).toUInt(),
(const char *)RDEscapeString(q->value(24).toString()),
(const char *)RDEscapeString(q->value(25).toString()),
(const char *)RDEscapeString(q->value(26).toString()),
(const char *)owner,
(const char *)RDEscapeString(q->value(28).toString()),
(const char *)RDEscapeString(q->value(29).
toString()));
sql=QString("insert into CART set ")+
QString().sprintf("NUMBER=%u,",q->value(0).toUInt())+
QString().sprintf("TYPE=%u,",q->value(1).toUInt())+
"GROUP_NAME=\""+RDEscapeString(group)+"\","+
"TITLE=\""+RDEscapeString(q->value(3).toString())+"\","+
"ARTIST=\""+RDEscapeString(q->value(4).toString())+"\","+
"ALBUM=\""+RDEscapeString(q->value(5).toString())+"\","+
"YEAR=%s,"+RDCheckDateTime(q->value(6).toDate(),"yyyy-MM-dd")+","+
"LABEL=\""+RDEscapeString(q->value(7).toString())+"\","+
"CLIENT=\""+RDEscapeString(q->value(8).toString())+"\","+
"AGENCY=\""+RDEscapeString(q->value(9).toString())+"\","+
"PUBLISHER=\""+RDEscapeString(q->value(10).toString())+"\","+
"COMPOSER=\""+RDEscapeString(q->value(11).toString())+"\","+
"USER_DEFINED=\""+RDEscapeString(q->value(12).toString())+"\","+
"USAGE_CODE=\""+RDEscapeString(q->value(13).toString())+"\","+
QString().sprintf("FORCED_LENGTH=%u,",q->value(14).toUInt())+
QString().sprintf("AVERAGE_LENGTH=%u,",q->value(15).toUInt())+
QString().sprintf("LENGTH_DEVIATION=%u,",q->value(16).toUInt())+
QString().sprintf("AVERAGE_SEGUE_LENGTH=%u,",q->value(17).toUInt())+
QString().sprintf("AVERAGE_HOOK_LENGTH=%u,",q->value(18).toUInt())+
QString().sprintf("CUT_QUANTITY=%u,",q->value(19).toUInt())+
QString().sprintf("LAST_CUT_PLAYED=%u,",q->value(20).toUInt())+
QString().sprintf("PLAY_ORDER=%u,",q->value(21).toUInt())+
QString().sprintf("VALIDITY=%u,",q->value(22).toUInt())+
"ENFORCE_LENGTH=\""+RDEscapeString(q->value(23).toString())+"\","+
"PRESERVE_PITCH=\""+RDEscapeString(q->value(24).toString())+"\","+
"ASYNCRONOUS=\""+RDEscapeString(q->value(25).toString())+"\","+
"OWNER="+owner+","+
"MACROS=\""+RDEscapeString(q->value(27).toString())+"\","+
"SCHED_CODES=\""+RDEscapeString(q->value(28).toString())+"\"";
q1=new QSqlQuery(sql,filter_db);
delete q1;
sql=QString().sprintf("select CUT_NAME,EVERGREEN,DESCRIPTION,OUTCUE,ISRC,\
LENGTH,ORIGIN_DATETIME,START_DATETIME,END_DATETIME,\
SUN,MON,TUE,WED,THU,FRI,SAT,START_DAYPART,\
END_DAYPART,ORIGIN_NAME,WEIGHT,VALIDITY,\
CODING_FORMAT,SAMPLE_RATE,BIT_RATE,CHANNELS,\
PLAY_GAIN,START_POINT,END_POINT,FADEUP_POINT,\
FADEDOWN_POINT,SEGUE_START_POINT,SEGUE_END_POINT,\
SEGUE_GAIN,HOOK_START_POINT,HOOK_END_POINT,\
TALK_START_POINT,TALK_END_POINT from CUTS \
where CART_NUMBER=%u",q->value(0).toUInt());
sql=QString("select ")+
"CUT_NAME,"+ // 00
"EVERGREEN,"+ // 01
"DESCRIPTION,"+ // 02
"OUTCUE,"+ // 03
"ISRC,"+ // 04
"LENGTH,"+ // 05
"ORIGIN_DATETIME,"+ // 06
"START_DATETIME,"+ // 07
"END_DATETIME,"+ // 08
"SUN,"+ // 09
"MON,"+ // 10
"TUE,"+ // 11
"WED,"+ // 12
"THU,"+ // 13
"FRI,"+ // 14
"SAT,"+ // 15
"START_DAYPART,"+ // 16
"END_DAYPART,"+ // 17
"ORIGIN_NAME,"+ // 18
"WEIGHT,"+ // 19
"VALIDITY,"+ // 20
"CODING_FORMAT,"+ // 21
"BIT_RATE,"+ // 22
"CHANNELS,"+ // 23
"PLAY_GAIN,"+ // 24
"START_POINT,"+ // 25
"END_POINT,"+ // 26
"FADEUP_POINT,"+ // 27
"FADEDOWN_POINT,"+ // 28
"SEGUE_START_POINT,"+ // 29
"SEGUE_END_POINT,"+ // 30
"SEGUE_GAIN,"+ // 31
"HOOK_START_POINT,"+ // 32
"HOOK_END_POINT,"+ // 33
"TALK_START_POINT,"+ // 34
"TALK_END_POINT "+ // 35
"from CUTS where "+
QString().sprintf("CART_NUMBER=%u",q->value(0).toUInt());
q1=new QSqlQuery(sql,ext_db);
while(q1->next()) {
if(q1->value(7).isNull()) {
@ -399,21 +419,20 @@ MainObject::MainObject(QObject *parent)
QString().sprintf("WEIGHT=%u,",q1->value(19).toUInt())+
QString().sprintf("VALIDITY=%u,",q1->value(20).toUInt())+
QString().sprintf("CODING_FORMAT=%u,",q1->value(21).toUInt())+
QString().sprintf("SAMPLE_RATE=%u,",q1->value(22).toUInt())+
QString().sprintf("BIT_RATE=%u,",q1->value(23).toUInt())+
QString().sprintf("CHANNELS=%u,",q1->value(24).toUInt())+
QString().sprintf("PLAY_GAIN=%d,",q1->value(25).toInt())+
QString().sprintf("START_POINT=%d,",q1->value(26).toInt())+
QString().sprintf("END_POINT=%d,",q1->value(27).toInt())+
QString().sprintf("FADEUP_POINT=%d,",q1->value(28).toInt())+
QString().sprintf("FADEDOWN_POINT=%d,",q1->value(29).toInt())+
QString().sprintf("SEGUE_START_POINT=%d,",q1->value(30).toInt())+
QString().sprintf("SEGUE_END_POINT=%d,",q1->value(31).toInt())+
QString().sprintf("SEGUE_GAIN=%d,",q1->value(32).toInt())+
QString().sprintf("HOOK_START_POINT=%d,",q1->value(33).toInt())+
QString().sprintf("HOOK_END_POINT=%d,",q1->value(34).toInt())+
QString().sprintf("TALK_START_POINT=%d,",q1->value(35).toInt())+
QString().sprintf("TALK_END_POINT=%d where ",q1->value(36).toInt())+
QString().sprintf("BIT_RATE=%u,",q1->value(22).toUInt())+
QString().sprintf("CHANNELS=%u,",q1->value(23).toUInt())+
QString().sprintf("PLAY_GAIN=%d,",q1->value(24).toInt())+
QString().sprintf("START_POINT=%d,",q1->value(25).toInt())+
QString().sprintf("END_POINT=%d,",q1->value(26).toInt())+
QString().sprintf("FADEUP_POINT=%d,",q1->value(27).toInt())+
QString().sprintf("FADEDOWN_POINT=%d,",q1->value(28).toInt())+
QString().sprintf("SEGUE_START_POINT=%d,",q1->value(29).toInt())+
QString().sprintf("SEGUE_END_POINT=%d,",q1->value(30).toInt())+
QString().sprintf("SEGUE_GAIN=%d,",q1->value(31).toInt())+
QString().sprintf("HOOK_START_POINT=%d,",q1->value(32).toInt())+
QString().sprintf("HOOK_END_POINT=%d,",q1->value(33).toInt())+
QString().sprintf("TALK_START_POINT=%d,",q1->value(34).toInt())+
QString().sprintf("TALK_END_POINT=%d where ",q1->value(35).toInt())+
"CUT_NAME=\""+RDEscapeString(q1->value(0).toString())+"\"";
q2=new QSqlQuery(sql,filter_db);
delete q2;

View File

@ -59,15 +59,15 @@ bool RDReport::ExportBmiEmr(const QString &filename,const QDate &startdate,
report_error_code=RDReport::ErrorCantOpen;
return false;
}
/*
sql=QString().sprintf("select EVENT_DATETIME,TITLE,ARTIST,COMPOSER,\
LENGTH,ISRC,USAGE_CODE from `%s_SRT` \
order by EVENT_DATETIME",
(const char *)mixtable);
*/
sql=QString("select EVENT_DATETIME,TITLE,ARTIST,COMPOSER,")+
"LENGTH,ISRC,USAGE_CODE from `"+
mixtable+"_SRT` order by EVENT_DATETIME";
sql=QString("select ")+
"EVENT_DATETIME,"+ // 00
"TITLE,"+ // 01
"ARTIST,"+ // 02
"COMPOSER,"+ // 03
"LENGTH,"+ // 04
"ISRC,"+ // 05
"USAGE_CODE "+ // 06
"from `"+mixtable+"_SRT` order by EVENT_DATETIME";
q=new RDSqlQuery(sql);
//

View File

@ -69,9 +69,14 @@ bool RDReport::ExportSoundEx(const QString &filename,const QDate &startdate,
//
// Roll Up Records
//
sql=QString().sprintf("select CART_NUMBER,ARTIST,TITLE,ISRC,ALBUM,LABEL \
from `%s_SRT` order by CART_NUMBER",
(const char *)mixtable);
sql=QString("select ")+
"CART_NUMBER,"+ // 00
"ARTIST,"+ // 01
"TITLE,"+ // 02
"ISRC,"+ // 03
"ALBUM,"+ // 04
"LABEL "+ // 05
"from `"+mixtable+"_SRT` order by CART_NUMBER";
q=new RDSqlQuery(sql);
while(q->next()) {
if(q->value(0).toUInt()==cartnum) {

View File

@ -346,30 +346,34 @@ void RDLibraryConf::getSettings(RDSettings *s) const
sql=QString("select ")+
"DEFAULT_CHANNELS,"+ // 00
"DEFAULT_SAMPRATE,"+ // 01
"DEFAULT_FORMAT,"+ // 02
"DEFAULT_BITRATE,"+ // 03
"RIPPER_LEVEL,"+ // 04
"TRIM_THRESHOLD "+ // 05
"DEFAULT_FORMAT,"+ // 01
"DEFAULT_BITRATE,"+ // 02
"RIPPER_LEVEL,"+ // 03
"TRIM_THRESHOLD "+ // 04
"from RDLIBRARY where "+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
s->clear();
if(q->first()) {
s->setChannels(q->value(0).toUInt());
s->setSampleRate(q->value(1).toUInt());
switch(q->value(2).toInt()) {
case 0:
s->setFormat(RDSettings::Pcm16);
break;
switch(q->value(1).toInt()) {
case 0:
s->setFormat(RDSettings::Pcm16);
break;
case 1:
s->setFormat(RDSettings::MpegL2);
break;
case 1:
s->setFormat(RDSettings::MpegL2);
break;
}
s->setBitRate(q->value(3).toUInt());
s->setNormalizationLevel(q->value(4).toUInt());
s->setAutotrimLevel(q->value(5).toUInt());
s->setBitRate(q->value(2).toUInt());
s->setNormalizationLevel(q->value(3).toUInt());
s->setAutotrimLevel(q->value(4).toUInt());
}
delete q;
sql=QString("select SAMPLE_RATE from SYSTEM");
q=new RDSqlQuery(sql);
if(q->first()) {
s->setSampleRate(q->value(0).toUInt());
}
delete q;
}

View File

@ -1814,23 +1814,39 @@ RDLogLine::State RDLogLine::setEvent(int mach,RDLogLine::TransType next_type,
void RDLogLine::loadCart(int cartnum,RDLogLine::TransType next_type,int mach,
bool timescale,RDLogLine::TransType type,int len)
{
QString sql=QString().sprintf("select CART.TYPE,CART.GROUP_NAME,CART.TITLE,\
CART.ARTIST,CART.ALBUM,CART.YEAR,CART.ISRC,\
CART.LABEL,CART.CLIENT,CART.AGENCY,\
CART.USER_DEFINED,CART.CONDUCTOR,CART.SONG_ID,\
CART.FORCED_LENGTH,\
CART.CUT_QUANTITY,CART.LAST_CUT_PLAYED,\
CART.PLAY_ORDER,CART.START_DATETIME,\
CART.END_DATETIME,CART.ENFORCE_LENGTH,\
CART.PRESERVE_PITCH,GROUPS.ENABLE_NOW_NEXT,\
CART.ASYNCRONOUS,CART.PUBLISHER,\
CART.COMPOSER,CART.USAGE_CODE,\
CART.AVERAGE_SEGUE_LENGTH,CART.NOTES,\
GROUPS.COLOR \
from CART left join GROUPS on\
CART.GROUP_NAME=GROUPS.NAME\
where (CART.NUMBER=%d)",
cartnum);
QString sql=QString("select ")+
"CART.TYPE,"+ // 00
"CART.GROUP_NAME,"+ // 01
"CART.TITLE,"+ // 02
"CART.ARTIST,"+ // 03
"CART.ALBUM,"+ // 04
"CART.YEAR,"+ // 05
// "CART.ISRC,"+ // 06
"CART.LABEL,"+ // 06
"CART.CLIENT,"+ // 07
"CART.AGENCY,"+ // 08
"CART.USER_DEFINED,"+ // 09
"CART.CONDUCTOR,"+ // 10
"CART.SONG_ID,"+ // 11
"CART.FORCED_LENGTH,"+ // 12
"CART.CUT_QUANTITY,"+ // 13
"CART.LAST_CUT_PLAYED,"+ // 14
"CART.PLAY_ORDER,"+ // 15
"CART.START_DATETIME,"+ // 16
"CART.END_DATETIME,"+ // 17
"CART.ENFORCE_LENGTH,"+ // 18
"CART.PRESERVE_PITCH,"+ // 19
"GROUPS.ENABLE_NOW_NEXT,"+ // 20
"CART.ASYNCRONOUS,"+ // 21
"CART.PUBLISHER,"+ // 22
"CART.COMPOSER,"+ // 23
"CART.USAGE_CODE,"+ // 24
"CART.AVERAGE_SEGUE_LENGTH,"+ // 25
"CART.NOTES,"+ // 26
"GROUPS.COLOR "+ // 27
"from CART left join GROUPS "+
"on CART.GROUP_NAME=GROUPS.NAME where "+
QString().sprintf("(CART.NUMBER=%d)",cartnum);
RDSqlQuery *q=new RDSqlQuery(sql);
if(!q->first()) {
delete q;
@ -1856,35 +1872,35 @@ void RDLogLine::loadCart(int cartnum,RDLogLine::TransType next_type,int mach,
log_artist=q->value(3).toString();
log_album=q->value(4).toString();
log_year=q->value(5).toDate();
log_isrc=q->value(6).toString();
log_label=q->value(7).toString();
log_client=q->value(8).toString();
log_agency=q->value(9).toString();
log_user_defined=q->value(10).toString();
log_conductor=q->value(11).toString();
log_song_id=q->value(12).toString();
log_cut_quantity=q->value(14).toUInt();
log_last_cut_played=q->value(15).toUInt();
log_play_order=(RDCart::PlayOrder)q->value(16).toInt();
log_start_datetime=q->value(17).toDateTime();
log_end_datetime=q->value(18).toDateTime();
log_preserve_pitch=RDBool(q->value(20).toString());
// log_isrc=q->value(6).toString();
log_label=q->value(6).toString();
log_client=q->value(7).toString();
log_agency=q->value(8).toString();
log_user_defined=q->value(9).toString();
log_conductor=q->value(10).toString();
log_song_id=q->value(11).toString();
log_cut_quantity=q->value(13).toUInt();
log_last_cut_played=q->value(14).toUInt();
log_play_order=(RDCart::PlayOrder)q->value(15).toInt();
log_start_datetime=q->value(16).toDateTime();
log_end_datetime=q->value(17).toDateTime();
log_preserve_pitch=RDBool(q->value(19).toString());
if(len<0) {
log_forced_length=q->value(13).toUInt();
log_enforce_length=RDBool(q->value(19).toString());
log_forced_length=q->value(12).toUInt();
log_enforce_length=RDBool(q->value(18).toString());
}
else {
log_forced_length=len;
log_enforce_length=true;
}
log_now_next_enabled=RDBool(q->value(21).toString());
log_asyncronous=RDBool(q->value(22).toString());
log_publisher=q->value(23).toString();
log_composer=q->value(24).toString();
log_usage_code=(RDCart::UsageCode)q->value(25).toInt();
log_average_segue_length=q->value(26).toInt();
log_cart_notes=q->value(27).toString();
log_group_color=QColor(q->value(28).toString());
log_now_next_enabled=RDBool(q->value(20).toString());
log_asyncronous=RDBool(q->value(21).toString());
log_publisher=q->value(22).toString();
log_composer=q->value(23).toString();
log_usage_code=(RDCart::UsageCode)q->value(24).toInt();
log_average_segue_length=q->value(25).toInt();
log_cart_notes=q->value(26).toString();
log_group_color=QColor(q->value(27).toString());
log_play_source=RDLogLine::UnknownSource;
if(type!=RDLogLine::NoTrans) {
log_trans_type=type;
@ -1903,13 +1919,19 @@ void RDLogLine::refreshPointers()
QString sql;
RDSqlQuery *q;
sql=QString().sprintf("select START_POINT,END_POINT,\
SEGUE_START_POINT,SEGUE_END_POINT,\
TALK_START_POINT,TALK_END_POINT,\
FADEUP_POINT,FADEDOWN_POINT,\
HOOK_START_POINT,HOOK_END_POINT from CUTS\
where CUT_NAME=\"%s\"",
(const char *)log_cut_name);
sql=QString("select ")+
"START_POINT,"+ // 00
"END_POINT,"+ // 01
"SEGUE_START_POINT,"+ // 02
"SEGUE_END_POINT,"+ // 03
"TALK_START_POINT,"+ // 04
"TALK_END_POINT,"+ // 05
"FADEUP_POINT,"+ // 06
"FADEDOWN_POINT,"+ // 07
"HOOK_START_POINT,"+ // 08
"HOOK_END_POINT "+ // 09
"from CUTS where "+
"CUT_NAME=\""+RDEscapeString(log_cut_name)+"\"";
q=new RDSqlQuery(sql);
if(q->first()) {
log_start_point[RDLogLine::CartPointer]=q->value(0).toInt();

View File

@ -280,17 +280,19 @@ void RDLogeditConf::getSettings(RDSettings *s) const
QString sql;
RDSqlQuery *q;
sql=QString().sprintf("select DEFAULT_CHANNELS,SAMPRATE,\
FORMAT,BITRATE,RIPPER_LEVEL,\
TRIM_THRESHOLD from RDLOGEDIT \
where STATION=\"%s\"",
(const char *)RDEscapeString(lib_station));
sql=QString("select ")+
"DEFAULT_CHANNELS,"+ // 00
"FORMAT,"+ // 02
"BITRATE,"+ // 03
"RIPPER_LEVEL,"+ // 04
"TRIM_THRESHOLD "+ // 05
"from RDLOGEDIT where "+
"STATION=\""+RDEscapeString(lib_station)+"\"";
q=new RDSqlQuery(sql);
s->clear();
if(q->first()) {
s->setChannels(q->value(0).toUInt());
s->setSampleRate(q->value(1).toUInt());
switch(q->value(2).toInt()) {
switch(q->value(1).toInt()) {
case 0:
s->setFormat(RDSettings::Pcm16);
break;
@ -299,9 +301,15 @@ void RDLogeditConf::getSettings(RDSettings *s) const
s->setFormat(RDSettings::MpegL2);
break;
}
s->setBitRate(q->value(3).toUInt());
s->setNormalizationLevel(q->value(4).toUInt());
s->setAutotrimLevel(q->value(5).toUInt());
s->setBitRate(q->value(2).toUInt());
s->setNormalizationLevel(q->value(3).toUInt());
s->setAutotrimLevel(q->value(4).toUInt());
}
delete q;
sql=QString("select SAMPLE_RATE from SYSTEM");
q=new RDSqlQuery(sql);
if(q->first()) {
s->setSampleRate(q->value(0).toUInt());
}
delete q;
}

View File

@ -954,22 +954,21 @@ bool RDStation::create(const QString &name,QString *err_msg,
"TRIM_THRESHOLD,"+ // 06
"DEFAULT_FORMAT,"+ // 07
"DEFAULT_CHANNELS,"+ // 08
"DEFAULT_SAMPRATE,"+ // 09
"DEFAULT_LAYER,"+ // 10
"DEFAULT_BITRATE,"+ // 11
"DEFAULT_RECORD_MODE,"+ // 12
"DEFAULT_TRIM_STATE,"+ // 13
"MAXLENGTH,"+ // 14
"TAIL_PREROLL,"+ // 15
"RIPPER_DEVICE,"+ // 16
"PARANOIA_LEVEL,"+ // 17
"RIPPER_LEVEL,"+ // 18
"CDDB_SERVER,"+ // 19
"READ_ISRC,"+ // 20
"ENABLE_EDITOR,"+ // 21
"SRC_CONVERTER,"+ // 22
"LIMIT_SEARCH,"+ // 23
"SEARCH_LIMITED "+ // 24
"DEFAULT_LAYER,"+ // 09
"DEFAULT_BITRATE,"+ // 10
"DEFAULT_RECORD_MODE,"+ // 11
"DEFAULT_TRIM_STATE,"+ // 12
"MAXLENGTH,"+ // 13
"TAIL_PREROLL,"+ // 14
"RIPPER_DEVICE,"+ // 15
"PARANOIA_LEVEL,"+ // 16
"RIPPER_LEVEL,"+ // 17
"CDDB_SERVER,"+ // 18
"READ_ISRC,"+ // 19
"ENABLE_EDITOR,"+ // 20
"SRC_CONVERTER,"+ // 21
"LIMIT_SEARCH,"+ // 22
"SEARCH_LIMITED "+ // 23
"from RDLIBRARY where "+
"(STATION=\""+RDEscapeString(exemplar)+"\")&&"+
"(INSTANCE=0)";
@ -985,22 +984,21 @@ bool RDStation::create(const QString &name,QString *err_msg,
QString().sprintf("TRIM_THRESHOLD=%d,",q->value(6).toInt())+
QString().sprintf("DEFAULT_FORMAT=%u,",q->value(7).toUInt())+
QString().sprintf("DEFAULT_CHANNELS=%u,",q->value(8).toUInt())+
QString().sprintf("DEFAULT_SAMPRATE=%u,",q->value(9).toUInt())+
QString().sprintf("DEFAULT_LAYER=%u,",q->value(10).toUInt())+
QString().sprintf("DEFAULT_BITRATE=%u,",q->value(11).toUInt())+
QString().sprintf("DEFAULT_RECORD_MODE=%u,",q->value(12).toUInt())+
"DEFAULT_TRIM_STATE=\""+RDEscapeString(q->value(13).toString())+"\","+
QString().sprintf("MAXLENGTH=%d,",q->value(14).toInt())+
QString().sprintf("TAIL_PREROLL=%u,",q->value(15).toUInt())+
"RIPPER_DEVICE=\""+RDEscapeString(q->value(16).toString())+"\","+
QString().sprintf("PARANOIA_LEVEL=%d,",q->value(17).toInt())+
QString().sprintf("RIPPER_LEVEL=%d,",q->value(18).toInt())+
"CDDB_SERVER=\""+RDEscapeString(q->value(19).toString())+"\","+
"READ_ISRC=\""+RDEscapeString(q->value(20).toString())+"\","+
"ENABLE_EDITOR=\""+RDEscapeString(q->value(21).toString())+"\","+
QString().sprintf("SRC_CONVERTER=%d,",q->value(22).toInt())+
QString().sprintf("LIMIT_SEARCH=%d,",q->value(23).toInt())+
"SEARCH_LIMITED=\""+RDEscapeString(q->value(24).toString())+"\","+
QString().sprintf("DEFAULT_LAYER=%u,",q->value(9).toUInt())+
QString().sprintf("DEFAULT_BITRATE=%u,",q->value(10).toUInt())+
QString().sprintf("DEFAULT_RECORD_MODE=%u,",q->value(11).toUInt())+
"DEFAULT_TRIM_STATE=\""+RDEscapeString(q->value(12).toString())+"\","+
QString().sprintf("MAXLENGTH=%d,",q->value(13).toInt())+
QString().sprintf("TAIL_PREROLL=%u,",q->value(14).toUInt())+
"RIPPER_DEVICE=\""+RDEscapeString(q->value(15).toString())+"\","+
QString().sprintf("PARANOIA_LEVEL=%d,",q->value(16).toInt())+
QString().sprintf("RIPPER_LEVEL=%d,",q->value(17).toInt())+
"CDDB_SERVER=\""+RDEscapeString(q->value(18).toString())+"\","+
"READ_ISRC=\""+RDEscapeString(q->value(19).toString())+"\","+
"ENABLE_EDITOR=\""+RDEscapeString(q->value(20).toString())+"\","+
QString().sprintf("SRC_CONVERTER=%d,",q->value(21).toInt())+
QString().sprintf("LIMIT_SEARCH=%d,",q->value(22).toInt())+
"SEARCH_LIMITED=\""+RDEscapeString(q->value(23).toString())+"\","+
"STATION=\""+RDEscapeString(name)+"\"";
q1=new RDSqlQuery(sql);
delete q1;
@ -1017,19 +1015,18 @@ bool RDStation::create(const QString &name,QString *err_msg,
"OUTPUT_PORT,"+ // 03
"FORMAT,"+ // 04
"DEFAULT_CHANNELS,"+ // 05
"SAMPRATE,"+ // 06
"LAYER,"+ // 07
"BITRATE,"+ // 08
"MAXLENGTH,"+ // 09
"TAIL_PREROLL,"+ // 10
"START_CART,"+ // 11
"END_CART,"+ // 12
"REC_START_CART,"+ // 13
"REC_END_CART,"+ // 14
"TRIM_THRESHOLD,"+ // 15
"RIPPER_LEVEL,"+ // 16
"DEFAULT_TRANS_TYPE,"+ // 17
"ENABLE_SECOND_START "+ // 18
"LAYER,"+ // 06
"BITRATE,"+ // 07
"MAXLENGTH,"+ // 08
"TAIL_PREROLL,"+ // 09
"START_CART,"+ // 10
"END_CART,"+ // 11
"REC_START_CART,"+ // 12
"REC_END_CART,"+ // 13
"TRIM_THRESHOLD,"+ // 14
"RIPPER_LEVEL,"+ // 15
"DEFAULT_TRANS_TYPE,"+ // 16
"ENABLE_SECOND_START "+ // 17
"from RDLOGEDIT where "+
"STATION=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql);
@ -1041,20 +1038,19 @@ bool RDStation::create(const QString &name,QString *err_msg,
QString().sprintf("OUTPUT_PORT=%d,",q->value(3).toInt())+
QString().sprintf("FORMAT=%u,",q->value(4).toUInt())+
QString().sprintf("DEFAULT_CHANNELS=%u,",q->value(5).toUInt())+
QString().sprintf("SAMPRATE=%u,",q->value(6).toUInt())+
QString().sprintf("LAYER=%u,",q->value(7).toUInt())+
QString().sprintf("BITRATE=%u,",q->value(8).toUInt())+
QString().sprintf("MAXLENGTH=%d,",q->value(9).toInt())+
QString().sprintf("TAIL_PREROLL=%u,",q->value(10).toUInt())+
QString().sprintf("LAYER=%u,",q->value(6).toUInt())+
QString().sprintf("BITRATE=%u,",q->value(7).toUInt())+
QString().sprintf("MAXLENGTH=%d,",q->value(8).toInt())+
QString().sprintf("TAIL_PREROLL=%u,",q->value(9).toUInt())+
"STATION=\""+RDEscapeString(name)+"\","+
QString().sprintf("START_CART=%u,",q->value(11).toUInt())+
QString().sprintf("END_CART=%u,",q->value(12).toUInt())+
QString().sprintf("REC_START_CART=%u,",q->value(13).toUInt())+
QString().sprintf("REC_END_CART=%u,",q->value(14).toUInt())+
QString().sprintf("TRIM_THRESHOLD=%d,",q->value(15).toInt())+
QString().sprintf("RIPPER_LEVEL=%d,",q->value(16).toInt())+
QString().sprintf("DEFAULT_TRANS_TYPE=%d,",q->value(17).toInt())+
"ENABLE_SECOND_START=\""+RDEscapeString(q->value(18).toString())+"\"";
QString().sprintf("START_CART=%u,",q->value(10).toUInt())+
QString().sprintf("END_CART=%u,",q->value(11).toUInt())+
QString().sprintf("REC_START_CART=%u,",q->value(12).toUInt())+
QString().sprintf("REC_END_CART=%u,",q->value(13).toUInt())+
QString().sprintf("TRIM_THRESHOLD=%d,",q->value(14).toInt())+
QString().sprintf("RIPPER_LEVEL=%d,",q->value(15).toInt())+
QString().sprintf("DEFAULT_TRANS_TYPE=%d,",q->value(16).toInt())+
"ENABLE_SECOND_START=\""+RDEscapeString(q->value(17).toString())+"\"";
q1=new RDSqlQuery(sql);
delete q1;
}
@ -1072,13 +1068,12 @@ bool RDStation::create(const QString &name,QString *err_msg,
"PORT_TYPE,"+ // 05
"DEFAULT_FORMAT,"+ // 06
"DEFAULT_CHANNELS,"+ // 07
"DEFAULT_SAMPRATE,"+ // 08
"DEFAULT_BITRATE,"+ // 09
"DEFAULT_THRESHOLD,"+ // 10
"SWITCH_STATION,"+ // 11
"SWITCH_MATRIX,"+ // 12
"SWITCH_OUTPUT,"+ // 13
"SWITCH_DELAY "+ // 14
"DEFAULT_BITRATE,"+ // 08
"DEFAULT_THRESHOLD,"+ // 09
"SWITCH_STATION,"+ // 10
"SWITCH_MATRIX,"+ // 11
"SWITCH_OUTPUT,"+ // 12
"SWITCH_DELAY "+ // 13
"from DECKS where "+
"STATION_NAME=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql);
@ -1092,13 +1087,12 @@ bool RDStation::create(const QString &name,QString *err_msg,
"PORT_TYPE=\""+RDEscapeString(q->value(5).toString())+"\","+
QString().sprintf("DEFAULT_FORMAT=%d,",q->value(6).toInt())+
QString().sprintf("DEFAULT_CHANNELS=%d,",q->value(7).toInt())+
QString().sprintf("DEFAULT_SAMPRATE=%d,",q->value(8).toInt())+
QString().sprintf("DEFAULT_BITRATE=%d,",q->value(9).toInt())+
QString().sprintf("DEFAULT_THRESHOLD=%d,",q->value(10).toInt())+
"SWITCH_STATION=\""+RDEscapeString(q->value(11).toString())+"\","+
QString().sprintf("SWITCH_MATRIX=%d,",q->value(12).toInt())+
QString().sprintf("SWITCH_OUTPUT=%d,",q->value(13).toInt())+
QString().sprintf("SWITCH_DELAY=%d,",q->value(14).toInt())+
QString().sprintf("DEFAULT_BITRATE=%d,",q->value(8).toInt())+
QString().sprintf("DEFAULT_THRESHOLD=%d,",q->value(9).toInt())+
"SWITCH_STATION=\""+RDEscapeString(q->value(10).toString())+"\","+
QString().sprintf("SWITCH_MATRIX=%d,",q->value(11).toInt())+
QString().sprintf("SWITCH_OUTPUT=%d,",q->value(12).toInt())+
QString().sprintf("SWITCH_DELAY=%d,",q->value(13).toInt())+
"STATION_NAME=\""+RDEscapeString(name)+"\"";
q1=new RDSqlQuery(sql);
delete q1;

View File

@ -1155,43 +1155,39 @@ bool RDSvc::create(const QString &name,QString *err_msg,
"TFC_WIN_PATH,"+ // 11
"TFC_CART_OFFSET,"+ // 12
"TFC_CART_LENGTH,"+ // 13
"TFC_START_OFFSET,"+ // 14
"TFC_START_LENGTH,"+ // 15
"TFC_LENGTH_OFFSET,"+ // 16
"TFC_LENGTH_LENGTH,"+ // 17
"TFC_HOURS_OFFSET,"+ // 18
"TFC_HOURS_LENGTH,"+ // 19
"TFC_MINUTES_OFFSET,"+ // 20
"TFC_MINUTES_LENGTH,"+ // 21
"TFC_SECONDS_OFFSET,"+ // 22
"TFC_SECONDS_LENGTH,"+ // 23
"TFC_DATA_OFFSET,"+ // 24
"TFC_DATA_LENGTH,"+ // 25
"TFC_EVENT_ID_OFFSET,"+ // 26
"TFC_EVENT_ID_LENGTH,"+ // 27
"TFC_ANNC_TYPE_OFFSET,"+ // 28
"TFC_ANNC_TYPE_LENGTH,"+ // 29
"MUS_IMPORT_TEMPLATE,"+ // 30
"MUS_PATH,"+ // 31
"MUS_WIN_PATH,"+ // 32
"MUS_CART_OFFSET,"+ // 33
"MUS_CART_LENGTH,"+ // 34
"MUS_START_OFFSET,"+ // 35
"MUS_START_LENGTH,"+ // 36
"MUS_LENGTH_OFFSET,"+ // 37
"MUS_LENGTH_LENGTH,"+ // 38
"MUS_HOURS_OFFSET,"+ // 39
"MUS_HOURS_LENGTH,"+ // 40
"MUS_MINUTES_OFFSET,"+ // 41
"MUS_MINUTES_LENGTH,"+ // 42
"MUS_SECONDS_OFFSET,"+ // 43
"MUS_SECONDS_LENGTH,"+ // 44
"MUS_DATA_OFFSET,"+ // 45
"MUS_DATA_LENGTH,"+ // 46
"MUS_EVENT_ID_OFFSET,"+ // 47
"MUS_EVENT_ID_LENGTH,"+ // 48
"MUS_ANNC_TYPE_OFFSET,"+ // 49
"MUS_ANNC_TYPE_LENGTH "+ // 50
"TFC_LENGTH_OFFSET,"+ // 14
"TFC_LENGTH_LENGTH,"+ // 15
"TFC_HOURS_OFFSET,"+ // 16
"TFC_HOURS_LENGTH,"+ // 17
"TFC_MINUTES_OFFSET,"+ // 18
"TFC_MINUTES_LENGTH,"+ // 19
"TFC_SECONDS_OFFSET,"+ // 20
"TFC_SECONDS_LENGTH,"+ // 21
"TFC_DATA_OFFSET,"+ // 22
"TFC_DATA_LENGTH,"+ // 23
"TFC_EVENT_ID_OFFSET,"+ // 24
"TFC_EVENT_ID_LENGTH,"+ // 25
"TFC_ANNC_TYPE_OFFSET,"+ // 26
"TFC_ANNC_TYPE_LENGTH,"+ // 27
"MUS_IMPORT_TEMPLATE,"+ // 28
"MUS_PATH,"+ // 29
"MUS_WIN_PATH,"+ // 30
"MUS_CART_OFFSET,"+ // 31
"MUS_CART_LENGTH,"+ // 32
"MUS_LENGTH_OFFSET,"+ // 33
"MUS_LENGTH_LENGTH,"+ // 34
"MUS_HOURS_OFFSET,"+ // 35
"MUS_HOURS_LENGTH,"+ // 36
"MUS_MINUTES_OFFSET,"+ // 37
"MUS_MINUTES_LENGTH,"+ // 38
"MUS_SECONDS_OFFSET,"+ // 39
"MUS_SECONDS_LENGTH,"+ // 40
"MUS_DATA_OFFSET,"+ // 41
"MUS_DATA_LENGTH,"+ // 42
"MUS_EVENT_ID_OFFSET,"+ // 43
"MUS_EVENT_ID_LENGTH,"+ // 44
"MUS_ANNC_TYPE_OFFSET,"+ // 46
"MUS_ANNC_TYPE_LENGTH "+ // 47
" from SERVICES where NAME=\""+RDEscapeString(exemplar)+"\"";
q=new RDSqlQuery(sql);
if(q->first()) {
@ -1210,43 +1206,39 @@ bool RDSvc::create(const QString &name,QString *err_msg,
"TFC_WIN_PATH=\""+RDEscapeString(q->value(11).toString())+"\","+
QString().sprintf("TFC_CART_OFFSET=%d,",q->value(12).toInt())+
QString().sprintf("TFC_CART_LENGTH=%d,",q->value(13).toInt())+
QString().sprintf("TFC_START_OFFSET=%d,",q->value(14).toInt())+
QString().sprintf("TFC_START_LENGTH=%d,",q->value(15).toInt())+
QString().sprintf("TFC_LENGTH_OFFSET=%d,",q->value(16).toInt())+
QString().sprintf("TFC_LENGTH_LENGTH=%d,",q->value(17).toInt())+
QString().sprintf("TFC_HOURS_OFFSET=%d,",q->value(18).toInt())+
QString().sprintf("TFC_HOURS_LENGTH=%d,",q->value(19).toInt())+
QString().sprintf("TFC_MINUTES_OFFSET=%d,",q->value(20).toInt())+
QString().sprintf("TFC_MINUTES_LENGTH=%d,",q->value(21).toInt())+
QString().sprintf("TFC_SECONDS_OFFSET=%d,",q->value(22).toInt())+
QString().sprintf("TFC_SECONDS_LENGTH=%d,",q->value(23).toInt())+
QString().sprintf("TFC_DATA_OFFSET=%d,",q->value(24).toInt())+
QString().sprintf("TFC_DATA_LENGTH=%d,",q->value(25).toInt())+
QString().sprintf("TFC_EVENT_ID_OFFSET=%d,",q->value(26).toInt())+
QString().sprintf("TFC_EVENT_ID_LENGTH=%d,",q->value(27).toInt())+
QString().sprintf("TFC_ANNC_TYPE_OFFSET=%d,",q->value(28).toInt())+
QString().sprintf("TFC_ANNC_TYPE_LENGTH=%d,",q->value(29).toInt())+
"MUS_IMPORT_TEMPLATE=\""+RDEscapeString(q->value(30).toString())+"\","+
"MUS_PATH=\""+RDEscapeString(q->value(31).toString())+"\","+
"MUS_WIN_PATH=\""+RDEscapeString(q->value(32).toString())+"\","+
QString().sprintf("MUS_CART_OFFSET=%d,",q->value(33).toInt())+
QString().sprintf("MUS_CART_LENGTH=%d,",q->value(34).toInt())+
QString().sprintf("MUS_START_OFFSET=%d,",q->value(35).toInt())+
QString().sprintf("MUS_START_LENGTH=%d,",q->value(36).toInt())+
QString().sprintf("MUS_LENGTH_OFFSET=%d,",q->value(37).toInt())+
QString().sprintf("MUS_LENGTH_LENGTH=%d,",q->value(38).toInt())+
QString().sprintf("MUS_HOURS_OFFSET=%d,",q->value(39).toInt())+
QString().sprintf("MUS_HOURS_LENGTH=%d,",q->value(40).toInt())+
QString().sprintf("MUS_MINUTES_OFFSET=%d,",q->value(41).toInt())+
QString().sprintf("MUS_MINUTES_LENGTH=%d,",q->value(42).toInt())+
QString().sprintf("MUS_SECONDS_OFFSET=%d,",q->value(43).toInt())+
QString().sprintf("MUS_SECONDS_LENGTH=%d,",q->value(44).toInt())+
QString().sprintf("MUS_DATA_OFFSET=%d,",q->value(45).toInt())+
QString().sprintf("MUS_DATA_LENGTH=%d,",q->value(46).toInt())+
QString().sprintf("MUS_EVENT_ID_OFFSET=%d,",q->value(47).toInt())+
QString().sprintf("MUS_EVENT_ID_LENGTH=%d,",q->value(48).toInt())+
QString().sprintf("MUS_ANNC_TYPE_OFFSET=%d,",q->value(49).toInt())+
QString().sprintf("MUS_ANNC_TYPE_LENGTH=%d,",q->value(50).toInt())+
QString().sprintf("TFC_LENGTH_OFFSET=%d,",q->value(14).toInt())+
QString().sprintf("TFC_LENGTH_LENGTH=%d,",q->value(15).toInt())+
QString().sprintf("TFC_HOURS_OFFSET=%d,",q->value(16).toInt())+
QString().sprintf("TFC_HOURS_LENGTH=%d,",q->value(17).toInt())+
QString().sprintf("TFC_MINUTES_OFFSET=%d,",q->value(18).toInt())+
QString().sprintf("TFC_MINUTES_LENGTH=%d,",q->value(19).toInt())+
QString().sprintf("TFC_SECONDS_OFFSET=%d,",q->value(20).toInt())+
QString().sprintf("TFC_SECONDS_LENGTH=%d,",q->value(21).toInt())+
QString().sprintf("TFC_DATA_OFFSET=%d,",q->value(22).toInt())+
QString().sprintf("TFC_DATA_LENGTH=%d,",q->value(23).toInt())+
QString().sprintf("TFC_EVENT_ID_OFFSET=%d,",q->value(24).toInt())+
QString().sprintf("TFC_EVENT_ID_LENGTH=%d,",q->value(25).toInt())+
QString().sprintf("TFC_ANNC_TYPE_OFFSET=%d,",q->value(26).toInt())+
QString().sprintf("TFC_ANNC_TYPE_LENGTH=%d,",q->value(27).toInt())+
"MUS_IMPORT_TEMPLATE=\""+RDEscapeString(q->value(28).toString())+"\","+
"MUS_PATH=\""+RDEscapeString(q->value(29).toString())+"\","+
"MUS_WIN_PATH=\""+RDEscapeString(q->value(30).toString())+"\","+
QString().sprintf("MUS_CART_OFFSET=%d,",q->value(31).toInt())+
QString().sprintf("MUS_CART_LENGTH=%d,",q->value(32).toInt())+
QString().sprintf("MUS_LENGTH_OFFSET=%d,",q->value(33).toInt())+
QString().sprintf("MUS_LENGTH_LENGTH=%d,",q->value(34).toInt())+
QString().sprintf("MUS_HOURS_OFFSET=%d,",q->value(35).toInt())+
QString().sprintf("MUS_HOURS_LENGTH=%d,",q->value(36).toInt())+
QString().sprintf("MUS_MINUTES_OFFSET=%d,",q->value(37).toInt())+
QString().sprintf("MUS_MINUTES_LENGTH=%d,",q->value(39).toInt())+
QString().sprintf("MUS_SECONDS_OFFSET=%d,",q->value(39).toInt())+
QString().sprintf("MUS_SECONDS_LENGTH=%d,",q->value(40).toInt())+
QString().sprintf("MUS_DATA_OFFSET=%d,",q->value(41).toInt())+
QString().sprintf("MUS_DATA_LENGTH=%d,",q->value(42).toInt())+
QString().sprintf("MUS_EVENT_ID_OFFSET=%d,",q->value(43).toInt())+
QString().sprintf("MUS_EVENT_ID_LENGTH=%d,",q->value(44).toInt())+
QString().sprintf("MUS_ANNC_TYPE_OFFSET=%d,",q->value(45).toInt())+
QString().sprintf("MUS_ANNC_TYPE_LENGTH=%d,",q->value(46).toInt())+
"NAME=\""+RDEscapeString(name)+"\"";
delete q;
q=new RDSqlQuery(sql);

View File

@ -849,6 +849,7 @@ bool CreateDb(QString name,QString pwd,RDConfig *config)
"ENDDATE_OFFSET int unsigned default 0,"+
"EVENTDATE_OFFSET int default 0,"+
"FORMAT int default 0,"+
"SAMPRATE int unsigned default 44100,"+
"CHANNELS int default 2,"+
"BITRATE int default 0,"+
"QUALITY int default 0,"+
@ -8466,10 +8467,6 @@ int UpdateDb(int ver,RDConfig *config)
q=new RDSqlQuery(sql,false);
delete q;
sql=QString("alter table RECORDINGS drop column SAMPRATE");
q=new RDSqlQuery(sql,false);
delete q;
sql=QString("alter table SERVICES drop column TFC_START_OFFSET");
q=new RDSqlQuery(sql,false);
delete q;

View File

@ -274,10 +274,13 @@ MainObject::MainObject(QObject *parent)
// Sound Initialization
//
RDSetMixerPorts(rda->config()->stationName(),rda->cae());
sql=QString().sprintf("select CHANNEL,CARD_NUMBER,PORT_NUMBER from DECKS \
where (STATION_NAME=\"%s\")&&\
(CARD_NUMBER!=-1)&&(CHANNEL>0)&&(CHANNEL<9)",
(const char *)rda->config()->stationName());
sql=QString("select ")+
"CHANNEL,"+ // 00
"CARD_NUMBER,"+ // 01
"PORT_NUMBER "+ // 02
"from DECKS where "+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
"(CARD_NUMBER!=-1)&&(CHANNEL>0)&&(CHANNEL<9)";
q=new RDSqlQuery(sql);
while(q->next()) {
if((q->value(1).toInt()>=0)&&(q->value(2).toInt()>=0)) {
@ -290,13 +293,15 @@ MainObject::MainObject(QObject *parent)
//
// Initialize Monitor Passthroughs
//
sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,\
MON_PORT_NUMBER,CHANNEL from DECKS\
where (STATION_NAME=\"%s\")&&(CHANNEL<=%d)&&\
(CARD_NUMBER>=0)&&(MON_PORT_NUMBER>=0)&&\
(DEFAULT_MONITOR_ON=\"Y\")",
(const char *)rda->config()->stationName(),
MAX_DECKS);
sql=QString("select ")+
"CARD_NUMBER,"+ // 00
"PORT_NUMBER,"+ // 01
"MON_PORT_NUMBER,"+ // 02
"CHANNEL from DECKS where "+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
QString().sprintf("(CHANNEL<=%d) &&",MAX_DECKS)+
"(CARD_NUMBER>=0)&&(MON_PORT_NUMBER>=0) && "+
"(DEFAULT_MONITOR_ON=\"Y\")";
q=new RDSqlQuery(sql);
while(q->next()) {
rda->cae()->setPassthroughVolume(q->value(0).toInt(),q->value(1).toInt(),
@ -373,23 +378,19 @@ MainObject::MainObject(QObject *parent)
//
// Mark Interrupted Events
//
sql=QString().sprintf("update RECORDINGS set EXIT_CODE=%d\
where ((EXIT_CODE=%d)||(EXIT_CODE=%d))||\
(EXIT_CODE=%d)&&(STATION_NAME=\"%s\")",
RDRecording::Interrupted,
RDRecording::Uploading,
RDRecording::Downloading,
RDRecording::RecordActive,
(const char *)rda->config()->stationName());
sql=QString("update RECORDINGS set ")+
QString().sprintf("EXIT_CODE=%d where ",RDRecording::Interrupted)+
QString().sprintf("((EXIT_CODE=%d)||",RDRecording::Uploading)+
QString().sprintf("(EXIT_CODE=%d))||",RDRecording::Downloading)+
QString().sprintf("(EXIT_CODE=%d)&&",RDRecording::RecordActive)+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")";
q=new RDSqlQuery(sql);
delete q;
sql=QString().sprintf("update RECORDINGS set EXIT_CODE=%d\
where ((EXIT_CODE=%d)||(EXIT_CODE=%d))&&\
(STATION_NAME=\"%s\")",
RDRecording::Ok,
RDRecording::Waiting,
RDRecording::PlayActive,
(const char *)rda->config()->stationName());
sql=QString("update RECORDINGS set ")+
QString().sprintf("EXIT_CODE=%d where ",RDRecording::Ok)+
QString().sprintf("((EXIT_CODE=%d)||",RDRecording::Waiting)+
QString().sprintf("(EXIT_CODE=%d))&&",RDRecording::PlayActive)+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")";
q=new RDSqlQuery(sql);
delete q;
@ -634,12 +635,16 @@ void MainObject::engineData(int id)
}
catch_record_card[catch_events[event].channel()-1]=-1;
catch_record_stream[catch_events[event].channel()-1]=-1;
sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,\
SWITCH_STATION,SWITCH_MATRIX,SWITCH_OUTPUT, \
SWITCH_DELAY from DECKS \
where (STATION_NAME=\"%s\")&&(CHANNEL=%d)",
(const char *)rda->config()->stationName(),
catch_events[event].channel());
sql=QString("select ")+
"CARD_NUMBER,"+ // 00
"PORT_NUMBER,"+ // 01
"SWITCH_STATION,"+ // 02
"SWITCH_MATRIX,"+ // 03
"SWITCH_OUTPUT,"+ // 04
"SWITCH_DELAY "+ // 05
"from DECKS where "+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
QString().sprintf("(CHANNEL=%d)",catch_events[event].channel());
q=new RDSqlQuery(sql);
if(q->first()) {
catch_record_card[catch_events[event].channel()-1]=
@ -719,10 +724,13 @@ void MainObject::engineData(int id)
}
catch_playout_card[catch_events[event].channel()-129]=-1;
catch_playout_stream[catch_events[event].channel()-129]=-1;
sql=QString().sprintf("select CARD_NUMBER,PORT_NUMBER,PORT_NUMBER \
from DECKS where (STATION_NAME=\"%s\")&&(CHANNEL=%d)",
(const char *)rda->config()->stationName(),
catch_events[event].channel());
sql=QString("select ")+
"CARD_NUMBER,"+ // 00
"PORT_NUMBER,"+ // 01
"PORT_NUMBER "+ // 02
"from DECKS where "+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
QString().sprintf("(CHANNEL=%d)",catch_events[event].channel());
q=new RDSqlQuery(sql);
if(q->first()) {
catch_playout_id[catch_events[event].channel()-129]=id;
@ -777,20 +785,22 @@ void MainObject::engineData(int id)
//
// Load Import Parameters
//
sql=QString().sprintf("select DEFAULT_FORMAT,DEFAULT_CHANNELS,\
DEFAULT_SAMPRATE,DEFAULT_LAYER,DEFAULT_BITRATE, \
RIPPER_LEVEL \
from RDLIBRARY where STATION=\"%s\"",
(const char *)rda->config()->stationName());
sql=QString("select ")+
"DEFAULT_FORMAT,"+ // 00
"DEFAULT_CHANNELS,"+ // 01
"DEFAULT_LAYER,"+ // 02
"DEFAULT_BITRATE,"+ // 03
"RIPPER_LEVEL "+ // 04
"from RDLIBRARY where "+
"STATION=\""+RDEscapeString(rda->config()->stationName())+"\"";
q=new RDSqlQuery(sql);
if(q->first())
{
catch_default_format=q->value(0).toInt();
catch_default_channels=q->value(1).toInt();
catch_default_samplerate=q->value(2).toInt();
catch_default_layer=q->value(3).toInt();
catch_default_bitrate=q->value(4).toInt();
catch_ripper_level=q->value(5).toInt();
catch_default_layer=q->value(2).toInt();
catch_default_bitrate=q->value(3).toInt();
catch_ripper_level=q->value(4).toInt();
}
else {
LogLine(RDConfig::LogWarning,
@ -1933,6 +1943,7 @@ QString MainObject::LoadEventSql()
"FORMAT," // 19
"CHANNELS,"+ // 20
"SAMPRATE,"+ // 21
"BITRATE,"+ // 22
"MACRO_CART,"+ // 23
"SWITCH_INPUT,"+ // 24
@ -2009,14 +2020,13 @@ void MainObject::LoadEvent(RDSqlQuery *q,CatchEvent *e,bool add)
}
e->setChannels(q->value(20).toInt());
e->setSampleRate(rda->system()->sampleRate());
//e->setSampleRate(q->value(21).toInt());
e->setBitrate(q->value(22).toInt());
e->setMacroCart(q->value(23).toInt());
e->setSwitchInput(q->value(24).toInt());
e->setSwitchOutput(q->value(25).toInt());
e->setStatus(RDDeck::Idle);
e->setOneShot(RDBool(q->value(26).toString()));
e->setStartType((RDRecording::StartType)q->value(27).toInt());
e->setStartType((RDRecording::StartType)q->value(26).toInt());
e->setStartLength(q->value(28).toInt());
e->setStartMatrix(q->value(29).toInt());
e->setStartLine(q->value(30).toInt());
@ -2064,11 +2074,14 @@ void MainObject::LoadDeckList()
for(int i=0;i<MAX_DECKS;i++) {
status[i]=RDDeck::Offline;
}
QString sql=QString().sprintf("select CHANNEL,CARD_NUMBER,PORT_NUMBER,\
MON_PORT_NUMBER from DECKS \
where (STATION_NAME=\"%s\")&&\
(CARD_NUMBER!=-1)&&(CHANNEL>0)&&(CHANNEL<9)",
(const char *)rda->config()->stationName());
QString sql=QString("select ")+
"CHANNEL,"+ // 00
"CARD_NUMBER,"+ // 01
"PORT_NUMBER,"+ // 02
"MON_PORT_NUMBER "+ // 03
"from DECKS where "+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
"(CARD_NUMBER!=-1)&&(CHANNEL>0)&&(CHANNEL<9)";
RDSqlQuery *q=new RDSqlQuery(sql);
while(q->next()) {
status[q->value(0).toUInt()-1]=RDDeck::Idle;
@ -2098,9 +2111,9 @@ void MainObject::LoadDeckList()
for(int i=0;i<MAX_DECKS;i++) {
status[i]=RDDeck::Offline;
}
sql=QString().sprintf("select CHANNEL from DECKS \
where (STATION_NAME=\"%s\")&&(CARD_NUMBER!=-1)&&(CHANNEL>128)&&(CHANNEL<137)",
(const char *)rda->config()->stationName());
sql=QString("select CHANNEL from DECKS where ")+
"(STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\")&&"+
"(CARD_NUMBER!=-1)&&(CHANNEL>128)&&(CHANNEL<137)";
q=new RDSqlQuery(sql);
while(q->next()) {
status[q->value(0).toUInt()-129]=RDDeck::Idle;

View File

@ -237,7 +237,6 @@ class MainObject : public QObject
unsigned catch_heartbeat_cart;
int catch_default_format;
int catch_default_samplerate;
int catch_default_channels;
int catch_default_layer;
int catch_default_bitrate;

View File

@ -224,12 +224,21 @@ void MainObject::LoadReplicators()
RDSqlQuery *q;
ReplConfig *config;
sql=QString().
sprintf("select NAME,TYPE_ID,FORMAT,CHANNELS,SAMPRATE,\
BITRATE,QUALITY,URL,URL_USERNAME,URL_PASSWORD,\
ENABLE_METADATA,NORMALIZATION_LEVEL from \
REPLICATORS where STATION_NAME=\"%s\"",
(const char *)RDEscapeString(rda->config()->stationName()));
sql=QString("select ")+
"NAME,"+ // 00
"TYPE_ID,"+ // 01
"FORMAT,"+ // 02
"CHANNELS,"+ // 03
"SAMPRATE,"+ // 04
"BITRATE,"+ // 05
"QUALITY,"+ // 06
"URL,"+ // 07
"URL_USERNAME,"+ // 08
"URL_PASSWORD,"+ // 09
"ENABLE_METADATA,"+ // 10
"NORMALIZATION_LEVEL "+ // 11
"from REPLICATORS where "+
"STATION_NAME=\""+RDEscapeString(rda->config()->stationName())+"\"";
q=new RDSqlQuery(sql);
while(q->next()) {
config=new ReplConfig();

View File

@ -1407,11 +1407,6 @@ void MainObject::Revert285() const
q=new RDSqlQuery(sql,false);
delete q;
sql=QString("alter table RECORDINGS add ")+
"column SAMPRATE int unsigned default 44100 after CHANNELS";
q=new RDSqlQuery(sql,false);
delete q;
sql=QString("alter table SERVICES add ")+
"column TFC_START_OFFSET int after TFC_TITLE_LENGTH";
q=new RDSqlQuery(sql,false);