From 18ff9777ea0dce2a989eaae8fa8fc6e506b8f5f6 Mon Sep 17 00:00:00 2001 From: Ruben Medellin Date: Sun, 7 Nov 2010 17:56:42 -0600 Subject: [PATCH 1/3] Added support for mingw under Windows --- lib/midiator/interface.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/midiator/interface.rb b/lib/midiator/interface.rb index c8bcb38..eb6ad04 100644 --- a/lib/midiator/interface.rb +++ b/lib/midiator/interface.rb @@ -29,7 +29,7 @@ def autodetect_driver driver = case Platform::IMPL when :macosx :core_midi - when :mswin, :cygwin + when :mswin, :cygwin, :mingw :winmm when :linux :alsa From c65d669062e450f0702c31b57add2f156976d19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Medell=C3=ADn?= Date: Sat, 11 Dec 2010 02:31:12 -0600 Subject: [PATCH 2/3] Added fix for Snow Leopard As commented in http://www.matthewforr.com/index.php/practical-ruby-projects-chapter-2-making-music-with-ruby.-making-it-work-on/ --- lib/midiator/drivers/core_midi.rb | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/midiator/drivers/core_midi.rb b/lib/midiator/drivers/core_midi.rb index 2bd4117..640de58 100644 --- a/lib/midiator/drivers/core_midi.rb +++ b/lib/midiator/drivers/core_midi.rb @@ -22,6 +22,10 @@ require 'midiator/driver_registry' class MIDIator::Driver::CoreMIDI < MIDIator::Driver # :nodoc: + + # Figure out if we have SnowLeopard + SNOW_LEOPARD = = `uname -r` =~ /10\.\d\.\d/ + ########################################################################## ### S Y S T E M I N T E R F A C E ########################################################################## @@ -35,7 +39,11 @@ module C # :nodoc: extern "void* MIDIGetDestination( int )" extern "int MIDIOutputPortCreate( void*, void*, void* )" extern "void* MIDIPacketListInit( void* )" - extern "void* MIDIPacketListAdd( void*, int, void*, int, int, int, void* )" + if SNOW_LEOPARD + extern "void* MIDIPacketListAdd( void*, int, void*, int, int, void* )" + else + extern "void* MIDIPacketListAdd( void*, int, void*, int, int, int, void* )" + end extern "int MIDISend( void*, void*, void* )" end @@ -75,7 +83,11 @@ def message( *args ) packet_ptr = C.mIDIPacketListInit( packet_list ) # Pass in two 32-bit 0s for the 64 bit time - packet_ptr = C.mIDIPacketListAdd( packet_list, 256, packet_ptr, 0, 0, args.size, bytes ) + if SNOW_LEOPARD + packet_ptr = C.mIDIPacketListAdd( packet_list, 256, packet_ptr, 0, args.size, bytes ) + else + packet_ptr = C.mIDIPacketListAdd( packet_list, 256, packet_ptr, 0, 0, args.size, bytes ) + end C.mIDISend( @outport, @destination, packet_list ) end From 117bdc6761e57c25d4aa132b8e78f3d1ca9a56a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Medell=C3=ADn?= Date: Sat, 11 Dec 2010 03:03:49 -0600 Subject: [PATCH 3/3] Typo fix --- lib/midiator/drivers/core_midi.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/midiator/drivers/core_midi.rb b/lib/midiator/drivers/core_midi.rb index 640de58..fd0a65b 100644 --- a/lib/midiator/drivers/core_midi.rb +++ b/lib/midiator/drivers/core_midi.rb @@ -24,7 +24,7 @@ class MIDIator::Driver::CoreMIDI < MIDIator::Driver # :nodoc: # Figure out if we have SnowLeopard - SNOW_LEOPARD = = `uname -r` =~ /10\.\d\.\d/ + SNOW_LEOPARD = `uname -r` =~ /10\.\d\.\d/ ########################################################################## ### S Y S T E M I N T E R F A C E