Kara-Moon Forum

Developers & Technology => Musical MIDI Accompaniment (MMA) => Topic started by: bvdp on October 06, 2019, 04:40:02 PM



Title: Testing verion 19.08a
Post by: bvdp on October 06, 2019, 04:40:02 PM
For those who missed the announcement in the previous thread ...

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.


Title: Re: Testing verion 19.08a
Post by: sciurius on October 06, 2019, 07:07:56 PM
Well.... The first thing I noticed was the still missing leading zero in:

Creating new midi file (114 bars, 4.15 min / 4:08 m:s): 'rideon.mid'


Title: Re: Testing verion 19.08a
Post by: bvdp on October 06, 2019, 09:06:27 PM
Yeah, that's cause I didn't have a test file with the right number of seconds in it :) Does changing line 304 of main.py to

  print("%s midi file (%s bars, %.2f min / %d:%02d m:s): '%s'" %
    (msg, gbl.barNum, gbl.totTime, gbl.totTime, (gbl.totTime%1)*60, outfile))

fix it?


Title: Re: Testing verion 19.08a
Post by: sciurius on October 07, 2019, 06:16:26 AM
That is, indeed, a good fix.
While on the topic: Is mentioning the length in decimal minutes useful? If not, the message could be shortened to

  print("%s midi file (%s bars, %d:%02d): '%s'" %
    (msg, gbl.barNum, gbl.totTime, (gbl.totTime%1)*60, outfile))


Title: Re: Testing verion 19.08a
Post by: bvdp on October 07, 2019, 04:38:40 PM
Yes, it is useful :) It was added awhile ago for the #1 user: me ... I use this to add up durations for playlists. Much easier to add a number of decimal values than sexagesimal.


Title: Re: Testing verion 19.08a
Post by: bvdp on October 11, 2019, 04:25:13 PM
Starting on the '19.08b' release, I have changed the -x code:

 1. The option doesn't need to be attached to the -x. So, -x NoCredit now works.
 2. Syntax for -xchords is now '-x Chords A B C'. No '=' or ',' permitted.
 3. Syntax for -xcheckfile=<file> is now '-x CheckFile <file>'. Again, no '='.

This was done mainly to permit shell expansion of filenames.

Working on doc changes to reflect all this right now.


Title: Re: Testing verion 19.08a
Post by: sciurius on October 11, 2019, 06:37:04 PM
Good job!


Title: Re: Testing verion 19.08a
Post by: bvdp on October 11, 2019, 06:53:36 PM
Good job!

Thanks. Just having fun ... interesting how we all have different ideas of fun :)