mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-13 23:27:45 +02:00
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:
parent
37ad8d7094
commit
32b3d1775c
10
ChangeLog
10
ChangeLog
@ -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).
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
//
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
140
lib/rdsvc.cpp
140
lib/rdsvc.cpp
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user