sscore_transpose.h
IntroductionThe C interface to transpose the score NB LICENCING: All functions here require the transpose_capable licence Functions
sscore_current_transposeget the current transpose value EXPORT int sscore_current_transpose( sscore *sc); ParametersReturn Valuethe number of semitones previously set in sscore_set_transpose Discussionthis requires the transpose_capable licence sscore_set_transposeset the current transpose EXPORT enum sscore_error sscore_set_transpose( sscore *sc, int semitones); ParametersReturn Valueany error Discussionthis requires the transpose_capable licence sscore_tr_clearclefchangeclear any current clef change for all parts EXPORT void sscore_tr_clearclefchange( sscore *sc); ParametersDiscussionthis requires the transpose_capable licence sscore_tr_setclefchangeset the current clef change for each part/staff EXPORT enum sscore_error sscore_tr_setclefchange( sscore *sc, const sscore_tr_clefchangedef *clefchange); ParametersReturn Valueany error Discussionthis requires the transpose_capable licence Typedefs
sscore_tr_clefchangedefdefine clef substitutions for any parts typedef struct sscore_tr_clefchangedef { int num; sscore_tr_staffclefchange staffchange[ sscore_tr_kMaxPartStaffClefChange]; unsigned dummy[8]; } sscore_tr_clefchangedef; sscore_tr_clefconversiondefine a clef substitution typedef struct sscore_tr_clefconversion { sscore_tr_cleftype fromclef; // convert any clef of type fromclef.. sscore_tr_cleftype toclef; // .. into toclef } sscore_tr_clefconversion; sscore_tr_staffclefchangedefine a clef substitution for a part/staff typedef struct sscore_tr_staffclefchange { int partindex; // use sscore_tr_kAllPartsPartIndex to apply to all parts int staffindex; // use sscore_tr_kAllStaffsStaffIndex to apply to all staves in part sscore_tr_clefconversion conv; // the required clef substitution unsigned dummy[8]; } sscore_tr_staffclefchange; Enumerated Types
sscore_tr_cleftypeclef types which can be substituted enum sscore_tr_cleftype { sscore_tr_trebleclef, // G clef sscore_tr_treblesub8clef, // G clef with 8 underneath sscore_tr_treblesuper8clef, // G clef with 8 on top sscore_tr_altoclef, // C clef on middle line of staff sscore_tr_tenorclef, // C clef on line above middle line of staff sscore_tr_bassclef, // F clef sscore_tr_undefined }; |