SET

Uit MusiCAD

SET is een sjabloonfunctie die je kunt gebruiken in een opmaaksjabloon om daarmee melodiegegevens te wijzigen.

Syntax:

   SET( assignment );
   SET( conditie, assignment );
   SET( conditie, trueassignment, falseassignment );
   SET( parameter, waarde );

Als je (in het geval van aan/uit ofwel 1/0 waarde) een sterretje ervoor zet wissel je tussen 0 en 1 bij herhaaldelijk gebruik.

assignment
Toekenning in de vorm van parameter=waarde
waarde kan een getal zijn of de uitkomst van een berekening
conditie
Voorwaarde in de vorm van variabele operator waarde

Om partijgegevens in te stellen gebruik je SETPART.

Voorbeelden

Zet de verticale positie van akkoordsymbolen op 9 eenheden boven de balk

SET( fChords.Y=9 ); ! assignment
SET( fChords, *(Y=9) ); ! assignment

Zet de verticale positie van akkoordsymbolen op 13 eenheden boven de balk als er meer dan een regel akkoordsymbolen is

SET( nChordLines>1, fChords.Y=13 ); ! conditie, assignment

Zet de verticale positie van akkoordsymbolen op 13 eenheden boven de balk als er meer dan een regel akkoordsymbolen is, en anders op 9

SET( nChordLines>1, fChords.Y=13, fChords.Y=9 ); ! conditie, trueassignment, falseassignment

Het basis-opmaaksjabloon dat een partituur omzet naar een es-partituur ziet eruit als:

melodie "#gTools|#EbPart";
!# REQUIRE( sHR1<>Bb, #isBbPart );
!# REQUIRE( sHR1<>Eb, #isEbPart );
!# TRANSPOSE( -3 );
!# SET( sHR1, Bb );
!# SET( fChords, *(Visible=0) );
!# SET( fChords2, *(Visible=0) );
!# SET( fTab, *(Visible=0) );
  • Breek af als er eerder naar een bes/of es-partituur is omgezet (REQUIRE)
  • twee halve tonen omhoog (TRANSPOSE)
  • Zet in de kop dat er getransponeerd naar Bb is (SET(sHR1, Bb))
  • Maak akkoordsymbolen en tabulatuur onzichtbaar (na transponeren doorgaans alleen maar verwarrend)

Rekening houdend met eerdere transposities wordt dat:

Hieronder zie je de inhoud van het sjabloon waarmee muziek omgezet wordt naar een Eb-partij.

Akkoordsymbolen worden voor niet-C-partijen onzichtbaar gemaakt, bovenin verschijnt de vermelding 'Eb', herhaaldelijk gebruik herstelt de 'standaard'-situatie weer, en als er sprake was van een Bb-partij wordt daarvoor gecompenseerd.

melodie "#gTools|#EbPart|232";
!# IF( sMode=="" );
! not transposed yet
!# TRANSPOSE( -3 );
!# SET( sMode, Eb );
!# SET( fChords, *(Visible=0) );
!# SET( fChords2, *(Visible=0) );
!# SET( fTab, *(Visible=0) );
!# ELSEIF( sMode==Bb );
! previously transposed +2
!# TRANSPOSE( -5 );
!# SET( sMode, Eb );
!# SET( fChords, *(Visible=0) );
!# SET( fChords2, *(Visible=0) );
!# SET( fTab, *(Visible=0) );
!# ELSEIF( sMode==Eb );
! restore original
!# TRANSPOSE( 3 );
!# SET( sMode, ""  );
!# SET( fChords, *(Visible=1) );
!# SET( fChords2, *(Visible=1) );
!# SET( fTab, *(Visible=1) );
!# ENDIF();