Kara-Moon Forum

Developers & Technology => Musical MIDI Accompaniment (MMA) => Topic started by: bvdp on July 12, 2014, 07:04:03 PM



Title: MMA 14.0 Hot summer edition
Post by: bvdp on July 12, 2014, 07:04:03 PM
A stable release, version 14.07, of MMA--Musical MIDI Accompaniment
is available for downloading. In addition to a number of bug fixes
and optimizations, MMA now features:

 - Works with Python 2.7 or 3.x
 - Plectrum articulate
 - MIDI enhancements
 - Lots of minor enhancements and bug fixes

Please read the file text/CHANGES-13 for a complete list of changes.
 
MMA is a accompaniment generator -- it creates midi tracks
for a soloist to perform with. User supplied files contain
pattern selections, chords, and MMA directives. For full details
please visit:

   http://www.mellowood.ca/mma/

If you have any questions or comments, please send
them to: bob@mellowood.ca


Title: Re: MMA 14.0 Hot summer edition
Post by: sjzabel on August 24, 2014, 01:43:07 AM
Hi Bob,
Any chance you would consider, posting and working on the code via github so other developers could post bugs/enhancements?

Cheers,
Stephen


Title: Re: MMA 14.0 Hot summer edition
Post by: bvdp on August 24, 2014, 03:13:25 AM
I'd consider ....

But, honestly I've not had a boatload of code offerings for others in the years I've been doing MMA ... so I really don't see how going to github would make a difference. MMA's all in EDITABLE python, so if someone wants to make changes, it's really simple: You have code/source ... make changes! Of course, I understand the issue with changes having to go back to me for inclusion in the master. But, honestly, I really do prefer that. I'm a bit of a control nut :)

Guess the bigger question is: Just what would you guys and gals like changed in or added to MMA?


Title: Re: MMA 14.0 Hot summer edition
Post by: sjzabel on August 24, 2014, 09:04:05 PM
You still get to be in control :) Thats the wonderful thing about pull requests and git as a source control and github as a place to collaborate.

Part of it is just me being a bit selfish, working with projects on github is the norm for me professionally; so it is the flow that I am used to.

With regards to what I would like to see added... :) You have a lot of wonderful code that I'm learning about and getting to know so I don't know yet. Overall though I'll gush for a second... the ability to toss some chord progressions in, generate midi and then toss it into something like ableton and play with the voices and have something that sounds good in a couple of minutes is pretty amazing... so thank you for this program :)

Cheers,
Stephen


Title: Re: MMA 14.0 Hot summer edition
Post by: bvdp on August 24, 2014, 11:55:33 PM
I understand from the gushing that MMA is working nicely for you. Great  :-

I think I've been doing this coding for too long without using things like github or version control. Bad me. Probably cost me more time than I've ever saved in not learning it. But, I'm kinda set my ways :)

I will seriously look at this stuff....

My biggest excuse is that I have really, really crappy internet. At the very best I get 1mps down and about 1/4 of that up. And that's when things are working well. Plus the caps I have ... doing as little as possible away from my home computer is the best. I keep hoping to get a better connection ... but right now I have 2 (3 if you include disconnecting) choices: my crappy 1.5 connection or dialup. Isn't life in the rural areas of BC just wonderful! But, I do get to see deer in the backyard while I'm waiting :)


Title: Re: MMA 14.0 Hot summer edition
Post by: sjzabel on August 26, 2014, 02:17:48 AM
I'm a bit jealous of the deer :) Here in Austin, TX (at least in my part of the city) I get a lot of feral cats and 40mp down... but no deer... and no big backyard or clean fresh air. So the thing with git that is nicer than svn/cvs is that its standard flow is that everybody/ every machine maintains a local repository and you only push or pull out to a remote repository (such as github) when you have things in a fairly stable state. There is a nice plugin for OSX/Linux called gitflow that has some shell scripts/macros that enforce a workflow that is easier to work with multiple people. (http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/)

(I hear you on being a bit lazy when you are the only maintainer... I do it to)

Cheers,
Stephen


Title: MMA on github
Post by: alexis on August 26, 2014, 09:13:05 PM
Any chance you would consider, posting and working on the code via github so other developers could post bugs/enhancements?
+1.
I strongly support this suggestion. This would me much appreciated by developpers.
For at least one very basic reason: you can always have the last changes using a "git pull".
Those .tar.gz .zip archives are a pain in the neck when it comes about updating!
And you can manage pull requests, and get bug history, track bugs...

Alexis


Title: Re: MMA 14.0 Hot summer edition
Post by: bvdp on August 27, 2014, 01:38:10 AM
Okay ... it's on my list of things to learn and do. But, like I said ... I really do feel the need for reliable internet for all this!


Title: Re: MMA 14.0 Hot summer edition
Post by: Dewdman42 on November 21, 2014, 05:03:35 AM
FWIW, you don't need to be connected to the internet all the time in order to use git.  Git is a distributed model so github holds a copy and you hold a complete copy with all the versions on your local system.  You can be totally off line and work on the code completely and only need to be connected if and when you you want to push changes back to github. 

I highly endorse the github approach, it also provides wiki capabilities, and in  the long run it will foster continued improvement.  You can still organize things on github so that nobody can update the code without going through you.  You force them to fork and then send you a "pull request" and you can consider whether or not to merge their proposed change.  Its a good idea.


Title: Re: MMA 14.0 Hot summer edition
Post by: bvdp on November 21, 2014, 04:24:39 PM
Here's the bit (no pun intended) I don't get ...

I've got my working version here. It's the one I use and I hack. Yes, I should have multiple versions all cached away, etc. My bad. But, I do nightly backups, so I can go back a day/week/etc and bail out.

Now, you write a few lines of code and send them to me. I look at them, etc and decide to merge or not. Again, no problems.

However, with git I would do a pull and then your bit of code is magically inserted into my tree. Can I EASILY see what you have done, etc? Or do I need to now maintain 2 versions: my usable version and a 2nd for git?


Title: Re: MMA 14.0 Hot summer edition
Post by: folderol on November 21, 2014, 09:26:46 PM
Git has an 'undo' feature. It also allows you to maintain multiple test branches, and merge them back into the main one later on.

It is very richly featured, but somewhat poorly documented. Yoshimi (my pet project) is on Sourceforge as a git project. I still sometime quickly snatch a local copy if I think I'm about to do something especially dangerous, but (touch wood) it hasn't been needed yet.

Also, having distributed version control protects you from major disasters. If your house gets flooded out and you lose all your electronic gear, the repository will still be intact, not only on the host (Github, Sourceforge etc.) but also on the computers of every person who did a git pull.