CVS snapshot (software MIDI)

hm, any reason to not just use the Linux /dev/sequencer resource (when you
have #ifdef LINUX) ? The Linux sound drivers can do their own wavetable
stuff.


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

Cause FM Synth sucks and Linux doesn’t have good MIDI support. Just
wait…soft MIDI is ok…I hope you can change the sampling rate!!! 44khz is
a little too much…

I’m guessing that you took this soft synth from timidity (a great MIDI soft
synth program, that was recently discontinued) What about the patch files?
Does the mixer lib have them embedded somehow?

Paul Lowe
xpaull at ultraviolet.org

The latest CVS snapshot contains support for software MIDI and volume
control in the example mixer library. The example mixer API is the
same, MIDI files are just recognized as a valid music file format.
Software MIDI takes alot of CPU. A pentium-133 or equivalent, with
no other processing going on, is required to play high quality MIDI.
Check out the SDL-demos/mixer/README file for more information.

In addition, the latest CVS snapshot can load WAV files with "LIST"
chunks, and can load BMP files saved by the GIMP editor (oops).
These fixes will go into 0.8.10, when it is released.

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

The latest CVS snapshot contains support for software MIDI and volume
control in the example mixer library. The example mixer API is the
same, MIDI files are just recognized as a valid music file format.
Software MIDI takes alot of CPU. A pentium-133 or equivalent, with
no other processing going on, is required to play high quality MIDI.
Check out the SDL-demos/mixer/README file for more information.

hm, any reason to not just use the Linux /dev/sequencer resource (when you
have #ifdef LINUX) ? The Linux sound drivers can do their own wavetable
stuff.On Mon, 23 Nov 1998, Sam Lantinga wrote:


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

hm, any reason to not just use the Linux /dev/sequencer resource (when you
have #ifdef LINUX) ? The Linux sound drivers can do their own wavetable
stuff.

SDL still doesn’t support native MIDI sequencers.
I still don’t know enough about them to program an API.
It looks like I could just provide open() sendmidicmd() and close()
and everything else could be done by the app, but I don’t have the
time at the moment to experiment with it.

Supposedly there are people working on a MIDI API, but I haven’t
heard anything lately about it. :slight_smile:

See ya!
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

hm, any reason to not just use the Linux /dev/sequencer resource (when you
have #ifdef LINUX) ? The Linux sound drivers can do their own wavetable
stuff.


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

Cause FM Synth sucks and Linux doesn’t have good MIDI support. Just
wait…soft MIDI is ok…I hope you can change the sampling rate!!! 44khz is
a little too much…

FM sucks but it’s fast. If you have the commercial OSS stuff for Linux,
it does wavetable at the kernel level, which is faster than pure software.On Mon, 23 Nov 1998, Paul Lowe (gdog) wrote:

I’m guessing that you took this soft synth from timidity (a great MIDI soft
synth program, that was recently discontinued) What about the patch files?
Does the mixer lib have them embedded somehow?

Paul Lowe
xpaull at ultraviolet.org


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

hm, any reason to not just use the Linux /dev/sequencer resource (when you
have #ifdef LINUX) ? The Linux sound drivers can do their own wavetable
stuff.


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

Cause FM Synth sucks and Linux doesn’t have good MIDI support. Just
wait…soft MIDI is ok…I hope you can change the sampling rate!!! 44khz is
a little too much…

I’m guessing that you took this soft synth from timidity (a great MIDI soft
synth program, that was recently discontinued) What about the patch files?
Does the mixer lib have them embedded somehow?

timidity is a cpu hog itself as well… and it requires GUS patches. I’d
rather see SDL use the kernel-level stuff under Linux at least. Then you
can just use the commercial OSS stuff and get your wavetable that way…On Mon, 23 Nov 1998, Paul Lowe (gdog) wrote:


Scott M. Stone <sstone at pht.com, sstone at pht.co.jp>
Head of TurboLinux Development/Systems Administrator
Pacific HiTech, Inc (USA) / Pacific HiTech, KK (Japan)

I hope you can change the sampling rate!!! 44khz is a little too much…

Of course you can. The library mixer rate is the soft-MIDI sampling rate.

I’m guessing that you took this soft synth from timidity (a great MIDI soft
synth program, that was recently discontinued) What about the patch files?
Does the mixer lib have them embedded somehow?

Yup. The patch files have to be installed just like when you install timidity.
There are instructions in the mixer directory.
I’ve tested the patch files under Linux, Solaris and Win32 and they work
great. :slight_smile:

timidity is a cpu hog itself as well… and it requires GUS patches. I’d
rather see SDL use the kernel-level stuff under Linux at least. Then you
can just use the commercial OSS stuff and get your wavetable that way…

The problem with the kernel-level stuff is that they emulate a real MIDI
sequencer, and like I said before, I don’t know enough about that to write
an SDL driver. If you can, you’re welcome to do so. You’ll need to take
a look at the Win32 and BeOS methods of MIDI sequencing, just to make sure
your interface is mostly platform-independent.

See ya,
-Sam Lantinga (slouken at devolution.com)–
Author of Simple DirectMedia Layer -
http://www.devolution.com/~slouken/SDL/

Cause FM Synth sucks and Linux doesn’t have good MIDI support. Just
wait…soft MIDI is ok…I hope you can change the sampling rate!!! 44khz is
a little too much…

The 2.1.x (late ones) have software MIDI in them anyway. There are numerous
Win32 software MIDI drivers too, and I’ve seen that the Yamaha one runs under
MacOS.

Using the system MIDI sequencer is a much nicer way to do it, as most systems
have some way to do software MIDI, if needed, and others can put up with FM
synthesis.

But, then again, software synth is better than nothing ;-)On Mon, Nov 23, 1998 at 06:42:40AM -0800, Paul Lowe (gdog) wrote:


– Michael Samuel

SDL still doesn’t support native MIDI sequencers.
I still don’t know enough about them to program an API.
It looks like I could just provide open() sendmidicmd() and close()
and everything else could be done by the app, but I don’t have the
time at the moment to experiment with it.

As a hint to how you could do it, try ‘cat somefile.mid > /dev/sequencer’.

There are also IOCTLs to list and choose MIDI devices.

Supposedly there are people working on a MIDI API, but I haven’t
heard anything lately about it. :slight_smile:

Was that a hint? :wink:

I see no reason why the MIDI API shouldn’t be just a matter of having a
function open the MIDI file, and play it on the default synth. (Or if you
wanted to be smart, the best synth)On Mon, Nov 23, 1998 at 05:43:00PM -0800, Sam Lantinga wrote:


– Michael Samuel