Re: mmli: ISO C99 Music Macro Language (as in BASIC's PLAY) interpreter

9 views
Skip to first unread message

Ivan Shmakov

unread,
Mar 23, 2012, 1:41:20 AM3/23/12
to
>>>>> Ivan Shmakov <onei...@gmail.com> writes:

> Archive-name: mmli-is
> Submitted-by: onei...@gmail.com
> Last-modified: 2012-03-08 +00:00
> Copyright-Notice: both the README and the code are in the public domain

This code (with a couple of bug fixes) is now also available
from a Gitorious repository [1, 2].

Also, one may want to check the beep package extended to support
MML [3--5].

[1] https://gitorious.org/mmli
[2] git://gitorious.org/mmli/mmli-devel.git
http://gitorious.org/mmli/mmli-devel.git
[3] news:86ehszg...@gray.siamics.net
http://groups.google.com/group/alt.os.linux/msg/599a2d3e35e6d96a
[4] https://github.com/1gray/beep
[5] git://github.com/1gray/beep.git
(master-mmli-2012 branch)

[...]

> The ML, MN, and MS (legato, normal, staccato) modes are implemented,
> but mmli_next () (or, rather, interp_ctl ()) fails to handle them
> properly for me.

Fixed as of cb1e3058.

> The "octave tracking" mode is on by default, which is how the FreeBSD
> driver behaves, but (apparently) contrary to how both the historic
> BASIC's and QB64 behave. One may have to prepend the BASIC MML
> strings with an explicit ON to disable this mode. (Use OL to turn it
> on again.)

This was a misunderstanding on my part; the spkr(4) FreeBSD
driver has the "octave tracking mode" disabled by default.

Fixed as of f9455651.

[...]

> This interpreter should be added to beep(1),

Done in [4, 5].

> and maybe even sox(1).

It's possible to process the mmlitest output with a simple Shell
script and invoke a sequence of sox(1) "synth" commands. I hope
to post an example shortly.

[...]

--
FSF associate member #7257
Reply all
Reply to author
Forward
0 new messages