diff options
author | ben <ben@pkgsrc.org> | 2005-04-24 03:29:11 +0000 |
---|---|---|
committer | ben <ben@pkgsrc.org> | 2005-04-24 03:29:11 +0000 |
commit | c311032905ab7a9d9bb303fb736762d9a0798570 (patch) | |
tree | a2c5ab2180dbeffa0dc7a0421a45e54ec52ca5c9 /audio/spiralsynth | |
parent | 52777660e00296c1e1c43d2cd80ca8bda97667f6 (diff) | |
download | pkgsrc-c311032905ab7a9d9bb303fb736762d9a0798570.tar.gz |
The problem is that SpiralSynth opens the MIDI device path before
calling SetDeviceName.
The call trace goes something like this:
Synth.C
main() ==> Synth *synth=new Synth; ==> Synth::Synth()
==> MidiDevice::Get()->SetDeviceName(SpiralInfo::MIDIFILE);
SpiralSound/Midi.h
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.
Diffstat (limited to 'audio/spiralsynth')
-rw-r--r-- | audio/spiralsynth/distinfo | 3 | ||||
-rw-r--r-- | audio/spiralsynth/patches/patch-ao | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/audio/spiralsynth/distinfo b/audio/spiralsynth/distinfo index ca8584a2ee7..d2744eea126 100644 --- a/audio/spiralsynth/distinfo +++ b/audio/spiralsynth/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.8 2005/02/23 20:39:52 agc Exp $ +$NetBSD: distinfo,v 1.9 2005/04/24 03:29:11 ben Exp $ SHA1 (SpiralSynth-2.0.0.tar.gz) = ea42c5b7710237139f5281cf0c4ca155c184c4cd RMD160 (SpiralSynth-2.0.0.tar.gz) = c05f38a9ae8b8b87f520c11854631e6dfa00c034 @@ -16,3 +16,4 @@ SHA1 (patch-ak) = 67643c5abea0498f8ea046c5abd52f2d328a5538 SHA1 (patch-al) = 7436bce933cbddcd4f869ab2cbbe27762d4273e5 SHA1 (patch-am) = 4899c78015028a6e8047e5527362646e40a10708 SHA1 (patch-an) = b99c57cd7aa4d5c95bbeffea6c992e9cd7b7c414 +SHA1 (patch-ao) = 138f58bd7fae0226690747efcb8daf472e3a5337 diff --git a/audio/spiralsynth/patches/patch-ao b/audio/spiralsynth/patches/patch-ao new file mode 100644 index 00000000000..b11ec53c73f --- /dev/null +++ b/audio/spiralsynth/patches/patch-ao @@ -0,0 +1,12 @@ +$NetBSD: patch-ao,v 1.1 2005/04/24 03:29:11 ben Exp $ + +--- Synth.C.orig 2002-06-11 15:09:42.000000000 -0700 ++++ Synth.C +@@ -82,6 +82,7 @@ m_OutGUI(OSSOutput::Get()) + LoadPatch(1); + + MidiDevice::Get()->SetDeviceName(SpiralInfo::MIDIFILE); ++ MidiDevice::Get()->PackUpAndGoHome(); + } + + Synth::~Synth() |