-
Notifications
You must be signed in to change notification settings - Fork 3
Properties
Any object in iMusic can have any property set with the command 'set'. All child-objects inherits the value from their parent objects i.e. tracks inherits from arrangements/sections and arrangements inherits from the main iMusic object. Even if a value might be set on a higher level it might just affect child-objects i.e. 'quantize' applies only to Motifs but can be set the Motifs' parent object to apply to many Motifs. Properties can only be set on imusic, arrangements, tracks and motifs.
Properties can be set using the XML attributes:
<imusic version="1.0" tempo="60" timeSign="4/4" audioPath="audio" suffix="mp3" quantize="1/8" loopLength="2" fadeTime="0">
<arrangement select-group="section" select-value="A" selected="true">
<track src="A_bg_1_1a" volume="0.5"></track>
</arrangement>
</imusic>
Here are all possible properties and their default values:
audioPath="audio"; // Name of the folder with all audio files. Could be changed to anything. Even on a remote server
suffix="mp3"; // The file type
tempo="120"; // bpm - the tempo is always refering to the denominator set by timeSign.
timeSign="4/4"; // Time Signature
Read more about selecting: Selecting
select-variable="variable_name" // Specifies an (optional) variable (from the global scope) to control the mute-state of this object i.e. "window.scrollY" or "targetObject.targetProperty" (the expression are evaluated)
select-group="group_name" // Specifies an (optional) group name to control the mute-state of this object
select-value="any_string_or_number(s)" // Specifies an (optional) value to control the mute-state. i.e. "A", "3", "3,4" or "1-4, 6"
volume="1" or volume="0dB" // Audio is played back with normal volume. With multiple files you might need to decrease the volume.
pan="0.5"; // 0.5 is center
retrig="shuffle"; // ...to control the order of random selection for a part on a track or Motif ("shuffle", "next", "other"). This require multiple source-files to be specifed for the part/region or Motif.
upbeat="0/4"; // Can be set in seconds or musical values like "1/4" to specify the preroll of a file before a the barline
partLength="1/1"; // Controls the position of the next part if multiple parts are used on a track without pos specified
changeOnNext="1/1" // The next point to make a musical jump after a selection() or play()-call or if a change is caused automatically by a select-variable change.
fadeTime="10"; // The fadeTime when iMusic makes a crossfade between two files. Use longer fadeTime for textures and short for rhytmic loops. Set to zero if the files are supposed to play its full audio-tail when before the track are muted.
active="1"; // The likeliness for a part on a track to play (by reducing the value you can cause random pauses on a track i.e. a value of 0.5 sets the likeliness for a specific part to play to 50%)
loopActive="1"; // The likeliness for a track to play each loop (i.e. a value of 0.5 sets the likeliness for a track to play on a loop to 50%)
blockRetrig="0"; // ...to avoid double-trigging.
repeat="1"; // ...to control the number of loops it will play
release="0"; // The time for a track to fade out on stop (it uses fadeTime if not specified)
Please follow my research journey at http://hans.arapoviclindetorp.se and https://www.facebook.com/hanslindetorpresearch/