void Xport::AddCut() { RDCart *cart; RDCut *cut; int cart_number; int cut_number; // // Verify Post // if(!xport_post->getValue("CART_NUMBER",&cart_number)) { XmlExit("Missing CART_NUMBER",400); } // // Verify User Perms // if(!rda->user()->cartAuthorized(cart_number)) { XmlExit("No such cart",404); } if(!rda->user()->editAudio()) { XmlExit("Unauthorized",401); } // // Process Request // cart=new RDCart(cart_number); if(!cart->exists()) { delete cart; XmlExit("No such cart",404); } if((cut_number=cart->addCut(0,0,2))<0) { delete cart; XmlExit("No new cuts available",500); } printf("Content-type: application/xml\n"); printf("Status: 200\n\n"); printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); printf("<cutAdd>\n"); cut=new RDCut(cart_number,cut_number); if(cut->exists()) { printf("%s",(const char *)cut->xml(true)); } delete cut; delete cart; printf("</cutAdd>\n"); Exit(0); }
void Xport::RemoveCut() { RDCart *cart; int cart_number; int cut_number; // // Verify Post // if(!xport_post->getValue("CART_NUMBER",&cart_number)) { XmlExit("Missing CART_NUMBER",400); } if(!xport_post->getValue("CUT_NUMBER",&cut_number)) { XmlExit("Missing CUT_NUMBER",400); } // // Verify User Perms // if(!xport_user->cartAuthorized(cart_number)) { XmlExit("No such cart",404); } if(!xport_user->editAudio()) { XmlExit("Unauthorized",401); } // // Process Request // cart=new RDCart(cart_number); if(!cart->exists()) { delete cart; XmlExit("No such cart",404); } if(!cart->removeCut(NULL,NULL,RDCut::cutName(cart_number,cut_number), xport_config)) { delete cart; XmlExit("No such cut",404); } delete cart; XmlExit("OK",200); }
void Xport::RemoveCart() { RDCart *cart; int cart_number; // // Verify Post // if(!xport_post->getValue("CART_NUMBER",&cart_number)) { XmlExit("Missing CART_NUMBER",400); } // // Verify User Perms // if(!rda->user()->cartAuthorized(cart_number)) { XmlExit("No such cart",404); } if(!rda->user()->deleteCarts()) { XmlExit("Unauthorized",401); } // // Process Request // cart=new RDCart(cart_number); if(!cart->exists()) { delete cart; XmlExit("No such cart",404); } if(!cart->remove(true)) { delete cart; XmlExit("Unable to delete cart",500); } delete cart; XmlExit("OK",200); }
RDLogLine::State RDLogLine::setEvent(int mach,RDLogLine::TransType next_type, bool timescale,int len) { RDCart *cart; RDMacroEvent *rml_event; QString sql; RDSqlQuery *q; double time_ratio=1.0; switch(log_type) { case RDLogLine::Cart: cart=new RDCart(log_cart_number); if(!cart->exists()) { delete cart; #ifndef WIN32 syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no such cart, CART=%06u",log_cart_number); #endif // WIN32 log_state=RDLogLine::NoCart; return RDLogLine::NoCart; } cart->selectCut(&log_cut_name); if(log_cut_name.isEmpty()) { delete cart; #ifndef WIN32 // syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): RDCut::selectCut() failed, CART=%06u",log_cart_number); #endif // WIN32 log_state=RDLogLine::NoCut; return RDLogLine::NoCut; } log_cut_number=log_cut_name.right(3).toInt(); sql=QString().sprintf("select LENGTH,START_POINT,END_POINT,\ SEGUE_START_POINT,SEGUE_END_POINT,\ SEGUE_GAIN,\ TALK_START_POINT,TALK_END_POINT,\ HOOK_START_POINT,HOOK_END_POINT,\ OUTCUE,ISRC,ISCI,DESCRIPTION from CUTS\ where CUT_NAME=\"%s\"", (const char *)log_cut_name); q=new RDSqlQuery(sql); if(!q->first()) { delete q; delete cart; #ifndef WIN32 syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): no cut record found, SQL=%s",(const char *)sql); #endif // WIN32 log_state=RDLogLine::NoCut; return RDLogLine::NoCut; } if(q->value(0).toInt()==0) { delete q; delete cart; #ifndef WIN32 syslog(LOG_USER|LOG_WARNING,"RDLogLine::setEvent(): zero length cut audio, SQL=%s",(const char *)sql); #endif // WIN32 log_state=RDLogLine::NoCut; return RDLogLine::NoCut; } if(timescale) { if(len>0) { log_effective_length=len; log_forced_length=len; } else { if(log_hook_mode&& (q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) { log_effective_length=q->value(9).toInt()-q->value(8).toInt(); log_forced_length=log_effective_length; time_ratio=1.0; timescale=false; } else { log_effective_length=cart->forcedLength(); time_ratio=(double)log_forced_length/ (q->value(2).toDouble()-q->value(1).toDouble()); if(((1.0/time_ratio)<RD_TIMESCALE_MIN)|| ((1.0/time_ratio)>RD_TIMESCALE_MAX)) { timescale=false; } } } } if(timescale) { log_start_point[0]=(int)(q->value(1).toDouble()*time_ratio); log_end_point[0]=(int)(q->value(2).toDouble()*time_ratio); if(q->value(3).toInt()>=0) { log_segue_start_point[0]=(int)(q->value(3).toDouble()*time_ratio); log_segue_end_point[0]=(int)(q->value(4).toDouble()*time_ratio); } else { log_segue_start_point[0]=-1; log_segue_end_point[0]=-1; } if(log_talk_start>=0) { log_talk_start=(int)((double)log_talk_start*time_ratio); log_talk_end=(int)(q->value(7).toDouble()*time_ratio); } else { log_talk_start=-1; log_talk_end=-1; } log_talk_length=log_talk_end-log_talk_start; } else { if(log_hook_mode&& (q->value(8).toInt()>=0)&&(q->value(9).toInt()>=0)) { log_start_point[0]=q->value(8).toInt(); log_end_point[0]=q->value(9).toInt(); log_segue_start_point[0]=-1; log_segue_end_point[0]=-1; log_talk_start=-1; log_talk_end=-1; } else { log_start_point[0]=q->value(1).toInt(); log_end_point[0]=q->value(2).toInt(); if(log_start_point[RDLogLine::LogPointer]>=0 || log_end_point[RDLogLine::LogPointer]>=0) { log_effective_length=log_end_point[RDLogLine::LogPointer]- log_start_point[RDLogLine::LogPointer]; } else { log_effective_length=q->value(0).toUInt(); } log_segue_start_point[0]=q->value(3).toInt(); log_segue_end_point[0]=q->value(4).toInt(); log_talk_start=q->value(6).toInt(); log_talk_end=q->value(7).toInt(); } log_hook_start=q->value(8).toInt(); log_hook_end=q->value(9).toInt(); if(log_talk_end>log_end_point[RDLogLine::LogPointer] && log_end_point[RDLogLine::LogPointer]>=0) { log_talk_end=log_end_point[RDLogLine::LogPointer]; } if(log_talk_end<log_start_point[RDLogLine::LogPointer]) { log_talk_end=0; log_talk_start=0; } else { if(log_talk_start<log_start_point[RDLogLine::LogPointer]) { log_talk_start=0; log_talk_end-=log_start_point[RDLogLine::LogPointer]; } if(log_talk_start>log_end_point[RDLogLine::LogPointer] && log_end_point[RDLogLine::LogPointer]>=0) { log_talk_start=0; log_talk_end=0; } } log_talk_length=log_talk_end-log_talk_start; } if(segueStartPoint(RDLogLine::AutoPointer)<0) { log_average_segue_length=cart->averageSegueLength(); } else { log_average_segue_length=segueStartPoint(RDLogLine::AutoPointer)- startPoint(RDLogLine::AutoPointer); } log_outcue=q->value(10).toString(); log_isrc=q->value(11).toString(); log_isci=q->value(12).toString(); log_description=q->value(13).toString(); log_segue_gain_cut=q->value(5).toInt(); delete q; delete cart; break; case RDLogLine::Macro: cart=new RDCart(log_cart_number); log_effective_length=cart->forcedLength(); log_average_segue_length=log_effective_length; log_forced_stop=false; rml_event=new RDMacroEvent(); rml_event->load(cart->number()); for(int i=0;i<rml_event->size();i++) { if(rml_event->command(i)->command()==RDMacro::LL) { if(rml_event->command(i)->arg(0).toInt()==mach) { log_forced_stop=true; } } } log_start_point[0]=-1; log_end_point[0]=-1; log_segue_start_point[0]=-1; log_segue_end_point[0]=-1; log_talk_length=0; log_talk_start=-1; log_talk_end=-1; log_segue_gain_cut=0; delete rml_event; delete cart; break; case RDLogLine::Marker: case RDLogLine::Track: log_cut_number=0; log_cut_name=""; log_effective_length=0; log_average_segue_length=0; log_forced_stop=false; log_start_point[0]=-1; log_end_point[0]=-1; log_segue_start_point[0]=-1; log_segue_end_point[0]=-1; log_talk_length=0; log_talk_start=-1; log_talk_end=-1; log_segue_gain_cut=0; break; default: break; } return RDLogLine::Ok; }
void Xport::AddCart() { RDCart *cart; RDGroup *group; QString group_name; QString type; RDCart::Type cart_type=RDCart::All; int cart_number=0; // // Verify Post // if(!xport_post->getValue("GROUP_NAME",&group_name)) { XmlExit("Missing GROUP_NAME",400); } if(!xport_post->getValue("TYPE",&type)) { XmlExit("Missing TYPE",400); } if(type.lower()=="audio") { cart_type=RDCart::Audio; } else { if(type.lower()=="macro") { cart_type=RDCart::Macro; } else { XmlExit("Invalid TYPE",400); } } xport_post->getValue("CART_NUMBER",&cart_number); // // Verify User Perms // if(!rda->user()->groupAuthorized(group_name)) { XmlExit("No such group",404); } group=new RDGroup(group_name); if(cart_number==0) { if((cart_number=group->nextFreeCart())==0) { delete group; XmlExit("No free carts in group",500); } } if(!group->cartNumberValid(cart_number)) { delete group; XmlExit("Cart number out of range for group",401); } delete group; if(!rda->user()->createCarts()) { XmlExit("Unauthorized",401); } // // Process Request // cart=new RDCart(cart_number); if(cart->exists()) { delete cart; XmlExit("Cart already exists",403); } if(!cart->create(group_name,cart_type)) { delete cart; XmlExit("Unable to create cart",500); } printf("Content-type: application/xml\n"); printf("Status: 200\n\n"); printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); printf("<cartAdd>\n"); if(cart->exists()) { printf("%s",(const char *)cart->xml(false,true)); } delete cart; printf("</cartAdd>\n"); Exit(0); }
void Xport::EditCart() { QString where=""; RDCart *cart; RDGroup *group; int cart_number; int include_cuts=0; QString group_name; QString value; int number; bool ok; int line; QString macro; bool length_changed=false; // // Verify Post // if(!xport_post->getValue("CART_NUMBER",&cart_number)) { XmlExit("Missing CART_NUMBER",400); } xport_post->getValue("INCLUDE_CUTS",&include_cuts); // // Verify User Perms // if(!rda->user()->cartAuthorized(cart_number)) { XmlExit("No such cart",404); } if(!rda->user()->modifyCarts()) { XmlExit("Unauthorized",401); } if(xport_post->getValue("GROUP_NAME",&group_name)) { if(!rda->user()->groupAuthorized(group_name)) { XmlExit("No such group",404); } group=new RDGroup(group_name); if(!group->exists()) { delete group; XmlExit("No such group",404); } if(group->enforceCartRange()) { if(((unsigned)cart_number<group->defaultLowCart())|| ((unsigned)cart_number>group->defaultHighCart())) { delete group; XmlExit("Invalid cart number for group",409); } } delete group; } // // Process Request // cart=new RDCart(cart_number); if(!cart->exists()) { delete cart; XmlExit("No such cart",404); } if(xport_post->getValue("FORCED_LENGTH",&value)) { number=RDSetTimeLength(value); if(cart->type()==RDCart::Macro) { delete cart; XmlExit("Unsupported operation for cart type",403); } if(!cart->validateLengths(number)) { delete cart; XmlExit("Forced length out of range",403); } } switch(cart->type()) { case RDCart::Audio: break; case RDCart::Macro: line=0; while(xport_post->getValue(QString().sprintf("MACRO%d",line++),&value)) { value.stripWhiteSpace(); if(value.right(1)!="!") { delete cart; XmlExit("Invalid macro data",400); } macro+=value; } cart->setMacros(macro); break; case RDCart::All: break; } if(!group_name.isEmpty()) { cart->setGroupName(group_name); } if(xport_post->getValue("TITLE",&value)) { cart->setTitle(value); } if(xport_post->getValue("ARTIST",&value)) { cart->setArtist(value); } if(xport_post->getValue("ALBUM",&value)) { cart->setAlbum(value); } if(xport_post->getValue("YEAR",&value)) { number=value.toInt(&ok); if((ok)&&(number>0)) { cart->setYear(number); } } if(xport_post->getValue("LABEL",&value)) { cart->setLabel(value); } if(xport_post->getValue("CLIENT",&value)) { cart->setClient(value); } if(xport_post->getValue("AGENCY",&value)) { cart->setAgency(value); } if(xport_post->getValue("PUBLISHER",&value)) { cart->setPublisher(value); } if(xport_post->getValue("COMPOSER",&value)) { cart->setComposer(value); } if(xport_post->getValue("USER_DEFINED",&value)) { cart->setUserDefined(value); } if(xport_post->getValue("USAGE_CODE",&value)) { number=value.toInt(&ok); if((ok)&&(number>0)) { cart->setUsageCode((RDCart::UsageCode)number); } } if(xport_post->getValue("ENFORCE_LENGTH",&value)) { number=value.toInt(&ok); if((ok)&&(number>=0)&&(number<2)) { cart->setEnforceLength(number); length_changed=true; } } if(xport_post->getValue("FORCED_LENGTH",&value)) { cart->setForcedLength(RDSetTimeLength(value)); length_changed=true; } if(xport_post->getValue("ASYNCRONOUS",&value)) { number=value.toInt(&ok); if((ok)&&(number>=0)&&(number<2)) { cart->setAsyncronous(number); length_changed=true; } } if(xport_post->getValue("OWNER",&value)) { cart->setOwner(value); } if(xport_post->getValue("NOTES",&value)) { cart->setNotes(value); } if(xport_post->getValue("SCHED_CODES",&value)) { cart->setSchedCodes(value); } if(length_changed) { cart->updateLength(); } printf("Content-type: application/xml\n"); printf("Status: 200\n\n"); printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"); printf("<cartList>\n"); printf("%s",(const char *)cart->xml(include_cuts,true)); delete cart; printf("</cartList>\n"); Exit(0); }
void RDSlotBox::setCart(RDLogLine *logline) { QString cutname; QPalette p; line_logline=logline; RDCart *cart; RDCut *cut; line_type=logline->type(); switch(line_type) { case RDLogLine::Cart: cart=new RDCart(logline->cartNumber()); cut=new RDCut(QString().sprintf("%06u_%03u",logline->cartNumber(), logline->cutNumber())); if(!cart->exists()) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); line_description_label->clear(); line_artist_label->clear(); line_cut_label->clear(); line_group_label->clear(); line_outcue_label->clear(); line_length_label->setText("00:00"); line_talktime_label->setText(":00"); line_up_label->setText("0:00:00"); line_down_label->setText("0:00:00"); line_title_label->setText(tr("[CART NOT FOUND]")); switch(cart->type()) { case RDCart::Audio: case RDCart::Macro: case RDCart::All: line_icon_label->setPixmap(*line_playout_map); break; } SetColor(QColor(LABELBOX_MISSING_COLOR)); } else { if(((cart->forcedLength()==0)&&(cart->type()==RDCart::Audio))|| (line_logline->state()==RDLogLine::NoCut)) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); line_description_label->setText(cut->description()); line_artist_label->setText(tr("[NO AUDIO AVAILABLE]")); line_cut_label->clear(); line_group_label->clear(); line_outcue_label->clear(); line_length_label->setText("00:00"); line_talktime_label->setText(":00"); line_up_label->setText("0:00:00"); line_down_label->setText("0:00:00"); line_icon_label->setPixmap(*line_playout_map); line_title_label->setText(logline->title()); SetColor(QColor(LABELBOX_MISSING_COLOR)); } else { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); if(line_logline->evergreen()) { SetColor(QColor(LABELBOX_EVERGREEN_COLOR)); } else { SetColor(QColor(LABELBOX_BACKGROUND_COLOR)); } switch(cart->type()) { case RDCart::Audio: case RDCart::All: line_icon_label->setPixmap(*line_playout_map); break; case RDCart::Macro: line_icon_label->setPixmap(*line_macro_map); break; } line_group_label->setText(cart->groupName()); p=line_group_label->palette(); p.setColor(QColorGroup::Foreground,line_logline->groupColor()); line_group_label->setPalette(p); if(line_logline->talkLength()<=0) { line_talktime_label->setText(":00"); } else { line_talktime_label-> setText(RDGetTimeLength(line_logline->talkLength(), false,false)); } line_length_label-> setText(RDGetTimeLength(line_logline->effectiveLength(), false,false)); if(line_logline->timescalingActive()) { line_length_label->setPalette(line_hard_palette); } else { line_length_label->setPalette(line_time_palette); } if(line_logline->originUser().isEmpty()|| (!line_logline->originDateTime().isValid())) { line_title_label-> setText(RDResolveNowNext(line_airplay_conf->titleTemplate(), logline)); } else { line_title_label->setText(line_logline->title()+" -- "+ line_logline->originUser()+" "+ line_logline->originDateTime(). toString("M/d hh:mm")); } line_description_label-> setText(RDResolveNowNext(line_airplay_conf->descriptionTemplate(), logline)); line_artist_label-> setText(RDResolveNowNext(line_airplay_conf->artistTemplate(), logline)); line_up_label-> setText(RDGetTimeLength(line_logline->playPosition(),true,true)); line_down_label-> setText(RDGetTimeLength(line_logline->effectiveLength()- line_logline->playPosition(),true,true)); line_position_bar->setTotalSteps(line_logline->effectiveLength()); line_position_bar->setProgress(line_logline->playPosition()); if(logline->cutNumber()>=0) { line_cut_label-> setText(QString().sprintf("%03u",logline->cutNumber())); line_outcue_label-> setText(RDResolveNowNext(line_airplay_conf->outcueTemplate(), logline)); line_position_bar->show(); line_up_label->show(); line_down_label->show(); } else { SetColor(QColor(LABELBOX_MISSING_COLOR)); line_cut_label->clear(); line_outcue_label->setText(tr("[NO VALID CUT AVAILABLE]")); } line_title_label->show(); line_artist_label->show(); } } delete cart; delete cut; break; case RDLogLine::Macro: line_icon_label->setPixmap(*line_macro_map); line_position_bar->hide(); line_up_label->hide(); line_down_label->hide(); cart=new RDCart(logline->cartNumber()); cut=new RDCut(QString().sprintf("%06u_%03u",logline->cartNumber(), logline->cutNumber())); if(!cart->exists()) { SetColor(QColor(LABELBOX_MISSING_COLOR)); } else { SetColor(QColor(LABELBOX_BACKGROUND_COLOR)); } line_cart_label->setText(QString().sprintf("%06u",cart->number())); line_cut_label->setText(""); line_group_label->setText(cart->groupName()); p=line_group_label->palette(); p.setColor(QColorGroup::Foreground,line_logline->groupColor()); line_group_label->setPalette(p); line_length_label-> setText(RDGetTimeLength(line_logline->effectiveLength(), false,false)); line_title_label->setText(cart->title()); line_description_label->setText(""); line_artist_label->setText(cart->artist()); line_outcue_label->setText(""); delete cart; delete cut; line_title_label->show(); line_artist_label->show(); break; default: break; } }
void LogLineBox::setEvent(int line,RDLogLine::TransType next_type, RDLogLine *logline) { QString cutname; QPalette p; line_logline=logline; line_next_type=next_type; RDCart *cart; RDCut *cut; log_id=logline->id(); log_line=line; line_type=logline->type(); switch(line_logline->transType()) { case RDLogLine::Stop: line_trans_label->setText(tr("STOP")); line_trans_label->setPalette(palette()); break; case RDLogLine::Play: line_trans_label->setText(tr("PLAY")); line_trans_label->setPalette(palette()); break; case RDLogLine::Segue: line_trans_label->setText(tr("SEGUE")); if(logline->hasCustomTransition()) { line_trans_label->setPalette(line_transition_palette); } else { line_trans_label->setPalette(palette()); } break; default: break; } switch(line_type) { case RDLogLine::Cart: line_comment_label->hide(); cart=new RDCart(logline->cartNumber()); cut=new RDCut(logline->cartNumber(),logline->cutNumber()); if(!cart->exists()) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); line_description_label->clear(); line_artist_label->clear(); line_cut_label->clear(); line_group_label->clear(); line_outcue_label->clear(); line_length_label->setText("00:00"); line_talktime_label->setText(":00"); line_up_label->setText("0:00:00"); line_down_label->setText("0:00:00"); line_comment_label->clear(); line_title_label->setText(tr("[CART NOT FOUND]")); switch(cart->type()) { case RDCart::Audio: case RDCart::Macro: case RDCart::All: line_icon_label->setPixmap(*line_playout_map); break; } SetColor(QColor(LOGLINEBOX_MISSING_COLOR)); delete cart; delete cut; } else { if(((cart->forcedLength()==0)&&(cart->type()==RDCart::Audio))|| (line_logline->state()==RDLogLine::NoCut)) { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); line_description_label->setText(cut->description()); line_artist_label->setText(tr("[NO AUDIO AVAILABLE]")); line_cut_label->clear(); line_group_label->clear(); line_outcue_label->clear(); line_length_label->setText("00:00"); line_talktime_label->setText(":00"); line_up_label->setText("0:00:00"); line_down_label->setText("0:00:00"); line_comment_label->clear(); line_icon_label->setPixmap(*line_playout_map); line_title_label->setText(logline->title()); SetColor(QColor(LOGLINEBOX_MISSING_COLOR)); delete cart; delete cut; } else { line_cart_label-> setText(QString().sprintf("%06u",logline->cartNumber())); if(line_logline->evergreen()) { SetColor(QColor(LOGLINEBOX_EVERGREEN_COLOR)); } else { SetColor(QColor(LOGLINEBOX_BACKGROUND_COLOR)); } if(line_logline->source()==RDLogLine::Tracker) { line_icon_label->setPixmap(*line_track_cart_map); } else { switch(cart->type()) { case RDCart::Audio: case RDCart::All: line_icon_label->setPixmap(*line_playout_map); break; case RDCart::Macro: line_icon_label->setPixmap(*line_macro_map); break; } } line_group_label->setText(cart->groupName()); p=line_group_label->palette(); p.setColor(QColorGroup::Foreground,line_logline->groupColor()); line_group_label->setPalette(p); if(line_logline->talkLength()<=0) { line_talktime_label->setText(":00"); } else { line_talktime_label-> setText(RDGetTimeLength(line_logline->talkLength(), false,false)); } line_length_label-> setText(RDGetTimeLength(line_logline->effectiveLength(), false,false)); if(line_logline->timescalingActive()) { line_length_label->setPalette(line_hard_palette); } else { line_length_label->setPalette(line_time_palette); } if((line_logline->source()!=RDLogLine::Tracker)|| line_logline->originUser().isEmpty()|| (!line_logline->originDateTime().isValid())) { line_title_label-> setText(RDResolveNowNext(line_title_template,line_logline)); } else { line_title_label->setText(QString(). sprintf("%s -- %s %s", (const char *)line_logline->title(), (const char *)line_logline->originUser(), (const char *)line_logline->originDateTime(). toString("M/d hh:mm"))); } line_description_label-> setText(RDResolveNowNext(line_description_template,line_logline)); line_artist_label-> setText(RDResolveNowNext(line_artist_template,line_logline)); line_up_label-> setText(RDGetTimeLength(line_logline->playPosition(),true,true)); line_down_label-> setText(RDGetTimeLength(line_logline->effectiveLength()- line_logline->playPosition(),true,true)); line_position_bar->setTotalSteps(line_logline->effectiveLength()); line_position_bar->setProgress(line_logline->playPosition()); if(logline->cutNumber()>=0) { line_cut_label-> setText(QString().sprintf("%03u",logline->cutNumber())); line_outcue_label-> setText(RDResolveNowNext(line_outcue_template,line_logline)); } else { SetColor(QColor(LOGLINEBOX_MISSING_COLOR)); line_cut_label->clear(); line_outcue_label->setText(tr("[NO VALID CUT AVAILABLE]")); } delete cart; delete cut; setMode(line_mode); line_title_label->show(); line_artist_label->show(); } } break; case RDLogLine::Marker: line_icon_label->setPixmap(*line_notemarker_map); SetColor(QColor(LOGLINEBOX_MARKER_COLOR)); line_title_label->hide(); line_description_label->hide(); line_artist_label->hide(); line_cart_label->setText(tr("MARKER")); line_group_label->setText(logline->markerLabel()); line_length_label->setText(":00"); line_transition=logline->transType(); line_comment_label->setText(logline->markerComment()); setMode(line_mode); line_comment_label->show(); break; case RDLogLine::Track: line_icon_label->setPixmap(*line_mic16_map); SetColor(QColor(LOGLINEBOX_MARKER_COLOR)); line_title_label->hide(); line_description_label->hide(); line_artist_label->hide(); line_cart_label->setText(tr("TRACK")); line_group_label->setText(""); line_length_label->setText(":00"); line_transition=logline->transType(); line_comment_label->setText(logline->markerComment()); setMode(line_mode); line_comment_label->show(); break; case RDLogLine::MusicLink: line_icon_label->setPixmap(*line_music_map); SetColor(QColor(LOGLINEBOX_MARKER_COLOR)); line_title_label->hide(); line_description_label->hide(); line_artist_label->hide(); line_cart_label->setText(tr("LINK")); line_group_label->setText(""); line_length_label->setText(":00"); line_transition=logline->transType(); line_comment_label->setText(tr("[music import]")); setMode(line_mode); line_comment_label->show(); break; case RDLogLine::TrafficLink: line_icon_label->setPixmap(*line_traffic_map); SetColor(QColor(LOGLINEBOX_MARKER_COLOR)); line_title_label->hide(); line_description_label->hide(); line_artist_label->hide(); line_cart_label->setText(tr("LINK")); line_group_label->setText(""); line_length_label->setText(":00"); line_transition=logline->transType(); line_comment_label->setText(tr("[traffic import]")); setMode(line_mode); line_comment_label->show(); break; case RDLogLine::Chain: line_icon_label->setPixmap(*line_chain_map); SetColor(QColor(LOGLINEBOX_CHAIN_COLOR)); line_title_label->setText(logline->markerLabel()); line_description_label->setText(""); line_artist_label->setText(logline->markerComment()); line_cart_label->setText(tr("CHAIN")); line_group_label->setText(""); line_length_label->setText(":00"); line_transition=logline->transType(); line_comment_label->hide(); setMode(line_mode); line_title_label->show(); line_artist_label->show(); break; case RDLogLine::Macro: line_icon_label->setPixmap(*line_macro_map); line_comment_label->hide(); cart=new RDCart(logline->cartNumber()); cut=new RDCut(QString().sprintf("%06u_%03u",logline->cartNumber(), logline->cutNumber())); if(!cart->exists()) { SetColor(QColor(LOGLINEBOX_MISSING_COLOR)); } else { SetColor(QColor(LOGLINEBOX_BACKGROUND_COLOR)); } line_cart_label->setText(QString().sprintf("%06u",cart->number())); line_cut_label->setText(""); line_group_label->setText(cart->groupName()); p=line_group_label->palette(); p.setColor(QColorGroup::Foreground,line_logline->groupColor()); line_group_label->setPalette(p); line_length_label-> setText(RDGetTimeLength(line_logline->effectiveLength(), false,false)); line_title_label-> setText(RDResolveNowNext(line_title_template,line_logline)); line_description_label-> setText(RDResolveNowNext(line_description_template,line_logline)); line_artist_label-> setText(RDResolveNowNext(line_artist_template,line_logline)); line_outcue_label-> setText(RDResolveNowNext(line_outcue_template,line_logline)); delete cart; delete cut; setMode(line_mode); line_title_label->show(); line_artist_label->show(); break; default: break; } PrintTime(); }