Subsections


Frequency Asked Questions

This chapter will serve as a container for questions asked by some enthusiastic MMA users. It may make some sense in the future to distribute this information as a separate file.

Chord Octaves

I've keyed in a song but some of the chords sound way too high (or low).

When a real player plays chords he or she adjusts the position of the chords so that they don't ``bounce'' around between octaves. One way MMA tries to do the same is with the ``Voicing Mode=Optimal'' setting. However, sometimes the chord range of a piece is too large for this to work properly. In this case you'll have to use the octave adjustments in chords. For more details go here.

AABA Song Forms

How can one define parts as part "A", part "B" ... and arrange them at the end of the file? An option to repeat a ``solo'' section a number of times would be nice as well.

Using MMA variables and some simple looping, one might try something like:

Groove Swing
// Set the music into a
// series of macros
mset A
  Print Section A
  C
  G
endmset
mset B
  print Section B
  Dm
  Em
endmset
mset Solo
  Print Solo Section $Count
  Am / B7 Cdim
endmset
// Use the macros for an
// "A, A, B, Solo * 8, A"
// form
$A
$A
$B
set Count 1
label a
  $solo
  inc COUNT
  if le $count 8
    goto A
  endif
$A

Note that the ``Print'' lines are used for debugging purposes. The case of the variable names has been mixed to illustrate the fact that ``Solo'' is the same as ``SOLO'' which is the same as ``solo''.

Now, if you don't like things that look like old BASIC program code, you could just as easily duplicate the above with:

Groove Swing
repeat
  repeat
    Print Section A
    C
    G
    If Def count
      eof
    Endif
    Endrepeat
    Print Section B
    Dm
    Em
    Set Count 1
    Repeat
      Print Solo $Count
      Am
      Inc Count
    Repeatending 7
  Repeatend
Repeatend

The choice is up to you.

Where's the GUI?

I really think that MMA is a cool program. But, it needs a GUI. Are you planning on writing one? Will you help me if I start to write one?

Thanks for the kind comments! The author likes MMA too. A lot!

Some attempts have been made to write a number of GUIs for MMA . But, nothing seemed to be much more useful than the existing text interface. So, why waste too much time? There is nothing wrong with graphical programming interfaces, but perhaps not in this case.

But, I may well be wrong. If you think it'd be better with a GUI ... well, this is open source and you are more than welcome to write one. If you do, I'd suggest that you make your program a front-end which lets a user compile standard MMA files. If you find that more error reporting, etc. is required to interact properly with your code, let me know and I'll probably be quite willing to make those kind of changes.

Where's the manual index?

Yes,this manual needs an index. I just don't have the time to go though and do all the necessary work. Is there a volunteer?

Bob van der Poel 2017-03-25