Sjabloonfuncties

Uit MusiCAD
(Doorverwezen vanaf Sjabloonfunctie)

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);  
!# REQUIRE( nCombi>4, #errNoCombiFound );  
!# SETPART(sVoicename,Bovenstem);  
!# ADDPART(COPY1);
!# SETPART(sVoiceName,Onderstem);
!# MODIFYPART(RemoveHighvoice);
!# SETPART(iInstrument,65);
!# SETPART(sMelodyName,AltSax);
!# SETPART(sAbbreviation,Ax);
!# SELECTPART(Bovenstem);
!# MODIFYPART(RemoveLowvoice);

Ofwel: ga naar de hoofdpartij, test of er wel iets te splitsen is, noem die 'Bovenstem', maak een kopie die je 'Onderstem' noemt, verwijder uit de partij 'onderstem' alle bovenste noten, laat afspelen met altsax geluid, en zet dat in de naam, haal tot slot de onderste noten uit partij 'bovenstem'.


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 vertalingsbestand. De hier gebruikte sjabloonfunctie USETEMPLATE() test of liedtekst-1 boven het midden van de balk staat met fLyrics1.y>0. Als dat het geval is wordt vervolgens sjabloon mc-tekstbelow opgezocht en uitgevoerd. In het andere geval wordt mc-textabove uitgevoerd.


Het sjabloon mc-patFolk-CYG heeft inhoud:

melodie "#gAccomp|#patFolkCYG";
!# REQUIRE( nChords>0, #errNoChordsFound ); 
!# REQUIRE( sMeter=4/4, #errNeed4-4 ); 
!# DELETEPART( AUTO );
!# USEPATTERN(cocek-acc);
!# USEPATTERN(cocek-bas);
!# USEPATTERN(cocek-darabuka);
!# SET( sInfo, Cocek);

De eerste regel maakt dat het sjabloon in de groep begeleidingspatronen zichtbaar wordt als 'Folk - Zigeuner'. Om bruikbaar te zijn moeten akkoordsymbolen aanwezig zijn en moet de maatsoort 4/4 zijn. Als aan beide voorwaarden voldaan is (REQUIRE) worden alle bestaande automatische begeleidingspartijen verwijderd (DELETEPART), drie arrangementspatronen toegevoegd (USEPATTERN) en de 'Info' tekst op Cocek gezet (SET).