static void XMLCALL __ListGroupElementEnd(void *data, const char *el) { struct xml_data *xml_data=(struct xml_data *)data; struct rd_group *grp=xml_data->group; if(strcasecmp(el,"name")==0) { strlcpy(grp->grp_name,xml_data->strbuf,41); } if(strcasecmp(el,"description")==0) { strlcpy(grp->grp_desc,xml_data->strbuf,1021); } if(strcasecmp(el,"defaultcarttype")==0) { if(strcasecmp(xml_data->strbuf,"audio")==0) { grp->grp_default_cart_type=0; } if(strcasecmp(xml_data->strbuf,"macro")==0) { grp->grp_default_cart_type=1; } } if(strcasecmp(el,"defaultlowcart")==0) { sscanf(xml_data->strbuf,"%u",&grp->grp_lo_limit); } if(strcasecmp(el,"defaulthighcart")==0) { sscanf(xml_data->strbuf,"%u",&grp->grp_hi_limit); } if(strcasecmp(el,"cutshelflife")==0) { sscanf(xml_data->strbuf,"%d",&grp->grp_shelf_life); } if(strcasecmp(el,"defaulttitle")==0) { strlcpy(grp->grp_default_title,xml_data->strbuf,1021); } if(strcasecmp(el,"enforcecartrange")==0) { grp->grp_enforce_range=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"reporttfc")==0) { grp->grp_report_tfc=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"reportmus")==0) { grp->grp_report_mus=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"color")==0) { strlcpy(grp->grp_color,xml_data->strbuf,8); } }
static void XMLCALL __AddCutElementEnd(void *data, const char *el) { struct xml_data *xml_data=(struct xml_data *)data; struct rd_cut *cut=xml_data->cut; char hold_datetime[25]; if(strcasecmp(el,"cutName")==0) { strlcpy(cut->cut_name,xml_data->strbuf,11); } if(strcasecmp(el,"cartNumber")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_cart_number); } if(strcasecmp(el,"cutNumber")==0){ sscanf(xml_data->strbuf,"%u",&cut->cut_cut_number); } if(strcasecmp(el,"evergreen")==0) { cut->cut_evergreen=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"description")==0) { strlcpy(cut->cut_description,xml_data->strbuf,65); } if(strcasecmp(el,"outcue")==0) { strlcpy(cut->cut_outcue,xml_data->strbuf,257); } if(strcasecmp(el,"isrc")==0) { strlcpy(cut->cut_isrc,xml_data->strbuf,49); } if(strcasecmp(el,"isci")==0) { strlcpy(cut->cut_isci,xml_data->strbuf,129); } if(strcasecmp(el,"length")==0){ sscanf(xml_data->strbuf,"%u",&cut->cut_length); } if(strcasecmp(el,"originDatetime")==0) { strlcpy(hold_datetime,xml_data->strbuf,26); cut->cut_origin_datetime = RD_Cnv_DTString_to_tm(hold_datetime); } if(strcasecmp(el,"startDatetime")==0) { strlcpy(hold_datetime,xml_data->strbuf,26); cut->cut_start_datetime = RD_Cnv_DTString_to_tm(hold_datetime); } if(strcasecmp(el,"endDatetime")==0) { strlcpy(hold_datetime,xml_data->strbuf,26); cut->cut_end_datetime = RD_Cnv_DTString_to_tm(hold_datetime); } if(strcasecmp(el,"sun")==0) { cut->cut_sun=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"mon")==0) { cut->cut_mon=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"tue")==0) { cut->cut_tue=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"wed")==0) { cut->cut_wed=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"thu")==0) { cut->cut_thu=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"fri")==0) { cut->cut_fri=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"sat")==0) { cut->cut_sat=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"startDaypart")==0) { strlcpy(cut->cut_start_daypart,xml_data->strbuf,15); } if(strcasecmp(el,"endDaypart")==0) { strlcpy(cut->cut_end_daypart,xml_data->strbuf,15); } if(strcasecmp(el,"originName")==0) { strlcpy(cut->cut_origin_name,xml_data->strbuf,257); } if(strcasecmp(el,"weight")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_weight); } if(strcasecmp(el,"lastPlayDatetime")==0) { strlcpy(hold_datetime,xml_data->strbuf,26); cut->cut_last_play_datetime = RD_Cnv_DTString_to_tm(hold_datetime); } if(strcasecmp(el,"playCounter")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_play_counter); } if(strcasecmp(el,"localCounter")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_local_counter); } if(strcasecmp(el,"validity")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_validity); } if(strcasecmp(el,"codingFormat")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_coding_format); } if(strcasecmp(el,"sampleRate")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_sample_rate); } if(strcasecmp(el,"bitRate")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_bit_rate); } if(strcasecmp(el,"channels")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_channels); } if(strcasecmp(el,"playGain")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_play_gain); } if(strcasecmp(el,"startPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_start_point); } if(strcasecmp(el,"endPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_end_point); } if(strcasecmp(el,"fadeupPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_fadeup_point); } if(strcasecmp(el,"fadedownPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_fadedown_point); } if(strcasecmp(el,"segueStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_start_point); } if(strcasecmp(el,"segueEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_end_point); } if(strcasecmp(el,"segueGain")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_gain); } if(strcasecmp(el,"hookStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_hook_start_point); } if(strcasecmp(el,"hookEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_hook_end_point); } if(strcasecmp(el,"talkStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_talk_start_point); } if(strcasecmp(el,"talkEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_talk_end_point); } }
static void XMLCALL __EditCartElementEnd(void *data, const char *el) { struct xml_data *xml_data=(struct xml_data *)data; struct rd_cart *cart=xml_data->cart; char hold_datetime[25]; if(strcasecmp(el,"number")==0) { sscanf(xml_data->strbuf,"%u",&cart->cart_number); } if(strcasecmp(el,"type")==0) { if(strcasecmp(xml_data->strbuf,"audio")==0) { cart->cart_type=TYPE_AUDIO; } else { if(strcasecmp(xml_data->strbuf,"macro")==0) { cart->cart_type=TYPE_MACRO; } else { /* This is ALL type */ cart->cart_type=TYPE_ALL; } } } if(strcasecmp(el,"groupName")==0) { strlcpy(cart->cart_grp_name,xml_data->strbuf,41); } if(strcasecmp(el,"title")==0) { strlcpy(cart->cart_title,xml_data->strbuf,1021); } if(strcasecmp(el,"artist")==0) { strlcpy(cart->cart_artist,xml_data->strbuf,1021); } if(strcasecmp(el,"album")==0) { strlcpy(cart->cart_album,xml_data->strbuf,1021); } if(strcasecmp(el,"year")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_year); } if(strcasecmp(el,"label")==0) { strlcpy(cart->cart_label,xml_data->strbuf,257); } if(strcasecmp(el,"client")==0) { strlcpy(cart->cart_client,xml_data->strbuf,257); } if(strcasecmp(el,"agency")==0) { strlcpy(cart->cart_agency,xml_data->strbuf,257); } if(strcasecmp(el,"publisher")==0) { strlcpy(cart->cart_publisher,xml_data->strbuf,257); } if(strcasecmp(el,"composer")==0) { strlcpy(cart->cart_composer,xml_data->strbuf,257); } if(strcasecmp(el,"conductor")==0) { strlcpy(cart->cart_conductor,xml_data->strbuf,257); } if(strcasecmp(el,"userDefined")==0) { strlcpy(cart->cart_user_defined,xml_data->strbuf,1021); } if(strcasecmp(el,"usageCode")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_usage_code); } if(strcasecmp(el,"forcedLength")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_forced_length); } if(strcasecmp(el,"averageLength")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_average_length); } if(strcasecmp(el,"lengthDeviation")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_length_deviation); } if(strcasecmp(el,"averageSegueLength")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_average_segue_length); } if(strcasecmp(el,"averageHookLength")==0) { sscanf(xml_data->strbuf,"%d",&cart->cart_average_hook_length); } if(strcasecmp(el,"cutQuantity")==0) { sscanf(xml_data->strbuf,"%u",&cart->cart_cut_quantity); } if(strcasecmp(el,"lastCutPlayed")==0) { sscanf(xml_data->strbuf,"%u",&cart->cart_last_cut_played); } if(strcasecmp(el,"validity")==0) { sscanf(xml_data->strbuf,"%u",&cart->cart_validity); } if(strcasecmp(el,"enforceLength")==0) { cart->cart_enforce_length=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"asyncronous")==0) { cart->cart_asyncronous=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"owner")==0) { strlcpy(cart->cart_owner,xml_data->strbuf,257); } if(strcasecmp(el,"notes")==0 ){ /* handle multiple NOTE Lines */ strlcpy(cart->cart_notes,xml_data->strbuf,4096); } }
static void XMLCALL __EditCutElementEnd(void *data, const char *el) { struct xml_data *xml_data=(struct xml_data *)data; struct rd_cut *cut=xml_data->cut; if(strcasecmp(el,"cutName")==0) { strncpy(cut->cut_name,xml_data->strbuf,11); } if(strcasecmp(el,"cartNumber")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_cart_number); } if(strcasecmp(el,"cutNumber")==0){ sscanf(xml_data->strbuf,"%u",&cut->cut_cut_number); } if(strcasecmp(el,"evergreen")==0) { cut->cut_evergreen=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"description")==0) { strncpy(cut->cut_description,xml_data->strbuf,65); } if(strcasecmp(el,"outcue")==0) { strncpy(cut->cut_outcue,xml_data->strbuf,65); } if(strcasecmp(el,"isrc")==0) { strncpy(cut->cut_isrc,xml_data->strbuf,13); } if(strcasecmp(el,"isci")==0) { strncpy(cut->cut_isci,xml_data->strbuf,33); } if(strcasecmp(el,"originDatetime")==0) { strncpy(cut->cut_origin_datetime,xml_data->strbuf,26); } if(strcasecmp(el,"startDatetime")==0) { strncpy(cut->cut_start_datetime,xml_data->strbuf,26); } if(strcasecmp(el,"endDatetime")==0) { strncpy(cut->cut_end_datetime,xml_data->strbuf,26); } if(strcasecmp(el,"sun")==0) { cut->cut_sun=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"mon")==0) { cut->cut_mon=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"tue")==0) { cut->cut_tue=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"wed")==0) { cut->cut_wed=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"thu")==0) { cut->cut_thu=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"fri")==0) { cut->cut_fri=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"sat")==0) { cut->cut_sat=RD_ReadBool(xml_data->strbuf); } if(strcasecmp(el,"startDaypart")==0) { strncpy(cut->cut_start_daypart,xml_data->strbuf,15); } if(strcasecmp(el,"endDaypart")==0) { strncpy(cut->cut_end_daypart,xml_data->strbuf,15); } if(strcasecmp(el,"originName")==0) { strncpy(cut->cut_origin_name,xml_data->strbuf,65); } if(strcasecmp(el,"weight")==0) { sscanf(xml_data->strbuf,"%u",&cut->cut_weight); } if(strcasecmp(el,"startPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_start_point); } if(strcasecmp(el,"endPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_end_point); } if(strcasecmp(el,"fadeupPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_fadeup_point); } if(strcasecmp(el,"fadedownPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_fadedown_point); } if(strcasecmp(el,"segueStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_start_point); } if(strcasecmp(el,"segueEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_end_point); } if(strcasecmp(el,"segueGain")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_segue_gain); } if(strcasecmp(el,"hookStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_hook_start_point); } if(strcasecmp(el,"hookEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_hook_end_point); } if(strcasecmp(el,"talkStartPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_talk_start_point); } if(strcasecmp(el,"talkEndPoint")==0) { sscanf(xml_data->strbuf,"%d",&cut->cut_talk_end_point); } }