Saturday, October 26, 2019

MMA 19.08b test version

I've posted developer 19.08.b. As always, bash away and let me know if problems. Major changes from 19.08:

    The order of arguments in DEFGROOVE has been reversed. This change makes the actual code reflect the documentation.

    -xNoCredit, -xChords and -xCheckFile have been added. Fun.

    Bunch of debugging, manual fixes, etc.

    Fixed summary to show midi file duration as mm:ss.

    Changed -g message to Skipped from Existing

    The options -xCheckFile and -xChords have been modified from 19.08a. They now take their args separately. No = sign is needed/permitted.

    The code for the zOPTIONS now finds the last chord. The docs for this section (Rests, section 8.4) have been rewritten.

Get it at:

  https://mellowood.ca/mma/downloads.html#developer

Tuesday, October 8, 2019

Python 2.x support

There will be one more (or two) python 2.x releases, probably this year or early 2020. I'm thinking we should remove 2.x support for MMA ... comments would be appreciated.

My suggestion at this time is to support it in the 2020 tree and then remove all conditionals, etc. in the 2021 release. On the other hand, it's probably not a big deal to continue to support 2.x "forever" :)

I really want to hear from you all about this.

Saturday, October 5, 2019

New developer testing release

I've just posted a new version for testing. Get it at:

 https://mellowood.ca/mma/downloads.html#developer

From the "what's new read me" file:


  • RNDSEED - changed to require an integer argument (or none). Now produces
  •  same results in python2 and 3.
  • More documentation changes. I fear this comment will never stop giving
  •  me grief :)
  • Fixed debug error reporting.
  • Added extended groovename option. You can now specify as DIR:Groovename.
  •  As always, see the docs.
  • GrooveAlias had it arguments reversed in the code. Fixed to match the existing
  •  documentation, debug and error messages.
  • At some point in the development cycle the check for env. variables
  •  stopped working. It's fixed now.
  • Added the cmd line option -xNOCREDIT which will supress the insertion
  •  of "Created by MMA ... filename" text into the meta track. PLEASE DO
  •  NOT USE THIS.
  • Added cmd line option -xCHORDS=a,b,c. This will check each chord and see
  •  if it acceptable to MMA. Displays error lines and list of the valid chords.
  • Added cmd line option -xCHECKFILE=filename. This will parse (somewhat) the
  •  file listed and report any unknown chords. At this point a 'z' chord in the
  •  format CHORDxTrack will report an error.
  •  Fixed circular import problem when setting debug options from cmd line

Please let me know of any problems, etc.

Sunday, August 4, 2019

MMA 19.08

I'm pleased to announce the long overdue update to MMA stable. Version 19.08 is now online and ready for your musical pursuits. Lots of new fun things, lots of new/updated examples, lots of manual fixes and clarifications. This is really a maintenance release fixing a number of issues in 19.07.  So, all I can add is "HAVE FUN". Get it at:

    https://mellowood.ca/mma/index.html

And, don't forget to visit the new MMA blog at

    https://musicalmidiaccompaniment.blogspot.com/

Have fun!

Tuesday, July 16, 2019

Series 19 updates have started

Just a quick post to let you all know that we're not finished working on MMA. The first enhancement was just completed: in lines being repeated with the * option you can now have the Lyric Chord=ON option set. And, you can have a text lyric as well (even though that will be discarded on line copies).

No developer post yet, but it should be quicker than the last time around!

Friday, July 12, 2019

Minor bug in windows

If you are running MMA on a windows OS you will have a minor problem in that the module fcntl doesn't exist on it. To fix, just do the following:

   1. In the file common.py delete line 34: import fcntl

   2. Replace line 63 in common.py with:

        try:   # Windows doesn't know about fcntl and doesn't need it.
            import fcntl
            fcntl.flock(opath, fcntl.LOCK_EX)   # make sure we print in one batch
        except:
            pass

For the curious: the fcntl.flock() sets up a lock so that only one process can write to the output file. This is the file used for reporting warnings, etc. if the environment variable MMA_LOGFILE is set. By wrapping it all in a try/except it all works ... just no file lock on windows.

The next developer release will include this patch.

Wednesday, July 10, 2019

MMA 19.07 ready

I'm pleased to announce the long overdue update to MMA stable. Version 19.07 is now online and ready for your musical pursuits. Lots of new fun things, lots of new/updated examples, lots of manual fixes and clarifications. So, all I can add is "HAVE FUN". Get it at:

    https://mellowood.ca/mma/index.html

Have fun with this. And, please let me know if you have any requests, questions, etc. And share you plugin and library files!!!

MMA 19.08b test version

I've posted developer 19.08.b. As always, bash away and let me know if problems. Major changes from 19.08:     The order of arguments in...