EDIT: Installer with Java JRE bundled
- Download
unzip
click on Midi_Mogrifier.jar (requires Java)
try the tutorials (menu bar >> Usage & Reference)
Exactly my feeling about it after I stopped coding and starting trying to write the documentation (which is only about a third of the way finished at this point).szaszhareen wrote:this looks insane!
Code: Select all
Counters
A 'counter' in MM is an ordered set of translation rules, such as
0 <2_4> MM(selection+1) [c4|rest]
Like Step Translators, counters walk through their rules one-by-one as they are triggered and then loop back to the beginning once the end of the set is reached. Unlike a Step Translator, however, a counter can:
count (that is, keep track of the number of times it has been 'hit')
be constructed so as to cease operating after a specified number of hits
remember what trigger was the very first one received and reference that note in translation rules (<<0, <<-1, <<5, etc)
respond to special commands embedded within its rules
count+n (skip forward n items)
count-n (jump backward n items)
restart (jump back to the first item)
reset (reset the counter to zero and jump back to the first item)
end (cease to accept triggers)
Counter definitions take the general form
label: @(zone) rule_one rule_two ... rule_n max(number-of-hits-at-which-to-stop)
Example:
my_counter: @(c4:d6) c#4 [rest|(-2,0,4)] [restart|<0_2>] 0 [2:4|count-2] max(100)
In addition to a zone rule that is global to all items of a counter, each item of a counter can have its own zone rule as well, if the item is a lexical reference with a zone rule in its definition (see the Lexicon section of this guide)
my_counter: lexical_item_with_zone_rule_one lexical_item_with_zone_rule_two
Counters may be created by choosing 'Add' from the right-click menu of the Counter Manager or any Counting Translator module. All counters are global in scope, i.e., once created, they can be invoked in the translation rules of any Translator module.
A translation rule references a counter by prefixing its name with a percent symbol (%).
%my_counter
A counter can reference other counters, such as in this hypothetical definition for my_counter
my_counter: (0,2,6) %nested_counter <-2_0_4> %another _nested_counter
The Counter Manager provides a display of all defined counters, updated in real-time, showing:
hit count
zone rule
max hits spec (-1 if no max)
current rule (highlighted in yellow)
Documentation completed. I defy anyone to download and run the latest build, open the Usage Guide, read through all of the information in the tabs under 'Concepts & Features in Detail' and then not agree that some type of insanity was afoot in the making of this thing.IXix wrote:You're clearly insane.
Did you get any kind of error message, or just the "Windows can't open this file" dialog that you get when the OS doesn't recognize the file extension? (Or maybe none of the above??)szaszhareen wrote:i downloaded midi_mogrifier.jar, but it didn't open when i double clicked on it. is there some special java-fu i have to use to run it?
Argh! I used some random open source installer packager; seemed like it would work smoothly, but wouldn't you know it wouldn't.szaszhareen wrote:I tried installing it in a different directory, and got the same error message. any suggestions? I'm really looking forward to installing this thing and getting my mind even more bent than it already is. it looks ludicrous!