Hi Bob + everyone,
I have been using MMA for some time now with mixed results. However there is a significant learning curve to using MMA.
Yeah, there are too many options. Sorry
I never been able to make my own arrangements of music before and MMA is helping me with that. However what I want to do next is to use a library musical PARTS as easily as I can use Bob's library of musical GROOVEs.
Okay, I seem to be missing a concept here ... I think (and I could be wrong) that we're able to do this already.
<snip>
PART Base-CountryWaltz
PART Chord-CountryWaltz
PART Bass-ChordCountryWaltz
PART Drum-CountryWaltz
PART Drum-KickCountryWaltz
DefGroove CountryWaltz
I _think_ you can do this already with existing groove notation. So, to create a modified "Countrywaltz" you can do:
// make the existing groove active
// and load all the grooves in the countrywaltz file into memory.
Groove Countrywaltz
// now modify the bass line
Begin Bass
Sequence ...
Octave ..
Voice ..
End
// And bring in the strings from another groove
Chord-Strings Groove CountryWaltzSus
// Create a new/modified groove
DefGroove CountryWaltz
I think the key here is the "Trackname Groove existing-groove-name" option.
I don't see making multiple commands on a line at this point. If nothing else, I don't like the appearance of (note to mention the fact that I'd need to do a lot of parser rewriting and probably end up with version clash):
Bass Voice=xxx Sequence={zzz} Rtime=44
I just find it ends up looking like old-time basic
The way it is right now is certainly more verbose. Yes, being able to out-comment an entire set of changes would be handy. Not sure if there an easy solution to this?
But, really, the solution is to create your groove files as LIBRARY files. Not as user stuff in a song file. At which point it really doesn't matter much if you have long or short lines, etc. It's all hidden from the user (a good thing). If you don't like the distro files you are encouraged to write you own! Yes, encouraged! And please share. I'm the first to admit that some (all?) of the existing lib is not-the-best.
Now, thinking a bit more ... you might have point in that as we create/define tracks they get amalgamated. So, if you create 3 drum tracks, a bass and a chord you might find it useful to have the drum tracks under 1 name (ie, cwaltz-basedrum, cwaltz-bassbass, etc) and then you could create a new groove with something like:
Seqclear /// don't try this ... it's just an idea!!
Use-named-groove cwaltz-basedrum
Use-named-groove cwaltz-bassbass
Defgroove SomethingWonderful
Right now you could use the exiting defgroove and seqclear to create the individual parts.
Seqclear
drumstuff
defgroove drumname
Seqclear
bass main stuff
DefGroove bassname
The problem is that you can't load them up. This will NOT work:
Seqclear
Groove Drumname // fine so far
Groove bassname // opps, the drums are gone
So, how about a mechanism to load parts as per above without others being wiped? Maybe an AddGroove command or something?
Now, let me know if I'm close to understanding your original request!