Sjabloonfuncties

Uit MusiCAD
Versie door Musys (overleg | bijdragen) op 17 jan 2024 om 13:58

Met sjabloonfuncties kun je slimme opmaaksjablonen maken die allerlei functies uitvoeren zoals het selecteren van partijen, transponeren van een partij/partituur, toevoegen en bewerken van partijen en het opslaan van muziek in andere formaten (.mid, .pdf).

Voor een alfabetisch overzicht van mogelijk te gebruiken parameters zie: sjabloonparameters

Voorbeelden

Een opmaaksjabloon dat een tweestemmige partij splitst heeft ongeveer als inhoud:

melodie "#gTools|#splitIntoSeparate";
!# SELECTPART(MAIN);  
!# SETPART(sVoicename,Bovenstem);  
!# ADDPART(COPY1);
!# SETPART(sVoiceName,Onderstem);
!# MODIFYPART(RemoveHighvoice);
!# SETPART(iInstrument,65);
!# SETPART(sMelodyName,AltSax);
!# SETPART(sAbbreviation,Ax);
!# SELECTPART(Bovenstem);
!# MODIFYPART(RemoveLowvoice);

Een sjabloon dat de plaats van liedtekst en akkoordsymbolen onder resp. boven de balk wisselt ziet eruit als:

melodie "#gLayout|#toggleChordpos";
!# REQUIRE( nChords>0, #noChordsFound ); 
!# USETEMPLATE( mc-textbelow, fLyrics1.y>0, mc-textabove );

Het sjabloon gebruikt de functie REQUIRE() om te testen of er überhaupt akkoordsymbolen gebruikt zijn in de muziek. Als dat niet het geval is is wordt de melding #noChordsFound gegeven, en worden volgende sjabloonfuncties niet meer uitgevoerd. Als zo'n melding begint met een hashtag (#) wordt deze opgezocht in het vertaalbestand. De functie USETEMPLATE() test of liedtekst-1 boven het midden van de balk staat. Als dat het geval is wordt vervolgens sjabloon mc-tekstbelow opgezocht en uitgevoerd. In het andere gevel wordt mc-textabove uitgevoerd.