Offline
Los Angeles, CA

I've been rolling this idea around in my head as something to do on weekends in the spring.

Some platforms for which MML compilers exist don't really have any full-fledged trackers (like the Genesis), or if they exist they might have bugs.

What if we (and by we, I probably mean I) were to write a tracker that outputs MML and then uses PPMCK, XPMCK or some other MML compiler to output to the appropriate platform?

To elaborate a little bit: in my (admittedly inexperienced) view, the basic layout of a tracker is the same. Grid of cells, each cell has an instrument, a note, a volume and an effect. Trackers for different platforms differ based on the limitations of the hardware you're tracking for (number of channels, bit-width of fields, etc.) and on the capabilities of each channel (an instrument for the YM2612 has a lot more knobs to turn than one for the 2A03 for example).

In my mind you'd need two things: a general set of UI tools for tracking (making that cell grid with a custom number of columns, field widths, etc. configurable per platform), and a way to plug in instrument editors for each chip, and a system that would combine the data entered into the tracking cells with the values entered into the instrument editors to produce an MML file.

Benefits of this would potentially be pretty huge: only one UI to write and debug, could potentially even make the software cross-platform if the compiler itself was cross-platform, could support a ton of different chips with a single editor. Plus, using MML as an intermediate language makes doing sound output a lot easier: just link a library that plays back the sound file that the MML compiler outputs for the given platform.

Has this been attempted in the past? Would there be any interest in such a program if I were to try to develop it? Am I completely insane for even suggesting such a thing?

Offline
astral cat

this would be the best.

Offline
BOSTON

and my axe!



(and by that i mean that this sounds like a great idea, and i support you in your efforts)

Offline
Unsubscribe

There has been some talk about this before, but ive never heard antyhing more concrete than pretty much what you said.

Offline
alexras wrote:

Would there be any interest in such a program if I were to try to develop it?

YES

Offline
New York City

This sounds fantastic. I'll never get into MML.
Do it!

Offline
San Francisco

Yes.

Offline
Los Angeles, CA

Well that settles it then. I'll put up a link to a devblog when I start this thing. I'll probably write the whole shebang in C++ since that's what most of the libraries I've seen are written in; I'm more used to Linux as a dev environment, but hopefully anything I write can be ported to other platforms; that's mostly going to depend on the presence of POSIX libraries and the cross-platform-ness of sound output, file format playback, etc. libraries.

Last edited by alexras (Jan 21, 2011 8:47 pm)

Offline
BOSTON

your gunstar heroes avatar makes me think that you can definitely do this.

Offline
New York, New York

Neat. Anything that makes Sega Genesis music I am going to support.

Offline
Vancouver, BC

It sounds like a great project.

Dumb question- do you think your planned software will be able to play each note as it is entered?
For me that's the big attraction of using trackers rather than MML editors.

If you are linking to libraries expecting whole-file playback, it might require some tweaking to preview individual notes.

Last edited by spriteful (Jan 21, 2011 9:23 pm)

Offline
Slovakia / European Union

Yes I am for realtime "sounds" (notes) composing when I press key too. Its pain to compose on nonrealtime trackers...

Offline
Milwaukee, WI

A tracker that produces mml would be great.  I could do all sorts of new tracking!  Wonderswan and more!

Offline

I'm completely hyping this.

Offline
BR1GHT PR1MATE wrote:

your gunstar heroes avatar makes me think that you can definitely do this.

XD made me LOL

Esopus-dragon wrote:

Neat. Anything that makes Sega Genesis music I am going to support.

seriously

Last edited by Battle Lava (Jan 22, 2011 3:35 am)

Offline
))<>((

I love this idea so much.