Subject: CVS commit: pkgsrc/audio/spiralsynth
To: None <>
From: Ben Collver <>
List: pkgsrc-changes
Date: 04/24/2005 03:29:11
Module Name:	pkgsrc
Committed By:	ben
Date:		Sun Apr 24 03:29:11 UTC 2005

Modified Files:
	pkgsrc/audio/spiralsynth: distinfo
Added Files:
	pkgsrc/audio/spiralsynth/patches: patch-ao

Log Message:
The problem is that SpiralSynth opens the MIDI device path before
calling SetDeviceName.

The call trace goes something like this:

main() ==> Synth *synth=new Synth; ==> Synth::Synth()
==> MidiDevice::Get()->SetDeviceName(SpiralInfo::MIDIFILE);

MidiDevice::Get() ==> m_Singleton=new MidiDevice;
==> MidiDevice::MidiDevice() ==> MidiDevice::Open()
==> MidiDevice::SetDeviceName

patches/patch-ao works around this problem by closing the prematurely
opened private variable representing the MIDI device, and setting it to
NULL.  MidiDevice methods check for NULL and re-initialize the private
variable, this time opening the MIDI device path after SetDeviceName.

To generate a diff of this commit:
cvs rdiff -r1.8 -r1.9 pkgsrc/audio/spiralsynth/distinfo
cvs rdiff -r0 -r1.1 pkgsrc/audio/spiralsynth/patches/patch-ao

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.