Friday, January 29, 2016

Documentation day. I've done the first draft of the manual pages for the plugin stuff and started a developers "how to" as well. And, in between all that word-smithing I managed to go though the existing docs and fix some typographic stuff to do with footnotes at the end of sentences (note to self: the footnote reference number comes after the punctuation!).

Tuesday, January 26, 2016

I have more work done on the plugin mechanism. Plugin names and their associated directories are now totally case-insensitive. They can now reside in three different locations:

      the current directory (.),
      the directory of the current file being processed,
      the plugins directory.

Also added a bunch of debug stuff and sanity tests.

And, while hacking away, I've made the pretty printer for error/warning messages even pretty by using the terminal width for formatting.

All is very cool. Release coming soon.

Friday, January 22, 2016

In addition to my house chores (snow shovelling and getting a room ready to paint) I did manage a bit of MMA work today: Changed the error and warning report to pretty print (line wrap) messages. Wow, only took how many years to get around to this task? Well, it's done. Hurrah.

Thursday, January 21, 2016

I wrote the documentation for the enhanced subroutine code today. Getting it proofread right now. Hopefully that will now be done (I've been stalling way to long on this).

Next, I write the docs for the new plugin stuff. That's actually pretty easy ... the hard part is pushed off to plugin writers :)

So, a new developer release is getting closer and closer! Hopefully within a week.

Tuesday, January 19, 2016

And the name decision has been made. Plugins will reside in a directory with the same name as the plug ... so the "hello" plugin will live in plugins/hello. When the plug is registered it will be called "@hello".

This should make it easy to see plugin commands in mma source files.

Monday, January 18, 2016

I have the plugin business working quite nicely. Yes, soon there will be a beta for you all to try out!

But, first a question: How to name a plugin?

Up to now my test code has been accepting a name (for example "Hello") and adding that to the command tables currently in MMA. This means that you can use "Hello" just like any other command.

It might be just a bit too easy and quite hard to spot in MMA source files. So, I'm suggesting that we convert "Hello" to "*Hello" in the internal tables.

Any comments?


MMA -- Musical MIDI Accompaniment generates background tracks for your songs. Get it at http://www.mellowood.ca/mma .

Friday, January 15, 2016

So, a bit more work. A bit more searching for useful Python code (where would the world be without Google?). A bit more head-scratching. But, worthwhile!

MMA now has the ability to use plugin commands for both its basic and track operations. The process, once the plugin is written, is seamless and invisible to the user.

Cool.


MMA -- Musical MIDI Accompaniment generates background tracks for your songs. Get it at http://www.mellowood.ca/mma .

 I've been pretty neglectful in keeping this blog up-to-date. Lots of excuses ... but, I'll try to do a bit better! There is a new b...