mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-16 08:37:45 +02:00
2021-04-19 Fred Gleason <fredg@paravelsystems.com>
* Escaped all SQL identifiers in 'importers/'. * Replaced " with ' delimiters in all SQL literal strings in 'importers/'. Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
parent
536e7874dc
commit
a1ce33e344
@ -21479,3 +21479,7 @@
|
||||
* Fixed various regressions in rdadmin(1) that caused SQL errors.
|
||||
2021-04-19 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Fixed regression in 'RDSystem' that caused SQL errors.
|
||||
2021-04-19 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Escaped all SQL identifiers in 'importers/'.
|
||||
* Replaced " with ' delimiters in all SQL literal strings in
|
||||
'importers/'.
|
||||
|
@ -29,11 +29,6 @@
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <qapplication.h>
|
||||
#include <qfile.h>
|
||||
#include <qregexp.h>
|
||||
#include <qstringlist.h>
|
||||
|
||||
#include <rdapplication.h>
|
||||
#include <rd.h>
|
||||
#include <rdcart.h>
|
||||
@ -394,9 +389,9 @@ void MainObject::ProcessXmlFile(const QString &xml,const QString &wavname,
|
||||
cart=new RDCart(cartnum);
|
||||
cart->setMetadata(&data);
|
||||
delete cart;
|
||||
sql=QString("select CUT_NAME from CUTS where ")+
|
||||
QString().sprintf("CART_NUMBER=%d ",cartnum)+
|
||||
"order by ORIGIN_DATETIME desc";
|
||||
sql=QString("select `CUT_NAME` from `CUTS` where ")+
|
||||
QString().sprintf("`CART_NUMBER`=%d ",cartnum)+
|
||||
"order by `ORIGIN_DATETIME` desc";
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
cut=new RDCut(q->value(0).toString());
|
||||
|
@ -47,8 +47,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Read Command Options
|
||||
//
|
||||
RDCmdSwitch *cmd=
|
||||
new RDCmdSwitch("panel_copy",PANEL_COPY_USAGE);
|
||||
RDCmdSwitch *cmd=new RDCmdSwitch("panel_copy",PANEL_COPY_USAGE);
|
||||
delete cmd;
|
||||
|
||||
rd_config=new RDConfig(RD_CONF_FILE);
|
||||
@ -122,7 +121,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Check Database Versions
|
||||
//
|
||||
sql=QString("select DB from VERSION");
|
||||
sql=QString("select `DB` from `VERSION`");
|
||||
q=new QSqlQuery(sql,src_db);
|
||||
if(!q->first()) {
|
||||
fprintf(stderr,"panel_copy: unable to read source database version\n");
|
||||
@ -169,26 +168,26 @@ MainObject::MainObject(QObject *parent)
|
||||
// Copy Entries
|
||||
//
|
||||
sql=QString("select ")+
|
||||
"TYPE,"+ // 00
|
||||
"OWNER,"+ // 01
|
||||
"PANEL_NO,"+ // 02
|
||||
"ROW_NO,"+ // 03
|
||||
"COLUMN_NO,"+ // 04
|
||||
"LABEL,"+ // 05
|
||||
"CART,"+ // 06
|
||||
"DEFAULT_COLOR "+ // 07
|
||||
"from PANELS";
|
||||
"`TYPE`,"+ // 00
|
||||
"`OWNER`,"+ // 01
|
||||
"`PANEL_NO`,"+ // 02
|
||||
"`ROW_NO`,"+ // 03
|
||||
"`COLUMN_NO`,"+ // 04
|
||||
"`LABEL`,"+ // 05
|
||||
"`CART`,"+ // 06
|
||||
"`DEFAULT_COLOR` "+ // 07
|
||||
"from `PANELS`";
|
||||
q=new QSqlQuery(sql,src_db);
|
||||
while(q->next()) {
|
||||
sql=QString("insert into PANELS set ")+
|
||||
QString().sprintf("TYPE=%d,",q->value(0).toInt())+
|
||||
"OWNER=\""+RDEscapeString(q->value(1).toString())+"\","+
|
||||
QString().sprintf("PANEL_NO=%d,",q->value(2).toInt())+
|
||||
QString().sprintf("ROW_NO=%d,",q->value(3).toInt())+
|
||||
QString().sprintf("COLUMN_NO=%d,",q->value(4).toInt())+
|
||||
"LABEL=\""+RDEscapeString(q->value(5).toString())+"\","+
|
||||
QString().sprintf("CART=%d,",q->value(6).toInt())+
|
||||
"DEFAULT_COLOR=\""+RDEscapeString(q->value(7).toString())+"\"";
|
||||
sql=QString("insert into `PANELS` set ")+
|
||||
QString().sprintf("`TYPE`=%d,",q->value(0).toInt())+
|
||||
"`OWNER`='"+RDEscapeString(q->value(1).toString())+"',"+
|
||||
QString().sprintf("`PANEL_NO`=%d,",q->value(2).toInt())+
|
||||
QString().sprintf("`ROW_NO`=%d,",q->value(3).toInt())+
|
||||
QString().sprintf("`COLUMN_NO`=%d,",q->value(4).toInt())+
|
||||
"`LABEL`='"+RDEscapeString(q->value(5).toString())+"',"+
|
||||
QString().sprintf("`CART`=%d,",q->value(6).toInt())+
|
||||
"`DEFAULT_COLOR`='"+RDEscapeString(q->value(7).toString())+"'";
|
||||
q1=new QSqlQuery(sql,dest_db);
|
||||
delete q1;
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Check Database Versions
|
||||
//
|
||||
sql=QString("select DB from VERSION");
|
||||
sql=QString("select `DB` from `VERSION`");
|
||||
q=new QSqlQuery(sql,src_db);
|
||||
if(!q->first()) {
|
||||
fprintf(stderr,
|
||||
@ -182,8 +182,8 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Check Rivendell Hosts
|
||||
//
|
||||
sql=QString("select NAME from STATIONS where ")+
|
||||
"NAME=\""+RDEscapeString(src_station)+"\"";
|
||||
sql=QString("select `NAME` from `STATIONS` where ")+
|
||||
"NAME='"+RDEscapeString(src_station)+"'";
|
||||
q=new QSqlQuery(sql,src_db);
|
||||
if(!q->first()) {
|
||||
fprintf(stderr,
|
||||
@ -192,8 +192,8 @@ MainObject::MainObject(QObject *parent)
|
||||
}
|
||||
delete q;
|
||||
|
||||
sql=QString("select NAME from STATIONS where ")+
|
||||
"NAME=\""+RDEscapeString(dest_station)+"\"";
|
||||
sql=QString("select `NAME` from `STATIONS` where ")+
|
||||
"`NAME`='"+RDEscapeString(dest_station)+"'";
|
||||
q=new QSqlQuery(sql,dest_db);
|
||||
if(!q->first()) {
|
||||
fprintf(stderr,
|
||||
@ -217,8 +217,8 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Delete current destination entries
|
||||
//
|
||||
sql=QString("delete from RECORDINGS where ")+
|
||||
"STATION_NAME\""+RDEscapeString(dest_station)+"\"";
|
||||
sql=QString("delete from `RECORDINGS` where ")+
|
||||
"`STATION_NAME`='"+RDEscapeString(dest_station)+"'";
|
||||
q=new QSqlQuery(sql,dest_db);
|
||||
delete q;
|
||||
|
||||
@ -226,94 +226,94 @@ MainObject::MainObject(QObject *parent)
|
||||
// Copy Entries
|
||||
//
|
||||
sql=QString("select ")+
|
||||
"IS_ACTIVE,"+ // 00
|
||||
"TYPE,"+ // 01
|
||||
"CHANNEL,"+ // 02
|
||||
"CUT_NAME,"+ // 03
|
||||
"SUN,"+ // 04
|
||||
"MON,"+ // 05
|
||||
"TUE,"+ // 06
|
||||
"WED,"+ // 07
|
||||
"THU,"+ // 08
|
||||
"FRI,"+ // 09
|
||||
"SAT,"+ // 10
|
||||
"DESCRIPTION,"+ // 11
|
||||
"START_TYPE,"+ // 12
|
||||
"START_TIME,"+ // 13
|
||||
"START_LENGTH,"+ // 14
|
||||
"START_MATRIX,"+ // 15
|
||||
"START_LINE,"+ // 16
|
||||
"START_OFFSET,"+ // 17
|
||||
"END_TYPE,"+ // 18
|
||||
"END_TIME,"+ // 19
|
||||
"END_LENGTH,"+ // 20
|
||||
"END_MATRIX,"+ // 21
|
||||
"END_LINE,"+ // 22
|
||||
"LENGTH,"+ // 23
|
||||
"TRIM_THRESHOLD,"+ // 24
|
||||
"NORMALIZE_LEVEL,"+ // 25
|
||||
"STARTDATE_OFFSET,"+ // 26
|
||||
"ENDDATE_OFFSET,"+ // 27
|
||||
"FORMAT,"+ // 28
|
||||
"CHANNELS,"+ // 29
|
||||
"SAMPRATE,"+ // 30
|
||||
"BITRATE,"+ // 31
|
||||
"QUALITY,"+ // 32
|
||||
"MACRO_CART,"+ // 33
|
||||
"SWITCH_INPUT,"+ // 34
|
||||
"SWITCH_OUTPUT,"+ // 35
|
||||
"EXIT_CODE,"+ // 36
|
||||
"ONE_SHOT,"+ // 37
|
||||
"URL,"+ // 38
|
||||
"URL_USERNAME,"+ // 39
|
||||
"URL_PASSWORD "+ // 40
|
||||
"from RECORDINGS where "+
|
||||
"STATION_NAME=\""+RDEscapeString(src_station)+"\"";
|
||||
"`IS_ACTIVE`,"+ // 00
|
||||
"`TYPE`,"+ // 01
|
||||
"`CHANNEL`,"+ // 02
|
||||
"`CUT_NAME`,"+ // 03
|
||||
"`SUN`,"+ // 04
|
||||
"`MON`,"+ // 05
|
||||
"`TUE`,"+ // 06
|
||||
"`WED`,"+ // 07
|
||||
"`THU`,"+ // 08
|
||||
"`FRI`,"+ // 09
|
||||
"`SAT`,"+ // 10
|
||||
"`DESCRIPTION`,"+ // 11
|
||||
"`START_TYPE`,"+ // 12
|
||||
"`START_TIME`,"+ // 13
|
||||
"`START_LENGTH`,"+ // 14
|
||||
"`START_MATRIX`,"+ // 15
|
||||
"`START_LINE`,"+ // 16
|
||||
"`START_OFFSET`,"+ // 17
|
||||
"`END_TYPE`,"+ // 18
|
||||
"`END_TIME`,"+ // 19
|
||||
"`END_LENGTH`,"+ // 20
|
||||
"`END_MATRIX`,"+ // 21
|
||||
"`END_LINE`,"+ // 22
|
||||
"`LENGTH`,"+ // 23
|
||||
"`TRIM_THRESHOLD`,"+ // 24
|
||||
"`NORMALIZE_LEVEL`,"+ // 25
|
||||
"`STARTDATE_OFFSET`,"+ // 26
|
||||
"`ENDDATE_OFFSET`,"+ // 27
|
||||
"`FORMAT`,"+ // 28
|
||||
"`CHANNELS`,"+ // 29
|
||||
"`SAMPRATE`,"+ // 30
|
||||
"`BITRATE`,"+ // 31
|
||||
"`QUALITY`,"+ // 32
|
||||
"`MACRO_CART`,"+ // 33
|
||||
"`SWITCH_INPUT`,"+ // 34
|
||||
"`SWITCH_OUTPUT`,"+ // 35
|
||||
"`EXIT_CODE`,"+ // 36
|
||||
"`ONE_SHOT`,"+ // 37
|
||||
"`URL`,"+ // 38
|
||||
"`URL_USERNAME`,"+ // 39
|
||||
"`URL_PASSWORD` "+ // 40
|
||||
"from `RECORDINGS` where "+
|
||||
"`STATION_NAME`='"+RDEscapeString(src_station)+"'";
|
||||
q=new QSqlQuery(sql,src_db);
|
||||
while(q->next()) {
|
||||
sql=QString("insert into RECORDINGS set ")+
|
||||
":IS_ACTIVE=\""+RDEscapeString(q->value(0).toString())+"\","+
|
||||
QString().sprintf("TYPE=%d,",q->value(1).toInt())+
|
||||
QString().sprintf("CHANNEL=%u,",q->value(2).toUInt())+
|
||||
"CUT_NAME=\""+RDEscapeString(q->value(3).toString())+"\","+
|
||||
"SUN=\""+RDEscapeString(q->value(4).toString())+"\","+
|
||||
"MON=\""+RDEscapeString(q->value(5).toString())+"\","+
|
||||
"TUE=\""+RDEscapeString(q->value(6).toString())+"\","+
|
||||
"WED=\""+RDEscapeString(q->value(7).toString())+"\","+
|
||||
"THU=\""+RDEscapeString(q->value(8).toString())+"\","+
|
||||
"FRI=\""+RDEscapeString(q->value(9).toString())+"\","+
|
||||
"SAT=\""+RDEscapeString(q->value(10).toString())+"\","+
|
||||
"DESCRIPTION=\""+RDEscapeString(q->value(11).toString())+"\","+
|
||||
QString().sprintf("START_TYPE=%d,",q->value(12).toInt())+
|
||||
"START_TIME=\""+RDEscapeString(q->value(13).toString())+"\","+
|
||||
QString().sprintf("START_LENGTH=%d,",q->value(14).toInt())+
|
||||
QString().sprintf("START_MATRIX=%d,",q->value(15).toInt())+
|
||||
QString().sprintf("START_LINE=%d,",q->value(16).toInt())+
|
||||
QString().sprintf("START_OFFSET=%d,",q->value(17).toInt())+
|
||||
QString().sprintf("END_TYPE=%d,",q->value(18).toInt())+
|
||||
"END_TIME=\""+RDEscapeString(q->value(19).toString())+"\","+
|
||||
QString().sprintf("END_LENGTH=%d,",q->value(20).toInt())+
|
||||
QString().sprintf("END_MATRIX=%d,",q->value(21).toInt())+
|
||||
QString().sprintf("END_LINE=%d,",q->value(22).toInt())+
|
||||
QString().sprintf("LENGTH=%u,",q->value(23).toUInt())+
|
||||
QString().sprintf("TRIM_THRESHOLD=%d,",q->value(24).toInt())+
|
||||
QString().sprintf("NORMALIZE_LEVEL=%d,",q->value(25).toInt())+
|
||||
QString().sprintf("STARTDATE_OFFSET=%u,",q->value(26).toUInt())+
|
||||
QString().sprintf("ENDDATE_OFFSET=%u,",q->value(27).toUInt())+
|
||||
QString().sprintf("FORMAT=%d,",q->value(28).toInt())+
|
||||
QString().sprintf("CHANNELS=%d,",q->value(29).toInt())+
|
||||
QString().sprintf("SAMPRATE=%d,",q->value(30).toInt())+
|
||||
QString().sprintf("BITRATE=%d,",q->value(31).toInt())+
|
||||
QString().sprintf("QUALITY=%d,",q->value(32).toInt())+
|
||||
QString().sprintf("MACRO_CART=%d,",q->value(33).toInt())+
|
||||
QString().sprintf("SWITCH_INPUT=%d,",q->value(34).toInt())+
|
||||
QString().sprintf("SWITCH_OUTPUT=%d,",q->value(35).toInt())+
|
||||
QString().sprintf("EXIT_CODE=%d,",q->value(36).toInt())+
|
||||
"ONE_SHOT=\""+RDEscapeString(q->value(37).toString())+"\","+
|
||||
"URL=\""+RDEscapeString(q->value(38).toString())+"\","+
|
||||
"URL_USERNAME=\""+RDEscapeString(q->value(39).toString())+"\","+
|
||||
"URL_PASSWORD=\""+RDEscapeString(q->value(40).toString())+"\","+
|
||||
"STATION_NAME=\""+RDEscapeString(dest_station)+"\"";
|
||||
sql=QString("insert into `RECORDINGS` set ")+
|
||||
"`IS_ACTIVE`='"+RDEscapeString(q->value(0).toString())+"',"+
|
||||
QString().sprintf("`TYPE`=%d,",q->value(1).toInt())+
|
||||
QString().sprintf("`CHANNEL`=%u,",q->value(2).toUInt())+
|
||||
"`CUT_NAME`='"+RDEscapeString(q->value(3).toString())+"',"+
|
||||
"`SUN`='"+RDEscapeString(q->value(4).toString())+"',"+
|
||||
"`MON`='"+RDEscapeString(q->value(5).toString())+"',"+
|
||||
"`TUE`='"+RDEscapeString(q->value(6).toString())+"',"+
|
||||
"`WED`='"+RDEscapeString(q->value(7).toString())+"',"+
|
||||
"`THU`='"+RDEscapeString(q->value(8).toString())+"',"+
|
||||
"`FRI`='"+RDEscapeString(q->value(9).toString())+"',"+
|
||||
"`SAT`='"+RDEscapeString(q->value(10).toString())+"',"+
|
||||
"`DESCRIPTION`='"+RDEscapeString(q->value(11).toString())+"',"+
|
||||
QString().sprintf("`START_TYPE`=%d,",q->value(12).toInt())+
|
||||
"`START_TIME`='"+RDEscapeString(q->value(13).toString())+"',"+
|
||||
QString().sprintf("`START_LENGTH`=%d,",q->value(14).toInt())+
|
||||
QString().sprintf("`START_MATRIX`=%d,",q->value(15).toInt())+
|
||||
QString().sprintf("`START_LINE`=%d,",q->value(16).toInt())+
|
||||
QString().sprintf("`START_OFFSET`=%d,",q->value(17).toInt())+
|
||||
QString().sprintf("`END_TYPE`=%d,",q->value(18).toInt())+
|
||||
"`END_TIME`='"+RDEscapeString(q->value(19).toString())+"',"+
|
||||
QString().sprintf("`END_LENGTH`=%d,",q->value(20).toInt())+
|
||||
QString().sprintf("`END_MATRIX`=%d,",q->value(21).toInt())+
|
||||
QString().sprintf("`END_LINE`=%d,",q->value(22).toInt())+
|
||||
QString().sprintf("`LENGTH`=%u,",q->value(23).toUInt())+
|
||||
QString().sprintf("`TRIM_THRESHOLD`=%d,",q->value(24).toInt())+
|
||||
QString().sprintf("`NORMALIZE_LEVEL`=%d,",q->value(25).toInt())+
|
||||
QString().sprintf("`STARTDATE_OFFSET`=%u,",q->value(26).toUInt())+
|
||||
QString().sprintf("`ENDDATE_OFFSET`=%u,",q->value(27).toUInt())+
|
||||
QString().sprintf("`FORMAT`=%d,",q->value(28).toInt())+
|
||||
QString().sprintf("`CHANNELS`=%d,",q->value(29).toInt())+
|
||||
QString().sprintf("`SAMPRATE`=%d,",q->value(30).toInt())+
|
||||
QString().sprintf("`BITRATE`=%d,",q->value(31).toInt())+
|
||||
QString().sprintf("`QUALITY`=%d,",q->value(32).toInt())+
|
||||
QString().sprintf("`MACRO_CART`=%d,",q->value(33).toInt())+
|
||||
QString().sprintf("`SWITCH_INPUT`=%d,",q->value(34).toInt())+
|
||||
QString().sprintf("`SWITCH_OUTPUT`=%d,",q->value(35).toInt())+
|
||||
QString().sprintf("`EXIT_CODE`=%d,",q->value(36).toInt())+
|
||||
"`ONE_SHOT`='"+RDEscapeString(q->value(37).toString())+"',"+
|
||||
"`URL`='"+RDEscapeString(q->value(38).toString())+"',"+
|
||||
"`URL_USERNAME`='"+RDEscapeString(q->value(39).toString())+"',"+
|
||||
"`URL_PASSWORD`='"+RDEscapeString(q->value(40).toString())+"',"+
|
||||
"`STATION_NAME`='"+RDEscapeString(dest_station)+"'";
|
||||
q1=new QSqlQuery(sql,dest_db);
|
||||
delete q1;
|
||||
}
|
||||
|
@ -188,9 +188,9 @@ MainObject::MainObject(QObject *parent)
|
||||
// Verify that default group exists
|
||||
//
|
||||
sql=QString("select ")+
|
||||
"NAME "+
|
||||
"from GROUPS where "+
|
||||
"NAME=\""+RDEscapeString(default_group)+"\"";
|
||||
"`NAME` "+
|
||||
"from `GROUPS` where "+
|
||||
"`NAME`='"+RDEscapeString(default_group)+"'";
|
||||
q=new QSqlQuery(sql,filter_db);
|
||||
if(!q->next()) {
|
||||
fprintf(stderr,"rivendell_filter: default group does not exist\n");
|
||||
@ -202,37 +202,37 @@ MainObject::MainObject(QObject *parent)
|
||||
// Transfer Loop
|
||||
//
|
||||
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);
|
||||
"`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(),
|
||||
@ -242,8 +242,8 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Validate Group
|
||||
//
|
||||
sql=QString("select NAME from GROUPS where ")+
|
||||
"NAME=\""+RDEscapeString(q->value(2).toString())+"\"";
|
||||
sql=QString("select `NAME` from `GROUPS` where ")+
|
||||
"`NAME`='"+RDEscapeString(q->value(2).toString())+"'";
|
||||
q1=new QSqlQuery(sql,filter_db);
|
||||
if(q1->first()) {
|
||||
group=q->value(2).toString();
|
||||
@ -256,18 +256,18 @@ MainObject::MainObject(QObject *parent)
|
||||
//
|
||||
// Purge old entries
|
||||
//
|
||||
sql=QString().sprintf("select CUT_NAME from CUTS where CART_NUMBER=%u",
|
||||
sql=QString().sprintf("select `CUT_NAME` from `CUTS` where `CART_NUMBER`=%u",
|
||||
q->value(0).toUInt());
|
||||
q1=new QSqlQuery(sql,filter_db);
|
||||
while(q1->next()) {
|
||||
unlink(RDCut::pathName(q1->value(0).toString()).toUtf8());
|
||||
}
|
||||
delete q1;
|
||||
sql=QString().sprintf("delete from CUTS where CART_NUMBER=%u",
|
||||
sql=QString().sprintf("delete from `CUTS` where `CART_NUMBER`=%u",
|
||||
q->value(0).toUInt());
|
||||
q1=new QSqlQuery(sql,filter_db);
|
||||
delete q1;
|
||||
sql=QString().sprintf("delete from CART where NUMBER=%u",
|
||||
sql=QString().sprintf("delete from `CART` where `NUMBER`=%u",
|
||||
q->value(0).toUInt());
|
||||
q1=new QSqlQuery(sql,filter_db);
|
||||
delete q1;
|
||||
@ -279,79 +279,79 @@ MainObject::MainObject(QObject *parent)
|
||||
owner="null";
|
||||
}
|
||||
else {
|
||||
owner=QString("\"")+RDEscapeString(q->value(26).toString())+"\"";
|
||||
owner=QString("'")+RDEscapeString(q->value(26).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())+"\"";
|
||||
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("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());
|
||||
"`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()) {
|
||||
@ -380,45 +380,45 @@ MainObject::MainObject(QObject *parent)
|
||||
else {
|
||||
end_daypart=RDCheckDateTime(q1->value(17).toTime(),"hh:mm:ss");
|
||||
}
|
||||
sql=QString("insert into CUTS set ")+
|
||||
"CUT_NAME=\""+RDEscapeString(q1->value(0).toString())+"\","+
|
||||
QString().sprintf("CART_NUMBER=%u,",q->value(0).toUInt())+
|
||||
"EVERGREEN=\""+RDEscapeString(q1->value(1).toString())+"\","+
|
||||
"DESCRIPTION=\""+RDEscapeString(q1->value(2).toString())+"\","+
|
||||
"OUTCUE=\""+RDEscapeString(q1->value(3).toString())+"\","+
|
||||
"ISRC=\""+RDEscapeString(q1->value(4).toString())+"\","+
|
||||
QString().sprintf("LENGTH=%u,",q1->value(5).toUInt())+
|
||||
"ORIGIN_DATETIME=\""+RDEscapeString(q1->value(6).toString())+"\","+
|
||||
"START_DATETIME="+start_datetime+","+
|
||||
"END_DATETIME="+end_datetime+","+
|
||||
"SUN=\""+RDEscapeString(q1->value(9).toString())+"\","+
|
||||
"MON=\""+RDEscapeString(q1->value(10).toString())+"\","+
|
||||
"TUE=\""+RDEscapeString(q1->value(11).toString())+"\","+
|
||||
"WED=\""+RDEscapeString(q1->value(12).toString())+"\","+
|
||||
"THU=\""+RDEscapeString(q1->value(13).toString())+"\","+
|
||||
"FRI=\""+RDEscapeString(q1->value(14).toString())+"\","+
|
||||
"SAT=\""+RDEscapeString(q1->value(15).toString())+"\","+
|
||||
"START_DAYPART="+start_daypart+","+
|
||||
"END_DAYPART="+end_daypart+","+
|
||||
"ORIGIN_NAME=\""+RDEscapeString(q1->value(18).toString())+"\","+
|
||||
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",q1->value(36).toInt());
|
||||
sql=QString("insert into `CUTS` set ")+
|
||||
"`CUT_NAME`='"+RDEscapeString(q1->value(0).toString())+"',"+
|
||||
QString().sprintf("`CART_NUMBER`=%u,",q->value(0).toUInt())+
|
||||
"`EVERGREEN`='"+RDEscapeString(q1->value(1).toString())+"',"+
|
||||
"`DESCRIPTION`='"+RDEscapeString(q1->value(2).toString())+"',"+
|
||||
"`OUTCUE`='"+RDEscapeString(q1->value(3).toString())+"',"+
|
||||
"`ISRC`='"+RDEscapeString(q1->value(4).toString())+"',"+
|
||||
QString().sprintf("`LENGTH`=%u,",q1->value(5).toUInt())+
|
||||
"`ORIGIN_DATETIME`='"+RDEscapeString(q1->value(6).toString())+"',"+
|
||||
"`START_DATETIME`="+start_datetime+","+
|
||||
"`END_DATETIME`="+end_datetime+","+
|
||||
"`SUN`='"+RDEscapeString(q1->value(9).toString())+"',"+
|
||||
"`MON`='"+RDEscapeString(q1->value(10).toString())+"',"+
|
||||
"`TUE`='"+RDEscapeString(q1->value(11).toString())+"',"+
|
||||
"`WED`='"+RDEscapeString(q1->value(12).toString())+"',"+
|
||||
"`THU`='"+RDEscapeString(q1->value(13).toString())+"',"+
|
||||
"`FRI`='"+RDEscapeString(q1->value(14).toString())+"',"+
|
||||
"`SAT`='"+RDEscapeString(q1->value(15).toString())+"',"+
|
||||
"`START_DAYPART`="+start_daypart+","+
|
||||
"`END_DAYPART`="+end_daypart+","+
|
||||
"`ORIGIN_NAME`='"+RDEscapeString(q1->value(18).toString())+"',"+
|
||||
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",q1->value(36).toInt());
|
||||
q2=new QSqlQuery(sql,filter_db);
|
||||
delete q2;
|
||||
ok=RDCopy(ext_audiodir+q1->value(0).toString()+"."+RD_AUDIO_EXTENSION,
|
||||
|
@ -128,53 +128,53 @@ void MainObject::InjectLine(char *line)
|
||||
//
|
||||
// Initialize the SQL clause
|
||||
//
|
||||
QString base_sql=QString("insert into RECORDINGS set ")+
|
||||
"STATION_NAME=\""+RDEscapeString(rda->config()->sasStation())+"\","+
|
||||
QString().sprintf("CHANNEL=%d,",rda->config()->sasMatrix());
|
||||
QString base_sql=QString("insert into `RECORDINGS` set ")+
|
||||
"`STATION_NAME`='"+RDEscapeString(rda->config()->sasStation())+"',"+
|
||||
QString().sprintf("`CHANNEL`=%d,",rda->config()->sasMatrix());
|
||||
|
||||
//
|
||||
// Day of the week fields
|
||||
//
|
||||
if(line[0]=='X') {
|
||||
base_sql+="MON=\"Y\",";
|
||||
base_sql+="`MON`='Y',";
|
||||
}
|
||||
if(line[1]=='X') {
|
||||
base_sql+="TUE=\"Y\",";
|
||||
base_sql+="`TUE`='Y',";
|
||||
}
|
||||
if(line[2]=='X') {
|
||||
base_sql+="WED=\"Y\",";
|
||||
base_sql+="`WED`='Y',";
|
||||
}
|
||||
if(line[3]=='X') {
|
||||
base_sql+="THU=\"Y\",";
|
||||
base_sql+="`THU`='Y',";
|
||||
}
|
||||
if(line[4]=='X') {
|
||||
base_sql+="FRI=\"Y\",";
|
||||
base_sql+="`FRI`='Y',";
|
||||
}
|
||||
if(line[5]=='X') {
|
||||
base_sql+="SAT=\"Y\",";
|
||||
base_sql+="`SAT`='Y',";
|
||||
}
|
||||
if(line[6]=='X') {
|
||||
base_sql+="SUN=\"Y\",";
|
||||
base_sql+="`SUN`='Y',";
|
||||
}
|
||||
|
||||
//
|
||||
// Time
|
||||
//
|
||||
line[17]=0;
|
||||
base_sql+=QString().sprintf("START_TIME=\"%s\",",line+9);
|
||||
base_sql+=QString().sprintf("`START_TIME`='%s',",line+9);
|
||||
|
||||
//
|
||||
// Title
|
||||
//
|
||||
line[60]=0;
|
||||
temp=QString(line+19).trimmed();
|
||||
base_sql+=QString("DESCRIPTION=\"")+RDEscapeString(temp)+"\",";
|
||||
base_sql+=QString("`DESCRIPTION`='")+RDEscapeString(temp)+"',";
|
||||
|
||||
//
|
||||
// Active Flag
|
||||
//
|
||||
if(line[77]=='I') {
|
||||
base_sql+="IS_ACTIVE=\"N\",";
|
||||
base_sql+="`IS_ACTIVE`='N',";
|
||||
}
|
||||
|
||||
//
|
||||
@ -214,9 +214,8 @@ void MainObject::InjectSwitchEvent(QString sql,int input,int output)
|
||||
//
|
||||
// Input and Output
|
||||
//
|
||||
sql+=QString().sprintf("SWITCH_INPUT=%d,SWITCH_OUTPUT=%d",input,output);
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
sql+=QString().sprintf("`SWITCH_INPUT`=%d,`SWITCH_OUTPUT`=%d",input,output);
|
||||
RDSqlQuery::apply(sql);
|
||||
filter_switch_count++;
|
||||
}
|
||||
|
||||
@ -226,12 +225,12 @@ void MainObject::InjectCartEvent(QString sql,int gpo)
|
||||
//
|
||||
// Event Type
|
||||
//
|
||||
sql+="TYPE=1,";
|
||||
sql+="`TYPE`=1,";
|
||||
|
||||
//
|
||||
// Macro Cart
|
||||
//
|
||||
sql+=QString().sprintf("MACRO_CART=%d",gpo+rda->config()->sasBaseCart());
|
||||
sql+=QString().sprintf("`MACRO_CART`=%d",gpo+rda->config()->sasBaseCart());
|
||||
filter_macro_count++;
|
||||
RDSqlQuery *q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
@ -203,33 +203,33 @@ bool MainObject::ImportCut(RDGroup *group,struct WingsRecord *rec,
|
||||
printf("Importing %s - %s to cart %u, group %s\n",
|
||||
rec->filename,rec->title,cartnum,group->name().toUtf8().constData());
|
||||
|
||||
sql=QString("insert into CART set ")+
|
||||
QString().sprintf("NUMBER=%u,",cartnum)+
|
||||
"GROUP_NAME=\""+RDEscapeString(group->name())+"\","+
|
||||
"TITLE=\""+RDEscapeString(rec->title)+"\","+
|
||||
"ARTIST=\""+RDEscapeString(rec->artist)+"\","+
|
||||
"ALBUM=\""+RDEscapeString(rec->album)+"\","+
|
||||
"CUT_QUANTITY=1,"+
|
||||
QString().sprintf("TYPE=%d,",RDCart::Audio)+
|
||||
QString().sprintf("FORCED_LENGTH=%u,",wavefile->getExtTimeLength())+
|
||||
QString().sprintf("AVERAGE_LENGTH=%u,",wavefile->getExtTimeLength())+
|
||||
"USER_DEFINED=\""+RDEscapeString(rec->filename)+"."+
|
||||
RDEscapeString(rec->extension)+"\"";
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
sql=QString("insert into `CART` set ")+
|
||||
QString().sprintf("`NUMBER`=%u,",cartnum)+
|
||||
"`GROUP_NAME`='"+RDEscapeString(group->name())+"',"+
|
||||
"`TITLE`='"+RDEscapeString(rec->title)+"',"+
|
||||
"`ARTIST`='"+RDEscapeString(rec->artist)+"',"+
|
||||
"`ALBUM`='"+RDEscapeString(rec->album)+"',"+
|
||||
"`CUT_QUANTITY`=1,"+
|
||||
QString().sprintf("`TYPE`=%d,",RDCart::Audio)+
|
||||
QString().sprintf("`FORCED_LENGTH`=%u,",wavefile->getExtTimeLength())+
|
||||
QString().sprintf("`AVERAGE_LENGTH`=%u,",wavefile->getExtTimeLength())+
|
||||
"`USER_DEFINED`='"+RDEscapeString(rec->filename)+"."+
|
||||
RDEscapeString(rec->extension)+"'";
|
||||
RDSqlQuery::apply(sql);
|
||||
|
||||
RDCut::create(cartnum,1);
|
||||
sql=QString("update CUTS set ")+
|
||||
"DESCRIPTION=\""+RDEscapeString(rec->title)+"\","+
|
||||
"ORIGIN_DATETIME=now(),"+
|
||||
"ORIGIN_NAME=\""+RDEscapeString(rda->config()->stationName())+"\","+
|
||||
QString().sprintf("CODING_FORMAT=%d,",format)+
|
||||
QString().sprintf("SAMPLE_RATE=%u,",wavefile->getSamplesPerSec())+
|
||||
QString().sprintf("CHANNELS=%d,",wavefile->getChannels())+
|
||||
QString().sprintf("BIT_RATE=%d,",wavefile->getHeadBitRate())+
|
||||
QString().sprintf("LENGTH=%u,",wavefile->getExtTimeLength())+
|
||||
"START_POINT=0,"+
|
||||
QString().sprintf("END_POINT=%d where ",wavefile->getExtTimeLength())+
|
||||
"CUT_NAME=\""+RDCut::cutName(cartnum,1)+"\"";
|
||||
sql=QString("update `CUTS` set ")+
|
||||
"`DESCRIPTION`='"+RDEscapeString(rec->title)+"',"+
|
||||
"`ORIGIN_DATETIME`=now(),"+
|
||||
"`ORIGIN_NAME`='"+RDEscapeString(rda->config()->stationName())+"',"+
|
||||
QString().sprintf("`CODING_FORMAT`=%d,",format)+
|
||||
QString().sprintf("`SAMPLE_RATE`=%u,",wavefile->getSamplesPerSec())+
|
||||
QString().sprintf("`CHANNELS`=%d,",wavefile->getChannels())+
|
||||
QString().sprintf("`BIT_RATE`=%d,",wavefile->getHeadBitRate())+
|
||||
QString().sprintf("`LENGTH`=%u,",wavefile->getExtTimeLength())+
|
||||
"`START_POINT`=0,"+
|
||||
QString().sprintf("`END_POINT`=%d where ",wavefile->getExtTimeLength())+
|
||||
"`CUT_NAME`='"+RDCut::cutName(cartnum,1)+"'";
|
||||
q=new RDSqlQuery(sql);
|
||||
delete q;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user