mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 19:23:59 +00:00
1224 lines
40 KiB
Plaintext
1224 lines
40 KiB
Plaintext
|
|
||
|
Change log for beta version 0.1 to current beta. This entire file
|
||
|
will be deleted when we achieve a 1.0 milestone?????
|
||
|
|
||
|
Feburary 16/2003
|
||
|
|
||
|
Released version 0.1 to the world.
|
||
|
|
||
|
=================================
|
||
|
|
||
|
May 4/2003
|
||
|
|
||
|
Added new error message to USE. It now checks for a matching filename
|
||
|
is a different case. Should help for this common error. I've not done
|
||
|
the same for INCLUDE, and it's probably not necessary????
|
||
|
|
||
|
----------
|
||
|
|
||
|
Added a few more chords. I'm not going to document these here, they
|
||
|
are updated in the docs.
|
||
|
|
||
|
-----------
|
||
|
|
||
|
Fixed up the read() code so that it returns lists. The BEGIN/END logic
|
||
|
has been moved to read() as well, which fixes the earlier problem with
|
||
|
repeats not working properly. NOTE for docs: BEGIN/END are local to a
|
||
|
file, and an error occurs if you try USE or INCLUDE while a BEGIN is
|
||
|
active.
|
||
|
|
||
|
------------
|
||
|
|
||
|
Continuation lines! Multiple lines in a file can be concatenated by
|
||
|
ending successive lines with a single '\'. For example:
|
||
|
|
||
|
Chord Define G1 1 4 90 0 90 0 ; \ 2.5 8 90 0 90 0; \ 3 4 90 0 90 0; \ 4 4 90 0 90 0
|
||
|
|
||
|
Get translated to the single line:
|
||
|
|
||
|
Chord Define G1 1 4 90 0 90 0 ; 2.5 8 90 0 90 0; 3 4 90 0 90 0; 4 4 90 0 90 0
|
||
|
|
||
|
Comments are stripped AFTER lines are appended. So:
|
||
|
|
||
|
Chord Define G1 1 4 90 0 90 0 ; // This is a comment \ 2.5 8 90 0 90 0
|
||
|
|
||
|
Becomes:
|
||
|
|
||
|
Chord Define G1 1 4 90 0 90 0 ;
|
||
|
|
||
|
NOTE: The 2nd line as well as the comment have been deleted!
|
||
|
|
||
|
We could change this, but the whole ugliness of continuation lines
|
||
|
probably suggests that the way we have it is the right way. Comments?
|
||
|
|
||
|
|
||
|
Note that you can use continuation lines at any point in your input.
|
||
|
|
||
|
INPUT FILE FORMAT CHANGE!!!!!!!!!!! With this the trailing '@' to
|
||
|
indicate the end of a DEFINE has been eliminated. In fact, having a
|
||
|
trailing '@' will generate an error. They have been deleted from all
|
||
|
my files....
|
||
|
|
||
|
---------------------
|
||
|
|
||
|
The docs have been split into two different files. The reference to
|
||
|
the standard library has been taken out of the reference manual and is
|
||
|
now a separate file (lib.ps). As well, a tutorial has been started.
|
||
|
|
||
|
---------------------
|
||
|
|
||
|
Test for proper python version added.
|
||
|
|
||
|
---------------------------
|
||
|
|
||
|
BEGIN/END Blocks can now be nested. This means that you can do
|
||
|
something like:
|
||
|
|
||
|
Begin Chord
|
||
|
Begin Define
|
||
|
C1234 4
|
||
|
End
|
||
|
Octave 4
|
||
|
Voice Piano1
|
||
|
End
|
||
|
|
||
|
This is most useful for Doc blocks.
|
||
|
|
||
|
----------------------------
|
||
|
|
||
|
Documentation blocks. Please see the ref-man for detail, but a new set
|
||
|
of commands for embedding documentation in library files has been
|
||
|
added. Also, added a -x option to print out (eXtract) the doc strings.
|
||
|
|
||
|
The syntax for DefGroove has been expanded to permit a trailing
|
||
|
comment.
|
||
|
|
||
|
DefGroove Waltz This is a waltz groove
|
||
|
|
||
|
Defines the groove, but it also does a:
|
||
|
|
||
|
Doc Defines This is a waltz groove
|
||
|
|
||
|
This should help in maintaining library docs!
|
||
|
|
||
|
|
||
|
-----------------------------------------
|
||
|
|
||
|
Added new comand:
|
||
|
|
||
|
Chord | BASS | etc. LIMIT <value>
|
||
|
|
||
|
This limits the number of notes of a chord used. Mostly, this will
|
||
|
kill off the odd sounding (to some people) of the higher notes in
|
||
|
chord, esp. when the chord is an 11th, 13th, etc.
|
||
|
|
||
|
|
||
|
---------------------
|
||
|
|
||
|
Added new command:
|
||
|
|
||
|
EOF
|
||
|
|
||
|
This stops the processing of a file. Useful if you just want to test
|
||
|
the first part. Note that the rest of the file is NOT PARSED.
|
||
|
|
||
|
|
||
|
May 15, 2003 - released 0.2
|
||
|
|
||
|
==========================================
|
||
|
|
||
|
New command: Duplicate. This duplicates each note for Scale, Chord,
|
||
|
Apreggio, and Bass by the specified ocatve.
|
||
|
|
||
|
---------------------------
|
||
|
|
||
|
July 19, 2003
|
||
|
|
||
|
Fixed up error reporting to include filename being processed.
|
||
|
|
||
|
Added several lib files.
|
||
|
|
||
|
August 2, 2003 - released 0.3
|
||
|
|
||
|
===============================================
|
||
|
|
||
|
Aug 28, 2003
|
||
|
|
||
|
Added CUT command.
|
||
|
|
||
|
|
||
|
Septebmer 18, 2003
|
||
|
|
||
|
Variable support, conditionals, label and goto have been added. This
|
||
|
is a big addition (and probably has bugs!). Read the new chapter in
|
||
|
the manual "Varaibles..." for all the details.
|
||
|
|
||
|
|
||
|
Changed the input reading routine again. Continuation lines and
|
||
|
comments have been changed once again. Comments are now stripped after
|
||
|
line joining.
|
||
|
|
||
|
|
||
|
October 19, 2003 - released 0.4
|
||
|
|
||
|
|
||
|
Modified InvertChord function. Chords are no longer rotated; just the
|
||
|
notes are changed.
|
||
|
|
||
|
December 4, 2003
|
||
|
|
||
|
Added new command:
|
||
|
|
||
|
Debug [mode=on/off] Modes debug, patterns, sequence, runtime, warnings, expand.
|
||
|
|
||
|
This is the same as the commandline options -dpsrwe
|
||
|
|
||
|
|
||
|
Changed command line options a bit. All document extractions are now
|
||
|
part of -D.
|
||
|
|
||
|
Added commands to extract midi inst. and chord info (see -D)
|
||
|
|
||
|
Reworked chords into a class.
|
||
|
|
||
|
December 5, 2003
|
||
|
|
||
|
The file extenstion .mma has been created. For song files using an
|
||
|
extension is optional, but for lib files using automatic groove
|
||
|
detection it is mandatory. Simply, when mma opens a file it first
|
||
|
checks to see if the filename as given exists. If it does not exist
|
||
|
AND the filename does not end with ".mma", the extension is added. The
|
||
|
deliberate exception is that when libraries are searched/processed
|
||
|
with the -g option only files with a .mma extension are processed.
|
||
|
|
||
|
A lot of testing is done to make sure that files can be specified with
|
||
|
or without the .mma extension. And tests are done to strip the
|
||
|
extension when creating the midi file. If you find a bug here, please
|
||
|
shout at me!
|
||
|
|
||
|
December 11, 2003
|
||
|
|
||
|
Added LYRIC command. See the docs for details, but the short version
|
||
|
is:
|
||
|
|
||
|
lyric My lyrics are not so good.
|
||
|
|
||
|
This adds the text in the current bar, so it should appear before the
|
||
|
chord data. Lyrics are added a MIDI Meta-event data ($FF $05) in the
|
||
|
Meta track.
|
||
|
|
||
|
|
||
|
December 17, 2003
|
||
|
|
||
|
The LIMIT command has been changed. No longer can you specify
|
||
|
different values for each bar in the sequence. Just didn't make
|
||
|
musical sense. Shout at me if you think you need it.
|
||
|
|
||
|
December 19, 2003
|
||
|
|
||
|
Changed the defaults for searching for the library. We now set up the
|
||
|
path depending on what library can be found.
|
||
|
|
||
|
December 22, 2003
|
||
|
|
||
|
Added DIRECTION UP/DOWN code to walking bass.
|
||
|
|
||
|
Added -o option to display complete filenames as they are
|
||
|
opened. Handy to figure what lib files are really being used.
|
||
|
|
||
|
Chord voicing: This has been a lot of work (THANKS ALAIN!). I think it
|
||
|
is working well enough to set it free in the real world. Please read
|
||
|
the new chapter in the reference manual dealing with voicing! This is
|
||
|
a big change and makes tracks much more musical.
|
||
|
|
||
|
|
||
|
December 26, 2003
|
||
|
|
||
|
Okay--this is a big release! And there are a lot of changes NOT listed
|
||
|
above (sorry). I'll try to be more prompt in future releases. And,
|
||
|
yes, I think we are approaching 1.0!
|
||
|
|
||
|
Released 0.5.
|
||
|
|
||
|
-------------------------------------
|
||
|
|
||
|
MAJOR CHANGE: MMA is now modular Python!
|
||
|
|
||
|
Install note: the python modules for mma MUST be in one of the
|
||
|
following locations:
|
||
|
|
||
|
/usr/local/share/mma/modules -- the preferred location
|
||
|
|
||
|
/usr/share/mma/modules -- alternate
|
||
|
|
||
|
./modules -- permits running from working dir
|
||
|
|
||
|
|
||
|
The library location has been changed. The standard lib is now in on
|
||
|
of:
|
||
|
|
||
|
/usr/local/share/mma/lib/stdlib
|
||
|
|
||
|
/usr/share/mma/lib/stdlib
|
||
|
|
||
|
./lib/stdlib
|
||
|
|
||
|
The idea is that other template libs should be put into the lib
|
||
|
directory.
|
||
|
|
||
|
This does create a problem for people with USE directives calling
|
||
|
standard files. You really should get rid of the USE and rely on 'mma
|
||
|
-g' and the database it creates, or change the paths in USE to include
|
||
|
the subdir. IE, change "use rhumba" to "use stdlib/rhumba".
|
||
|
|
||
|
To complete this, we've modifed the -g code (and made it much
|
||
|
simpler). It now runs MUCH faster. It also scans subdirectories. And,
|
||
|
if there is a special file "MMAIGNORE" in a directory, that dir will
|
||
|
be ignored (including subdirs).
|
||
|
|
||
|
The SetLibPath command has been modified. It now looks for a '+' as a
|
||
|
leading char in any of the args, or by itself. If found, ALL the paths
|
||
|
in the command are APPENDED to the current path; otherwise the libpath
|
||
|
is set to path(s).
|
||
|
|
||
|
Rewritten part of the tutorial. Originally we used "Happy Birthday" as
|
||
|
an example song, but that song is under copyright (really!) and we
|
||
|
can't legally include the score for it. So, we're using "Fella Bird"
|
||
|
instead.
|
||
|
|
||
|
Added MIDI command to send arbitrary MIDI data to any track. See docs!
|
||
|
|
||
|
Added the IncPath directive. This sets the search path for MMAstart,
|
||
|
MMAend and Include paths.
|
||
|
|
||
|
MMAstart and MMAend can now have multiple values.
|
||
|
|
||
|
February 7, 2004
|
||
|
|
||
|
Again, way too long in releasing this. But, the modularization changes
|
||
|
keep biting back. I think it's stable now. Feedback appreciated!
|
||
|
|
||
|
Fixed bug in random chord movement which caused chords to float off
|
||
|
the keyboard.
|
||
|
|
||
|
February 9, 2004
|
||
|
|
||
|
Released 0.6
|
||
|
|
||
|
-----------------------------------
|
||
|
|
||
|
February 10, 2004
|
||
|
|
||
|
The chord table has been changed. Duplicates are now listed in a
|
||
|
synonym table. Added code to properly handle this in the doc generator
|
||
|
as well.
|
||
|
|
||
|
|
||
|
Minor change to FERMATA. If the offset is negative (FERMATA -1 1 150)
|
||
|
then all note-on events in the specified beat are cancelled. See docs
|
||
|
for detailed explanation.
|
||
|
|
||
|
|
||
|
Added RIFF. A riff is a one bar override to an existing pattern. See
|
||
|
the new chapter on RIFFs in the docs.
|
||
|
|
||
|
Better error detection in main module when loading modules.
|
||
|
|
||
|
In specifying note durations the dotted and double dotted notation has
|
||
|
be added. So, "2." = "2+4" = "4+4+4"; "2.." == "2+4+8".
|
||
|
|
||
|
The notation in patterns '3' was generating a 1/4 note triplet, not a
|
||
|
1/8 as advertised. Fixed (you may have pattern/lib issues).
|
||
|
|
||
|
MIDI tracks are now automatically allocated. The -c command now parses
|
||
|
the entire file and then reports MIDI channel usage (no file is
|
||
|
produced).
|
||
|
|
||
|
The MIDI commands for Portamento, Pan, TrackName and ChannelVolume are
|
||
|
now stacked in the track buffers. They are sent into the MIDI stream
|
||
|
when musical data is created for the track. This saves on creating
|
||
|
MIDI tracks with only directives, but no data. Also makes it easier to
|
||
|
assign these events to the track, not the channel.
|
||
|
|
||
|
Add the MELODY and SOLO tracks. This lets you add any kind of music to
|
||
|
your tracks. Added the commands KEYSIG, AUTOSOLOTRACKS and HARMONY.
|
||
|
See the new chapter in the docs.
|
||
|
|
||
|
I've spent a few days on the docs and have successfully implementing
|
||
|
latex2html for all the files. This means that there is now an HTML
|
||
|
version of the docs in addition to the ps standard.
|
||
|
|
||
|
|
||
|
Added COPY command. This takes a useful subset of parms from one track
|
||
|
and copies it to another. Useful in libs when you want a set of tracks
|
||
|
with the same articulation, voicing, etc.
|
||
|
|
||
|
April 19, 2004 Released 0.7
|
||
|
|
||
|
---------------------------
|
||
|
|
||
|
MAJOR CHANGE IN TRACK ALLOCATION AND NAMES!
|
||
|
|
||
|
1. Valid track names are BASS, CHORD, etc (just the base) and
|
||
|
the base plus a '-' and a string. This means that all
|
||
|
of the following are valid track names:
|
||
|
|
||
|
BASS BASS-1 BASS-Sustaining-String
|
||
|
|
||
|
However, the old notation of BASS1, DRUM5, etc. are NO
|
||
|
LONGER VALID.
|
||
|
|
||
|
2. Tracks are now allocated dynamically and there is no limit
|
||
|
on the number of sub-tracks. To see what's happening
|
||
|
run mma with the -c option of a few existing songs to
|
||
|
see the track allocation.
|
||
|
|
||
|
Sorry if this breaks your existing libs, but I think we need
|
||
|
some stable track nameing rules. This new naming scheme should
|
||
|
also permit more descriptive names in lib file for the
|
||
|
different tracks.
|
||
|
|
||
|
The -c command line option has been modified to show the names of the
|
||
|
allocated tracks as well as the midi channel info.
|
||
|
|
||
|
|
||
|
Rewrote the harmony function. Valid harmony types are 2, 3, OPEN,
|
||
|
2ABOVE, 3ABOVE or OpenAbove. To disable harmony use a '-' or 0.
|
||
|
Harmony enabled for scale, arpeggio, walk, bass, solo and melody. Also
|
||
|
fixed bug in harmony when used with transpose (you really do need to
|
||
|
tranpose both the main and the harmony at the same time!)
|
||
|
|
||
|
|
||
|
Fixed some MS-DOS/WINDOWS problems. Added a 'b' to the open/file
|
||
|
statement when creating a midi file to force binary. Plus, the midi
|
||
|
file is now created in-memory with the possibly problematic
|
||
|
tell()/seek() being deleted.
|
||
|
|
||
|
Large rewrite of the pattern define code. You can now do things like:
|
||
|
|
||
|
Drum Define D1234 1 0 90 * 4
|
||
|
|
||
|
or even
|
||
|
|
||
|
Drum Define D1234' 1 0 90 * 4 Shift .5
|
||
|
|
||
|
See the updated docs!
|
||
|
|
||
|
When setting a sequence you can use a dynamically allocated pattern.
|
||
|
For example:
|
||
|
|
||
|
Drum-Ugly Sequence { 1 0 99 * 4 }
|
||
|
|
||
|
or
|
||
|
|
||
|
Drum-Foo Sequence { D1234; 1.5 0 99 } { D1234 }
|
||
|
|
||
|
|
||
|
I've added this option since I find that an awful lot of defines are
|
||
|
just used once, and they _really_ should be with the sequence, not in
|
||
|
a separate block.
|
||
|
|
||
|
Fixed sequence sizing error when restoring volume grooves.
|
||
|
|
||
|
Added the ACCENT command.
|
||
|
|
||
|
The entire chunk of code dealing with patterns and definitions has
|
||
|
been reworked and simplified:
|
||
|
|
||
|
- Definitions are now stored in one big dict, they are not
|
||
|
|
||
|
- saved or restored in grooves, they must exist when used in a
|
||
|
|
||
|
- SEQUENCE, changing the def of a pattern after it is used in
|
||
|
|
||
|
- a SEQUENCE has no effect on the seq.
|
||
|
|
||
|
|
||
|
Deleted optional notation for specifing a repeated bar. Used to be
|
||
|
that
|
||
|
|
||
|
1 Em / / / *2 // NOW ILLEGAL
|
||
|
|
||
|
and
|
||
|
|
||
|
2 Em / / / * 2
|
||
|
|
||
|
were the same. (1) is no longer permitted.
|
||
|
|
||
|
LibPath and IncPath are NO longer lists. Only one path can be
|
||
|
specified for either. The file search stuff has been rewritten as
|
||
|
well... searches now follow a simple line for opening all files. See
|
||
|
the docs in the paths chapter for details.
|
||
|
|
||
|
The auto-groove stuff has been rewritten. The database is now stored
|
||
|
in MMADIR as a picked dataset.
|
||
|
|
||
|
Added PrintActive command. Use when developing groove files to see
|
||
|
what is active at certain points. Debugging tool only!
|
||
|
|
||
|
Fixed problem with overlapping ON/OFF events. This eliminates all
|
||
|
kinds of RSKIP/ARTICULATE problems.
|
||
|
|
||
|
Walking bass routine reworked. Resulting patterns are harmonious (but
|
||
|
uninspired).
|
||
|
|
||
|
Added DELETE command. This lets you delete an existing track, freeing
|
||
|
its midi channel for future use.
|
||
|
|
||
|
Changed the TEMPO command ... if you use a '*', '+' or '-' modifier
|
||
|
this must be a separate token. Earlier we demanded "*.9", now we want
|
||
|
"* .9". Sorry, if this breaks anything, but it makes things more
|
||
|
consistent.
|
||
|
|
||
|
The DOC suite of commands has been changed/simplified. The old syntax
|
||
|
of "DOC AUTHOR" or "Doc Note ..." is no longer recognized. Instead, we
|
||
|
have three doc methods or commands:
|
||
|
|
||
|
1. Anything after a DEFGROOVE is passed to docs to be saved as
|
||
|
as description. 2. AUTHOR - this saves the "author name",
|
||
|
but is not currently used. 3. DOC ... - this saves the
|
||
|
data for use in a lib file header.
|
||
|
|
||
|
See the docs or just look at some of the included lib files.
|
||
|
|
||
|
|
||
|
The '/' is NOT permitted in a groove name. This is now reserved for a
|
||
|
future use idea.
|
||
|
|
||
|
June 25, 2004
|
||
|
|
||
|
Released 0.8
|
||
|
|
||
|
---------------------------
|
||
|
|
||
|
|
||
|
Running status has been implemented for the generated MIDI files. This
|
||
|
is actually pretty simple to do and generates MIDI files which are
|
||
|
about 25% smaller. Don't know if there are any other savings, but it
|
||
|
seems to be the "right thing" to do. If you DON'T WANT running status
|
||
|
generation use the "MidiFile Running=0" directive.
|
||
|
|
||
|
You can now generate type 0 MIDI files. Some players only play these,
|
||
|
so you have the option. The command "MidiFile SMF=<type>" sets this to
|
||
|
1 (default) or 0. I suggest adding this to your mmarc file. There is a
|
||
|
cmdline option for this as well '-M x' where x is 0 or 1. This will
|
||
|
override the setting in the RC file, but not in your song/init/groove
|
||
|
files.
|
||
|
|
||
|
Added RANGE command. This applies to the number of octaves a scale or
|
||
|
arpeggio uses. Note: scale used to use COMPRESS for this...COMPRESS
|
||
|
does nothing for scale.
|
||
|
|
||
|
DUPLICATE was transposing already transposed notes for very
|
||
|
interesting effects.
|
||
|
|
||
|
I have done a lot of increased modularization. I had a bit of fear
|
||
|
that this would slow processing, but I see no such effect. And smaller
|
||
|
modules should make code writing easier!
|
||
|
|
||
|
When creating a track MMA no longer sets the default channel volume to
|
||
|
100. It is left as is. Either set the volume in an include file (see
|
||
|
includes/init.mma for an example), or do a explicit TRACK
|
||
|
CHANNELVOLUME command in your groove or song file (or even a mmastart
|
||
|
file). This is done the way it now is to avoid having MMA do things
|
||
|
behind your back...
|
||
|
|
||
|
Opps, I wasn't opening the database file in binary mode...so sorry if
|
||
|
you are using an OS from Redmond which requires this.
|
||
|
|
||
|
July 5, 2004
|
||
|
|
||
|
Released 0.9
|
||
|
|
||
|
------------------------------
|
||
|
|
||
|
|
||
|
Fixed up the -g option so that only new/modfied/deleted library files
|
||
|
are processed. Greatly speeds up this operation!
|
||
|
|
||
|
|
||
|
MAJOR change to the way bass patterns are defined. The note offset
|
||
|
MUST be a '1', '3' or '5', referring to the root, third and fifth of
|
||
|
the scale.
|
||
|
|
||
|
|
||
|
Python version change: Minimum version for Python has been upped to
|
||
|
2.3. Since this version was release in Aug/03 I don't think we're
|
||
|
pushed too many envelopes on this.
|
||
|
|
||
|
Added internal macros $_Volume and $_LastVolume.
|
||
|
|
||
|
I will drop DEFVOLUME/SETVOLUME from the next release unless people
|
||
|
really want it left in! I find that the code is ugly and quite
|
||
|
useless...it really doesn't do what people expect. Easier, if you need
|
||
|
to save a set of volumes for differnt inst. settings, just to do a
|
||
|
DefGroove to a private name.
|
||
|
|
||
|
In the library docs the grooves are listed in the order in which they
|
||
|
are defined. There is probably a reason for having defines in the
|
||
|
groove files in a certain order and the reporting should abide by
|
||
|
that.
|
||
|
|
||
|
|
||
|
The channel assigment code has been tweaked a bit. CHSHARE no long
|
||
|
complains about duplicate assignments. Added ChannelPref command (see
|
||
|
docs).
|
||
|
|
||
|
|
||
|
2 new variables: $_DEBUG and $_LASTDEBUG reflect the current state of
|
||
|
the debug flags and the state before the last "debug xxx=yy"
|
||
|
command. This value can be used to reset the debug state after a temp
|
||
|
change.
|
||
|
|
||
|
Added a MALLET command to reiterate notes in solo/melody tracks. Makes
|
||
|
things like marimbas should quite cool. See docs in the SOLO
|
||
|
section. See the sample song "Yellow Bird" for an example usage.
|
||
|
|
||
|
|
||
|
Added -G command line opt. Same as -g, but forces creation of
|
||
|
completely new database.
|
||
|
|
||
|
|
||
|
The VoicingMode and friends syntax has been changed :) The command
|
||
|
VoicingMode, VoicingCenter and VoicingRange have been deleted. New
|
||
|
command is VOICING with the option pairs MODE=XX, RANGE=xx, CENTER=xx,
|
||
|
RMOVE=xx, DIR=xx. See docs.
|
||
|
|
||
|
Minor changes to install script.
|
||
|
|
||
|
July 25, 2004 Released 0.10
|
||
|
|
||
|
--------------------------
|
||
|
|
||
|
The DefVolume/SetVolume code has been deleted from the code and the
|
||
|
docs. A "good idea" gone forever :)
|
||
|
|
||
|
Added the VoiceTR command. This lets you set up a voice name
|
||
|
translation table. Handy if you have a non-GM MIDI synth or want to
|
||
|
use difference voicings with library files.
|
||
|
|
||
|
The LYRIC command set has been changed, mostly just to get all the
|
||
|
lyric stuff into one container. Gone is LYRICVERSE. And the command
|
||
|
LYRIC now is used for all LYRIC options. Details in docs. As well, you
|
||
|
can specify the beat for a lyric syllable--just enclose it in <>s The
|
||
|
set [<3>Pick Up] will start the lyrics on beat 3. Useful in a pickup
|
||
|
bar situation.
|
||
|
|
||
|
Added the UNIFY command. If you set UNIFY for a track overlapping note
|
||
|
ON/OFF events will be combined into one long note. So, if you're doing
|
||
|
a sustained background note use:
|
||
|
|
||
|
Begin Chord-Sus Sequence {1 1 90 * 4 } Voice Strings
|
||
|
Articulate 100 Unify 1 End
|
||
|
|
||
|
This should generate more pleasing results than using a half or whole
|
||
|
note sequence and will obey chord changes on each note. See docs. All
|
||
|
supplied grooves have been fixed to use this.
|
||
|
|
||
|
To aid creation of BASS patterns ... you can specify an octave offset
|
||
|
in the offset. So, in addition to an offset of '1' you can have '1+'
|
||
|
or '1++' or '1-', etc.
|
||
|
|
||
|
MIDISeq - New command permits MIDI controller data to be sent at every
|
||
|
beat (or partial) in a bar for each track.
|
||
|
|
||
|
MIDIVoice - New command permits MIDI controller data to be sent with a
|
||
|
VOICE setting for each track/bar.
|
||
|
|
||
|
MIDIClear - Recommended command to undo the effects of MIDIVoice/Seq
|
||
|
at groove changes and file end.
|
||
|
|
||
|
MIDIDEF - definition class for MIDISeq/Voice/Clear.
|
||
|
|
||
|
Added docs for midi controller names. Added -Dcm and -Dca opts for doc
|
||
|
printing.
|
||
|
|
||
|
|
||
|
IMPORTANT NOTATION CHANGE in the MIDI command: Previously the args
|
||
|
were to be in hex; this has been changed. You can enter the value
|
||
|
'0x7f' as '0x7f' or '127' or even (if you like octal) '0177'. In
|
||
|
previous versions of mma we insisted on '7f' ... this will no longer
|
||
|
work.
|
||
|
|
||
|
Sept 21, 2004 Released 0.11
|
||
|
|
||
|
--------------------------
|
||
|
|
||
|
|
||
|
Timesig is properly set, only when needed. It's also saved as part of
|
||
|
the GROOVE.
|
||
|
|
||
|
|
||
|
Major change to BASS patterns. First off I've put tables into
|
||
|
MMAchords.py which represent scales associated with different
|
||
|
chords. I think they are all correct, but proof reading is
|
||
|
welcome. These scales are used to select bass notes, instead of taking
|
||
|
the notes out of a chord. The result is that you can now specify any
|
||
|
of 1 to 7 as the noteoffset to select in a bass pattern. This makes
|
||
|
bass much more versatile.
|
||
|
|
||
|
BASS pattern note offsets can also have a "+ - # b or &" added to
|
||
|
represent an alternate note. The "+ -" are for octaves, and can be
|
||
|
concatenated. For example, a note offset "5++" would be the fifth of
|
||
|
the scale (a "g" in a C chord) 2 octaves above the normal note. The
|
||
|
note offset "6#" would be the 6th raised a semitone (we use this in
|
||
|
the boggiewoggie style).
|
||
|
|
||
|
To keep chord names and note names similar, you can not use '&' as
|
||
|
well as 'b' to designate a flat. The chords 'E&' and 'Eb' are the
|
||
|
same.
|
||
|
|
||
|
The SCALE track has be revamped to use the new scale tables. The
|
||
|
SCALETYPE options are now limited to CHROMATIC and AUTO. I've also
|
||
|
attempted to keep the scale running to the next note even when chords
|
||
|
change. Also, changing SCALETYPE or DIRECTION will now reset the scale
|
||
|
to restart at point 0.
|
||
|
|
||
|
The WALK track now uses the scale tables. This should be transparent
|
||
|
from older versions, but faster.
|
||
|
|
||
|
Fixed minor problem with drum tracks not getting a default
|
||
|
voice. Added code to signal current voice set in shared tracks.
|
||
|
|
||
|
Added harmony types: 8 or 8BELOW - single note one octave below 8ABOVE
|
||
|
- single note one octave up 8BOTH - two notes, one octave
|
||
|
below and one above 16BOTH - two notes, 2 octaves below/above
|
||
|
|
||
|
AUTOSOLOTRACKS: This list now has a dual purpose. First, it assigns
|
||
|
solos to tracks in chord lines (as before). Second, it is parsed
|
||
|
before each chord line and any assigned tracks set as HarmonyOnly are
|
||
|
filled with Note data from the first line. See docs for details.
|
||
|
|
||
|
MIDIVOICE: I've added/duplicated the loops so that data can be sent
|
||
|
BEFORE or AFTER the controller voice data. Seems that some controllers
|
||
|
are reset by a voice, others not. My experiments show that BANK should
|
||
|
be sent before, most others AFTER. So, we use the beat offset: 0 ->
|
||
|
before; 1 (or anything not 0) after. Egs:
|
||
|
|
||
|
Voice Piano1 MidiVoice {0 Bank 5}
|
||
|
|
||
|
results in:
|
||
|
|
||
|
0 Param Ch=xx Con=00 val=05 0 ProgCh Ch=xx Prog=00
|
||
|
|
||
|
Voice Piano1 MidiVoice {1 ReleaseTime 100}
|
||
|
|
||
|
results in:
|
||
|
|
||
|
0 ProgCh Ch=xx Prog=00 0 Param Ch=xx Con=72 val=80
|
||
|
|
||
|
|
||
|
Just the order is changed, but a sequencer should send items in the
|
||
|
right order.
|
||
|
|
||
|
|
||
|
RIFFS: A new command, RIFFS (not RIFF) lets you set multiple riff
|
||
|
lines (for solos or sequences) in a stack. See the docs or the sample
|
||
|
file egs/riffs.mma.
|
||
|
|
||
|
LYRICS: Yes, a new command option "Lyric Set stuff" lets you define
|
||
|
lyrics in a command line. See the file egs/lyrics.mma for
|
||
|
example. Neat thing is that it works much like RIFFS so you can stack
|
||
|
all your lyrics in one place. Your mma files should look neater with
|
||
|
this :)
|
||
|
|
||
|
REPEATEND: Added optional counter. Now, "REPEAT..REPEATEND 2" will
|
||
|
cause a a total of 3 copies to be made. "REPEATEND 1" is the same as
|
||
|
the default. A bit of odd behaviour with REPEATENDINGS, but this
|
||
|
seems to be a logical way to handle things.
|
||
|
|
||
|
Added ~ notation to solo lines. A ~ as last note-event means to not
|
||
|
warn about too-long lines. In addition, the extra time is saved for
|
||
|
the next line. If a line starts with a ~ and the previous line ends
|
||
|
with ~ as well the extra time is squeezed into the new bar. This makes
|
||
|
it easy to handle notes which are tied across bar lines. Also, you can
|
||
|
have empty events by using just a <>. This is covered in the docs
|
||
|
better, but consider this:
|
||
|
|
||
|
z {4a;b;c;1+1+4d~;} z {~<>~;} z {~4a;}
|
||
|
|
||
|
|
||
|
Added the ability to include arbitary MIDI files into a MMA generated
|
||
|
file. See the docs and/or the files in eg/frankie.
|
||
|
|
||
|
|
||
|
Fixed bug in the voicing RMOVE code. I think the limits now work
|
||
|
properly and we no long have chords walking into the bass domain.
|
||
|
|
||
|
Dec 3, 2004 Released 0.12
|
||
|
|
||
|
--------------------------
|
||
|
|
||
|
Added note '6' for 1/16 triplet and '5' for 1/8 note quintuplet.
|
||
|
|
||
|
|
||
|
Slash chord (ie. F/C) are now supported. There are 3 possible slash
|
||
|
combinations:
|
||
|
|
||
|
- C/E - simple inversion D/C - addition of maj7 as bass note
|
||
|
- ("in the scale") D/G# - addition of a aug4 as bass note
|
||
|
- ("out of scale")
|
||
|
|
||
|
The first 2 forms are supported, the final causes an error.
|
||
|
|
||
|
Added a longish note on libraries in the paths section of the
|
||
|
documenation.
|
||
|
|
||
|
|
||
|
Added DEFCHORD. This permits you to define a new chord type in a mma
|
||
|
file. Syntax is detailed in the manual, but:
|
||
|
|
||
|
DefChord NAME Notes Scale
|
||
|
|
||
|
name is case INsensitive Notes are chord
|
||
|
offsets. Enclosed in () and comma separated.
|
||
|
(eg. Major Chord is ( 0, 3, 5) Scale are scale
|
||
|
offsets. Have to be 7. Enclosed in () and comma
|
||
|
separated. (eg. Major Chord has (0,2,3,5,7,9,10)
|
||
|
|
||
|
Added PrintChord. Prints the notes/scale associated with an existing
|
||
|
chord. Useful to cut/paste to create new chords with DEFCHORD.
|
||
|
|
||
|
PrintChord maj7 m7 dim
|
||
|
|
||
|
will print the existing defs for a "maj7", "m7" and "dim" chord.
|
||
|
|
||
|
Added ChShare* command. Exactly the same as ChShare, but no warning
|
||
|
printed. This is probably a shortlived addition, so you might NOT want
|
||
|
to use it :)
|
||
|
|
||
|
Chord patterns can have 'direction both' which causes strumming to
|
||
|
alternate directions.
|
||
|
|
||
|
The system macros have been completely reworked. They are now all
|
||
|
dynamic, so they don's show up in a ShowVars command. In addition, a
|
||
|
number have been added, in particular look at the $_TrackName_xx
|
||
|
macros ... these are useful in situations like when you do a
|
||
|
ChShare. See docs ... quite a bit on this.
|
||
|
|
||
|
Added warning if you select a track-groove with no sequence.
|
||
|
|
||
|
|
||
|
March 21, 2005 - released 0.13
|
||
|
|
||
|
--------------------------
|
||
|
|
||
|
CHSHARE* is gone.
|
||
|
|
||
|
CHSHARE has been changed a bit so that the current voice and octave
|
||
|
from the old track are now copied to the new track. In most cases,
|
||
|
this is what you will want. I really don't think that doing chshare is
|
||
|
a great idea unless it's really needed due to running out of MIDI
|
||
|
tracks. Makes for subtle problems and more difficult debugging.
|
||
|
|
||
|
VOICE - if you change voice in a track which has been CHSHAREd, a
|
||
|
warning will be printed.
|
||
|
|
||
|
OUTPATH: This setting can be done in the song file now, not only in a
|
||
|
MMAStart.
|
||
|
|
||
|
System macros $_AutoLibPath, $_LibPath, $_IncPath and $_Outpath
|
||
|
added. Well, a lot more than that ... best to check the docs for the
|
||
|
current list of system variables.
|
||
|
|
||
|
A major change to the auto groove loading database. Please read the
|
||
|
manual in the PATHS/FILES section. Autolib variable and setting
|
||
|
added. If you have a MMADIR file in your mma/lib directory please
|
||
|
delete it. The database(s) are now stored in files named '.mmaDB' in
|
||
|
each subdirectory in mma/lib.
|
||
|
|
||
|
Variable can be concatenated in SET. For example,
|
||
|
|
||
|
Set a foo bar Print $a > foo bar Set a foo + bar Print $a >
|
||
|
foobar
|
||
|
|
||
|
A chordname can start with a single "+" or "-". This will move the
|
||
|
chord and scale up/down one complete octave. Useful for chromatic
|
||
|
chord runs when the octave shifts the wrong way. Also, a secondary
|
||
|
octave adjustment has been removed (hopefully this will avoid some
|
||
|
awkward shifts).
|
||
|
|
||
|
Added new command ALLTRACKS. This loops though all currently defined
|
||
|
tracks and applies the given command. Eg: "Alltracks Articulate 90".
|
||
|
|
||
|
With ALLTRACKS working the global versions of CHANNELVOLUME, RSKIP,
|
||
|
RTIME and RVOLUME have been deleted. Use the track specific versions
|
||
|
or use ALLTRACKS. I think that this is more explicit and easier to
|
||
|
follow.
|
||
|
|
||
|
Increased permittable ARTICULATE values to 200 (which means that notes
|
||
|
will sound 2x as long as requested). Values greater than 120 will
|
||
|
generate warning (the 200 limit is just something self-imposed). You
|
||
|
might find values in the range 100 to 120 handy to force long and tied
|
||
|
notes.
|
||
|
|
||
|
Fixed DOWN DIRECTION in Scale tracks (it now works).
|
||
|
|
||
|
Fixed annoying bug which sometimes put VOICE changes after the first
|
||
|
note in a track (RSKIP could put first note before bar start).
|
||
|
|
||
|
May 14, 2005 - released 0.14
|
||
|
|
||
|
----------------------------------
|
||
|
|
||
|
Fixed Voicing so that "Rmove=0" is legal. Validation didn't accept
|
||
|
"0" and this created a system macro problem.
|
||
|
|
||
|
Fixed MidiClear to take at the start of a groove switch, not the
|
||
|
end. If done at the end the data was gone.
|
||
|
|
||
|
The (de)cresc code has been modified to take an intial "start
|
||
|
volume". So, instead of doing something like:
|
||
|
|
||
|
volume pp
|
||
|
Cresc mf 8
|
||
|
|
||
|
you can now combine this to:
|
||
|
|
||
|
Cresc pp mf 8
|
||
|
|
||
|
|
||
|
|
||
|
The ACCENT code has been tweaked and you can now have a different set
|
||
|
of accents for each bar in the seq. To use this you have to set
|
||
|
different bars in {}s. The old method still works. Egs:
|
||
|
|
||
|
// accent drum on beats 1 and 3
|
||
|
|
||
|
Drum Accent 1 20 3 20
|
||
|
|
||
|
// same as above for bars 1/2/3, on 4 do beat 1 only.
|
||
|
|
||
|
Drum Accent {1 20 3 20} / / {1 50}
|
||
|
|
||
|
|
||
|
A new command, DrumTR, as been added. This is similar to the existing
|
||
|
VoiceTR command, but translated drum tone selections.
|
||
|
|
||
|
Added VoiceVolTr and DrumVolTR. Same purpose as DrumTr and VoiceTr
|
||
|
... in both cases the volumes assigned to certain tones are
|
||
|
adjusted. Read the docs.
|
||
|
|
||
|
The RC FILE logic has been changed a bit. First, the order for
|
||
|
checking for RC files now FOLLOWS the order in the docs. Second, the
|
||
|
reading of RC files ends when the first one has been found. If you
|
||
|
want multiple RC files read, include the others in the top level.
|
||
|
|
||
|
Don't know what I was thinking at the time, but most of the minor
|
||
|
scales were wrong (the chords were okay).
|
||
|
|
||
|
Fixed bug in tilde continuation in solo notation.
|
||
|
|
||
|
Added ChordAdjust command. This moves selected chords (by pitch)
|
||
|
up/down one octave. See docs.
|
||
|
|
||
|
Fixed Solo tracks so that tracks without data are properly converted
|
||
|
when HarmonyOnly is set. Whatever code was in previous versions was
|
||
|
dumb and wrong.
|
||
|
|
||
|
July 22, 2005 - release 0.15
|
||
|
|
||
|
-------------------------------
|
||
|
|
||
|
Added NOTESPAN directive (mostly to duplicate accordion bass). Added Macro
|
||
|
$_TRACK_NOTESPAN.
|
||
|
|
||
|
When calculating a note length you can subtract as well as add. So, to
|
||
|
get a note just a bit shorter than a full bar, you can do something
|
||
|
like "1-0" which generates a note 1 midi tick shorter than "1".
|
||
|
|
||
|
The code which set the keysig in the MIDI track was broken. Fixed.
|
||
|
|
||
|
You can now use names like "F" or "G#" when setting the key signature
|
||
|
(as well as 1b, 2#, etc). See docs.
|
||
|
|
||
|
ALLTRACKS has been fixed, and now has an optional track type
|
||
|
parameter. See docs.
|
||
|
|
||
|
For all volume commands you can now specify the volume as a dynamic
|
||
|
string (ff, mp, etc) a value (10,30, 100, etc) or an percentage
|
||
|
adjustment (-10, +30, etc.)
|
||
|
|
||
|
The various volume macros now print numeric values instead of guessing
|
||
|
at the closest musical string.
|
||
|
|
||
|
Subdirectories in the lib directory were not properly initializing the
|
||
|
.mmaDB database file.
|
||
|
|
||
|
When defining patterns you can specify a beat from 0 to 4.9 (assuming
|
||
|
4/4) rather than 1 to 4.99. Any chords player in the 0 to .999 range
|
||
|
will be played in the previous bar, but with the current bar's
|
||
|
chord. Nice for push chords in jazz. A warning will be printed for all
|
||
|
patterns with 0 to .99 offsets.
|
||
|
|
||
|
Added 81 and 82 notes. 81 is the first of a swingskew 8th, 82 the 2nd.
|
||
|
|
||
|
Added SWINGMODE command: args ON/OFF en/disable swingmode. Skew=xx
|
||
|
sets the rate for paired 8ths. You need to use the special 81 and 82
|
||
|
notation for this. See docs ... it's way too complicated for this file.
|
||
|
|
||
|
Added STACKVALUE command. This puts its args on a stack. You can
|
||
|
retrive with $_STACKVALUE. Handy to save/restore settings in a section
|
||
|
without needing a 'real' variable.
|
||
|
|
||
|
Oct, 2005 - release 0.16
|
||
|
|
||
|
-------------------------------
|
||
|
|
||
|
The SEQNORND command has been removed (use SeqRnd OFF).
|
||
|
|
||
|
SeqRnd has been enhanced. You now need to specify ON or OFF, plus in
|
||
|
global mode you can specify the tracks to apply rnd to. See docs.
|
||
|
|
||
|
Added macros $_SeqRnd and $_TRACK_SeqRnd.
|
||
|
|
||
|
Fixed bug in INVERT - thanks to Matti Jokinen.
|
||
|
|
||
|
The notes C# and Cb were left as natural in Solo/Melody (a result of
|
||
|
the swingmode hacking). Also, the note C below the staff was not
|
||
|
generating a harmony note. Sorry ... important enough to force an
|
||
|
interm release.
|
||
|
|
||
|
Oct 8, 2005 - release 0.17
|
||
|
|
||
|
-------------------------------
|
||
|
|
||
|
AutoSoloTracks: If there was a trailing space in the first solo an
|
||
|
error would occur with the auto track. Lines like {1c ; } didn't parse
|
||
|
properly for the 2nd track.
|
||
|
|
||
|
When a variable set with MSET is epxanded the current state of BEGIN
|
||
|
will be honored. Have a look at the song "All of Me" to see how this
|
||
|
feature is used to create a solo riff in 2 tracks.
|
||
|
|
||
|
The Begin/End code has been rewritten. I think it belongs in the parse
|
||
|
code, not the file.
|
||
|
|
||
|
Mset macros with only one line now work.
|
||
|
|
||
|
TEMPO: Changed again. Sorry. But, to make this consistent I've decided
|
||
|
to change the syntax once again. Now, you MUST NOT have a space
|
||
|
between the "+-*" and the value. So, to double the tempo use "Tempo
|
||
|
*2".
|
||
|
|
||
|
Warning messages now display filename as well as line number.
|
||
|
|
||
|
The RIFFS command has been deleted. The singular RIFF now handles
|
||
|
single and multiple settings.
|
||
|
|
||
|
Added the note lengths '23' and '43' for a half note and quarter note
|
||
|
triplet.
|
||
|
|
||
|
SEQCLEAR no longer deletes/clears info for SOLO tracks in global
|
||
|
context. Note, that "Solo Seqclear" still works as before. This change
|
||
|
is in keeping with the "gooves etc don't effect solo tracks" concept.
|
||
|
|
||
|
DUPLICATE. Gone! This was a command inserted in early development,
|
||
|
before we had unlimited tracks, etc. And it never really worked ... if
|
||
|
you want to duplicate a voice into a different octave, etc. just
|
||
|
create a new track.
|
||
|
|
||
|
From the command line it is possible to define a macro: -S foo=bar
|
||
|
will set the macro $foo to the value 'bar'.
|
||
|
|
||
|
Added CHORDS option to LYRICS. This copies the chord line as a lyric
|
||
|
event. So, your karaoke player can display the chords as they go
|
||
|
though the song. And while screwing with Lyric I've added a lyric
|
||
|
macro ... not that useful, but can be used in debugging.
|
||
|
|
||
|
A further enhancement to set volumes: you can set a volume with a
|
||
|
string and inc/dec that by a percentage. Example: ff+10 will give the
|
||
|
'ff' setting plus 10%; mf-10 will give the 'mf' setting minus 10%.
|
||
|
|
||
|
Adjustvolume: 2 changes ... set the changes as "mf=xx" pairs; the 'xx'
|
||
|
can be an existing volume, ie "mf=f+200" sets the volume "mf" to the
|
||
|
"f" volume plus 200%.
|
||
|
|
||
|
Nov 3, 2005 - release 0.18
|
||
|
|
||
|
---------------------------------
|
||
|
|
||
|
The lyrics->chord option wasn't discarding leading "-+".
|
||
|
|
||
|
|
||
|
GOTO has been improved. Now all lines with a leading linenumber are
|
||
|
considered to be labeled lines. So, it is now easy to jump to a
|
||
|
section without having to set a label. Handy if you want to just test
|
||
|
the last few bars of a song. Still doesn't work in repeats :)
|
||
|
|
||
|
A new "pattern" has been added to the "Sequence" command. You can now
|
||
|
use a single "*" to indicate "use existing pattern". This is useful if
|
||
|
you want to create a modification of an exisiting sequence. Example:
|
||
|
|
||
|
Drum Sequence D1234 D1
|
||
|
Drum Sequence * D24
|
||
|
|
||
|
The 2nd sequence will really be "D1234 D24"
|
||
|
|
||
|
|
||
|
Added default Tone to Solo tracks if they are DRUMTYPE. This is set
|
||
|
with a "Trackname Tone xx". It just means that you don't have to set
|
||
|
the initial tone in a solo string. Also, you can use the special name
|
||
|
"*" in a solo drum line to force the use of the default.
|
||
|
|
||
|
The MALLET option has been enhanced so that it now works will all
|
||
|
tracks, not just SOLO/MELODY as before.
|
||
|
|
||
|
Lyrics now support transposed chord names with the Chords=On
|
||
|
option. It DOESN'T look at the global transpose setting, so you can
|
||
|
have transposed chord names (perhaps for cappo?) other than the chord
|
||
|
names in the mma file. See docs.
|
||
|
|
||
|
For some unknown (to me) reason volumes were being applied
|
||
|
stupidly. In previous versions the base velocity was muliplied by the
|
||
|
track and master percentage ... now, the base is mulitplied by the
|
||
|
combinations of the track and master. This gives more consistant and
|
||
|
broader volumes.
|
||
|
|
||
|
Added volume "m" and use that as default. This is set to 100%.
|
||
|
|
||
|
The ratio of the master vrs. track volume can be adjusted with the
|
||
|
VolumeRatio command. Default applies 60% of the track volume and 40%
|
||
|
of the master.
|
||
|
|
||
|
Solo/Melody tracks had a funny initial velocity. They now default all
|
||
|
notes to a velocity of 90 ... this is adjusted by the track and master
|
||
|
volumes. You can't change the 90.
|
||
|
|
||
|
A bit of fiddling with REPEATs now permit using 0 and 1 as the
|
||
|
count. See the docs and the example file 'repeats'. This lets
|
||
|
you skip entire repeat sections. Handy for debugging and setting up codas.
|
||
|
|
||
|
VEXPAND -- somewhere along the way this was broken. Fixed.
|
||
|
|
||
|
LYRICS BARSPLIT -- was broken, fixed.
|
||
|
|
||
|
Added macros $_VExpand, $_BarNum and $_LineNum. SHOWVARS can now take
|
||
|
args (which vars to print).
|
||
|
|
||
|
Tweak to (De)Cresc. Previously the first bar after the Cresc was
|
||
|
played at an increased volume (or decreased for Decresc). Now the
|
||
|
first bar is played at the current volume. This makes sense in the
|
||
|
case of commands like "Cresc PP F 4" ... the first bar will now be at
|
||
|
PP, the 4th at F and the other 2 something inbetween.
|
||
|
|
||
|
Added -Dk command line option. This will print out a summary of the
|
||
|
various keywords MMA uses. This is meant to help folks writing editor
|
||
|
extentsions for MMA.
|
||
|
|
||
|
Dec 24, 2005 - release 0.19
|
||
|
|
||
|
---------------------------------
|
||
|
|
||
|
Bug in Sequence "*" when existing pattern was NULL fixed.
|
||
|
|
||
|
Solo tracks were not doing ARTICULATE.
|
||
|
|
||
|
In just about all cases where an integer value is expected you can use
|
||
|
hex or octal notation. Shout if I missed something. Mainly done to
|
||
|
support inc/dec for hex macro values.
|
||
|
|
||
|
Some additional harmony modes added.
|
||
|
|
||
|
Minor bug fixes.
|
||
|
|
||
|
March 8, 2006 - release 0.20
|
||
|
|
||
|
-----------------------------------
|
||
|
|
||
|
Fixed warning report when unknown track is used with "Track Groove".
|
||
|
|
||
|
MAJOR change to the modules stuff. I've done a bit better at using
|
||
|
Python standard packaging methods. As a plus, the code seems to run a
|
||
|
bit faster. From a user perspective, the only real change is that the
|
||
|
modules directory has been renamed MMA.
|
||
|
|
||
|
Fixed a few mistakes in midiInc ... misspelling of char() instead of
|
||
|
chars().
|
||
|
|
||
|
Lyric and Text events can now be copied via a MidiInc command. See
|
||
|
docs.
|
||
|
|
||
|
April 6, 2006 - release 0.21
|
||
|
|
||
|
-----------------------------------
|
||
|
|
||
|
|
||
|
Added GROOVE list. You can now have a list of grooves (instead of just
|
||
|
one) on a GROOVE command directive. This is for alternating time sigs,
|
||
|
or if you want a quick & dirty change between alternate bars. ALTERNATELY,
|
||
|
you can start a list of grooves with a <value>, and the specified groove will
|
||
|
be used. Handy for changing gooves in repeated sections. Minor change: you can't
|
||
|
have an integer as the name of a groove.
|
||
|
|
||
|
Fixed -c option, now shows channel assignments.
|
||
|
|
||
|
Added HarmonyVolume ... default harmony notes are 80% of main note.
|
||
|
|
||
|
Changed the harmony settings: the number of modes has been reduced,
|
||
|
but you can concatenate them like OPEN+8BELOW, etc. See docs.
|
||
|
|
||
|
Harmony now gets its own manual section.
|
||
|
|
||
|
Added optional 'cut' and 'common' settings to TIMESIG.
|
||
|
|
||
|
Added -i option to specify the RCfile to use.
|
||
|
|
||
|
Modified -Dk to be a bit more machine friendly ... no extra formatting.
|
||
|
|
||
|
Fixed parse bug. Lines with only a line number were causing an eof.
|
||
|
|
||
|
The routines extracting lib info reported tracks which had no sequence set.
|
||
|
|
||
|
Added ForceOut command. This forces the output of MIDI Voicing commands to
|
||
|
"empty" tracks. Neat to set the keyboard channel with a song. See manual.
|
||
|
|
||
|
June 26, 2006 - release 0.22
|
||
|
|
||
|
-----------------------------------------
|
||
|
|
||
|
I just discovered that python 2.4 has sorted() as a builtin :) So, I've gone
|
||
|
though the MMA code and changed a bunch of sort() to sorted().
|
||
|
|
||
|
Added RNDSEED command.
|
||
|
|
||
|
September 1, 2006 - release 0.23
|
||
|
|
||
|
-----------------------------------------
|
||
|
|
||
|
MidiInc: Added a bunch of warnings, added Start and End options - this permits
|
||
|
the inclusion of selected part of a midi file. The filename is now expanded for tildes.
|
||
|
|
||
|
Added MIDISPLIT so that each note in a track can be output to a different midi track.
|
||
|
|
||
|
Split out the midi.py file into midiC.py, midiM.py and midi.py.
|
||
|
|
||
|
Added SeqRndWeight for global and tracks. This is potentially very useful. Read the manual!
|
||
|
|
||
|
Added $_TRACK_Channel macro. Returns currently assigned MIDI channel number.
|
||
|
|
||
|
Added TRACK MIDITNAME command. This sets the track name (in the midi file) to something other
|
||
|
than the MMA track name.
|
||
|
|
||
|
Added an inversion option to chord notation. You can specify an inversion
|
||
|
with CHORDNAME>N where N is -5 to 5. This indicates the number of
|
||
|
rotations to do. Handy if you want to avoid slash chords, but want a special sound.
|
||
|
This documented in appendix A.1 of the reference manual.
|
||
|
|
||
|
The tutorial now has a "library creation" section. Thanks to Rony Steelandt.
|
||
|
|
||
|
Added RndSet. Sets a variable randomly from a list:
|
||
|
RndSet A 1 2 3 4 5
|
||
|
Sets $A to one of the values.
|
||
|
|
||
|
Added MIDIMARK. Inserts a midi marker at the specified offset.
|
||
|
|
||
|
Command name changes:
|
||
|
PAN -> MIDIPAN,
|
||
|
PORTAMENTO -> MIDIGLIS and
|
||
|
CHANNELVOLUME -> MIDIVOLUME.
|
||
|
These changes make all the MIDI commands somewhat more consistant.
|
||
|
|
||
|
September 25, 2006 - Released 1.0-RC1
|
||
|
|