Kara-Moon Forum
April 28, 2024, 11:23:11 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You can go back to the main site here: Kara-Moon site
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Library file naming suggestion  (Read 6187 times)
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« on: June 26, 2007, 11:35:13 PM »


The naming scheme using in the MMA libraries is not what I'd call
"intelligent". In defense, the libraries just grew and were really
just proof-of-concept things. Of course, they grew too much and proof
became reality.

I'd like to propose a different scheme and would like some comments
and input from other users before I start to do any coding.

First off, I'd like all the library files to share a common set of
names. A decent starting point might be the Yamaha set of:

     Main-A, Main-B, Fill-AA, etc.

I'd probably expand this a bit. But, in the end we could guarantee
that each library file has the same set of grooves (some might just be
duplicates, but that's really not a problem). Then, one could just
import a different groove file and not have to change each and every
groove line to make a different feel to a song.

The other problem is that we're running into is name conflicts. It
would be much easier to have FILES like rhumba, rhumba1, rhumba2,
rhumba-fast, etc. Or, if you really like most of the library stuff in
rhumba2.mma you could easily create a rhumba-bob file which included
the rhumba1, make some modifications, etc.

The auto-find groove feature would disappear. Each song file would
need to start with a "use" line. To make introductory clicks easier to
use, I'd also suggest that each library file has a "metronome" groove.

In order to make this transition my suggestion is to do it 2
steps. First, we could use an alias naming scheme to add the "main-a",
etc to the existing files. In the next release of MMA the auto-load
function would still be there, but would generate a warning. In the
next release auto-load would be gone.

I'm sure I'm missing lots here. So, please give some thought to it and
post your ideas.

Thanks.
Logged

My online life: http://www.mellowood.ca
kara
Kara-Moon, a site built by and for musicians
Global Moderator
Kara-Moon Master
*****
Posts: 4907


Music is my middle name


WWW
« Reply #1 on: June 27, 2007, 11:18:11 AM »

I would say that the Intro - Main AA - Main AB,....
is a good addition. It makes it easier to created elaborated styles in a logical way. A lot like in hardware arrangers. It is allso a step further then what you can do with BIAB where you have only have a A & B style.

But... I wonder if I understand everything you say about future versions and dropping the autoload.
What I was thinking about is that we have 3800+ existing MMA songs on the website here.
I would say, no matter what you do, MMA does have to stay compatible with those songs and other existing user songs. I wouldn't like to change all my songs just because MMA changed or dropped a feature.

Does that make sense ?

Kara
Logged

_____oOo______ http://www.myspace.com/kaazduo

www.kara-moon.com, a site built by and for musicians
Support us at : http://www.mymajorcompany.com/Artistes/kaaz/
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« Reply #2 on: June 27, 2007, 04:28:54 PM »


Yeah, makes sense. I really don't want to break things, or make changes just for the sake of change.

If you guys think that leaving the auto-load thing in place is a good idea, I'll leave it. After all, the code is written and it works. However, maintaining 2 naming schemes might create problems as well.

One way around all this is to introduce a new command, STYLE <filename>. This would use a different location (instead of .../stdlib, maybe it'd be .../styles, whatever). As a transition we'd just need for the "new" styles to read the old library files and rename the grooves it reads. Eventually, the new files would be just that: new. And the old name files would not have access to the new styles.

I'm not sure what effect this would have on the library docs. Have 2 sets, one for the old style and one for the new?

Keep the suggestions coming!
Logged

My online life: http://www.mellowood.ca
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« Reply #3 on: July 11, 2007, 12:31:31 AM »


I have been thinking a bit more about all this and have come up with the following solution (still in development, but it is working).

1. A new command DefAlias. This lets you create pairs with an alias name pointing to an existing name. For example (assuming that the groove Rhumba has been defined):
 
        DefAlias  Main-1 Rhumba

When the name "main-1" is encountered as a groove name it's translated to "rhumba". Simple.

Actually, this isn't even needed in MMA since you can set different groove names to the same set of patches. But, this does keep the namespace a bit cleaner, and runs faster. Also, any changes to the main set of patches for the name will translate to the alias. Shout if that doesn't make sense.

2. Simply take the existing library files and append a standard set of alias definitions to each. For example, to the end of the file stdlib/son.mma we might do:

Begin DefAlias
   Main-A Son
  .....
   Ending-A SonEnd
  ...
End

3. No 3. That's it. Simple.

The complicated part will be to come up with a standard set of definitions which will be agreeable to all and flexible.

For a start I suggest we consider the yamaha set of:

   Main-A ,B, C, D
   Intro-A , B, C
   Ending-A, B, C
   Fill-In-AA, BB, CC, DD, BA

These are used in the ys2mma program.

I see a lot of folks are reading this thread, but very little comment so far. Am I the only one concerned with the issue?
Logged

My online life: http://www.mellowood.ca
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.047 seconds with 20 queries.