RD_EditCut
7
October 2015
Rivendell C Library Manual
rd_editcut
Rivendell Edit Cut C Library Function
Todd
Baker
bakert@rfa.org
Rivendell C Library Author
#include <rivwebcapi/rd_editcut.h>
int RD_EditCut
struct rd_cut * cut[]
struct edit_cut_values edit_cut_values
const char hostname[]
const char username[]
const char passwd[]
const char ticket[]
const unsigned cartnumber
const unsigned cutnumber
const char user_agent[]
unsigned * numrecs
Description
RD_EditCut is the function to use
to edit the fields within a cut that already exists in the Rivendell Database.
This function edits a pre-existing cut. User must provide the cart number, cut number and any fields which they would like to change. The structure edit_cut_values must be used to tell the API which fields will be changed.
RD_EditCart function call fields
FIELD NAME
FIELD TYPE
MEANING
REMARKS
*rd_cut
Pointer to rd_cut structure
Memory location to store cut information
Mandatory
edit_cut_values
edit_cut_values structure
This structure contains the new cut information to update
Mandatory
hostname
Character Array
Name Of Rivendell DB Host
Mandatory
username
Character Array
Rivendell User Name
Mandatory When NO Ticket Provided
passwd
Character Array
Rivendell User Password
Mandatory When NO Ticket Provided
ticket
Character Array
Rivendell Authentification Ticket
Mandatory When NO User/Password Pair Provided.
cartnumber
unsigned integer
Cart Number
Mandatory
cutnumber
unsigned integer
Cut Number
Mandatory
user_agent
Character Array
User Agent Value put into HTTP request
Optional (default is Rivendell-C-API/x.x.x)
*numrecs
pointer to integer
memory location for number of records returned
Mandatory
This routine expects an input structure of type edit_cut_values - listed below.
Each field has a boolean flag field (starting with use_) which designates whether
to update the field's value or not. One (1) = true - Use the value in the field or
Zero (0) - Ignore the field.
The edit_cut_values structure must be pre-filled with zeroes and has
the following format:
struct edit_cut_values {
int cut_evergreen;
int use_cut_evergreen;
char cut_description[257];
int use_cut_description;
char cut_outcue[257];
int use_cut_outcue;
char cut_isrc[49];
int use_cut_isrc;
char cut_isci[129];
int use_cut_isci;
struct tm cut_start_datetime;
int use_cut_start_datetime;
struct tm cut_end_datetime;
int use_cut_end_datetime;
int cut_sun;
int use_cut_sun;
int cut_mon;
int use_cut_mon;
int cut_tue;
int use_cut_tue;
int cut_wed;
int use_cut_wed;
int cut_thu;
int use_cut_thu;
int cut_fri;
int use_cut_fri;
int cut_sat;
int use_cut_sat;
char cut_start_daypart[14];
int use_cut_start_daypart;
char cut_end_daypart[14];
int use_cut_end_daypart;
unsigned cut_weight;
int use_cut_weight;
unsigned cut_validity;
int use_cut_validity;
unsigned cut_coding_format;
int use_cut_coding_format;
unsigned cut_sample_rate;
int use_cut_sample_rate;
unsigned cut_bit_rate;
int use_cut_bit_rate;
unsigned cut_channels;
int use_cut_channels;
int cut_play_gain;
int use_cut_play_gain;
int cut_start_point;
int use_cut_start_point;
int cut_end_point;
int use_cut_end_point;
int cut_fadeup_point;
int use_cut_fadeup_point;
int cut_fadedown_point;
int use_cut_fadedown_point;
int cut_segue_start_point;
int use_cut_segue_start_point;
int cut_segue_end_point;
int use_cut_segue_end_point;
int cut_segue_gain;
int use_cut_segue_gain;
int cut_hook_start_point;
int use_cut_hook_start_point;
int cut_hook_end_point;
int use_cut_hook_end_point;
int cut_talk_start_point;
int use_cut_talk_start_point;
int cut_talk_end_point;
int use_cut_talk_end_point;
};
When successful function will return the number of records sent (numrecs) and a rd_cut structure which
is stored in the provided memory locations. The rd_cut structure has the following fields:
struct rd_cut {
char cut_name[11];
unsigned cut_cart_number;
unsigned cut_cut_number;
int cut_evergreen;
char cut_description[257];
char cut_outcue[257];
char cut_isrc[49];
char cut_isci[129];
unsigned cut_length;
struct tm cut_origin_datetime;
struct tm cut_start_datetime;
struct tm cut_end_datetime;
int cut_sun;
int cut_mon;
int cut_tue;
int cut_wed;
int cut_thu;
int cut_fri;
int cut_sat;
char cut_start_daypart[9];
char cut_end_daypart[9];
char cut_origin_name[257];
unsigned cut_weight;
struct tm cut_last_play_datetime;
unsigned cut_play_counter;
unsigned cut_local_counter;
unsigned cut_validity;
unsigned cut_coding_format;
unsigned cut_sample_rate;
unsigned cut_bit_rate;
unsigned cut_channels;
int cut_play_gain;
int cut_start_point;
int cut_end_point;
int cut_fadeup_point;
int cut_fadedown_point;
int cut_segue_start_point;
int cut_segue_end_point;
int cut_segue_gain;
int cut_hook_start_point;
int cut_hook_end_point;
int cut_talk_start_point;
int cut_talk_end_point;
};
All character arrays above are the sizes listed and are null-terminated.
Character encoding is UTF-8.
RETURN VALUE
On success, zero is returned. Using the provided parameters an rd_cut
structure is returned and the number of records is returned.
If a server error occurs a -1 is returned.
If a client error occurs a specific error number is returned.
ERRORS
400 Invalid Parameter(s).
403 User Authentification Error.
403 Edit Audio Forbidden.
404 No Such Cart Exists.
nnn Unknown Error Occurred.