Module: FiddleFluidSynth::C
- Extended by:
- Fiddle::Importer
- Defined in:
- lib/fiddle_fluidsynth/soundfonts/modulators.rb,
lib/fiddle_fluidsynth.rb,
lib/fiddle_fluidsynth/util.rb,
lib/fiddle_fluidsynth/misc/misc.rb,
lib/fiddle_fluidsynth/util/util.rb,
lib/fiddle_fluidsynth/synth/synth.rb,
lib/fiddle_fluidsynth/types/types.rb,
lib/fiddle_fluidsynth/logging/logging.rb,
lib/fiddle_fluidsynth/sequencer/events.rb,
lib/fiddle_fluidsynth/synth/midi/setup.rb,
lib/fiddle_fluidsynth/fiddle_fluidsynth.rb,
lib/fiddle_fluidsynth/midi_input/driver.rb,
lib/fiddle_fluidsynth/midi_input/events.rb,
lib/fiddle_fluidsynth/midi_input/player.rb,
lib/fiddle_fluidsynth/midi_input/router.rb,
lib/fiddle_fluidsynth/settings/settings.rb,
lib/fiddle_fluidsynth/soundfonts/loader.rb,
lib/fiddle_fluidsynth/soundfonts/voices.rb,
lib/fiddle_fluidsynth/synth/midi/tuning.rb,
lib/fiddle_fluidsynth/audio_output/driver.rb,
lib/fiddle_fluidsynth/sequencer/sequencer.rb,
lib/fiddle_fluidsynth/synth/effect/chorus.rb,
lib/fiddle_fluidsynth/synth/effect/ladspa.rb,
lib/fiddle_fluidsynth/synth/effect/reverb.rb,
lib/fiddle_fluidsynth/synth/midi/messages.rb,
lib/fiddle_fluidsynth/synth/params/params.rb,
lib/fiddle_fluidsynth/synth/voice_control.rb,
lib/fiddle_fluidsynth/midi_input/midi_input.rb,
lib/fiddle_fluidsynth/soundfonts/generators.rb,
lib/fiddle_fluidsynth/soundfonts/soundfonts.rb,
lib/fiddle_fluidsynth/synth/audio_rendering.rb,
lib/fiddle_fluidsynth/command_interface/shell.rb,
lib/fiddle_fluidsynth/synth/effect/iir_filter.rb,
lib/fiddle_fluidsynth/command_interface/server.rb,
lib/fiddle_fluidsynth/command_interface/handler.rb,
lib/fiddle_fluidsynth/audio_output/file_renderer.rb,
lib/fiddle_fluidsynth/synth/soundfont_management.rb,
lib/fiddle_fluidsynth/command_interface/command_interface.rb
Defined Under Namespace
Modules: Interface
Class Method Summary collapse
- .current_platform ⇒ Object
- .full_path_for_lib(name) ⇒ Object
- .full_path_for_soundfont(sf2_filename = SOUNDFONT_NAME_DEFAULT) ⇒ Object
- .lib_path(name) ⇒ Object
- .soundfont_path ⇒ Object
Class Method Details
.current_platform ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/fiddle_fluidsynth/util/util.rb', line 23 def self.current_platform host_os = RbConfig::CONFIG['host_os'] case host_os when /darwin/ then :macos when /linux/ then :linux when /mswin|mingw|cygwin/ then :windows else raise "Unsupported OS: #{host_os}" end end |
.full_path_for_lib(name) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/fiddle_fluidsynth/util/util.rb', line 55 def self.full_path_for_lib( name ) lib_path = lib_path(name) case current_platform when :macos File.join(lib_path, "lib#{name}.dylib") when :linux File.join(lib_path, "lib#{name}.so") when :windows # DLLは PATH に通ってるか、明示パスで指定 File.join(lib_path, "#{name}.dll") end end |
.full_path_for_soundfont(sf2_filename = SOUNDFONT_NAME_DEFAULT) ⇒ Object
97 98 99 |
# File 'lib/fiddle_fluidsynth/util/util.rb', line 97 def self.full_path_for_soundfont( sf2_filename = SOUNDFONT_NAME_DEFAULT ) self.soundfont_path + "/" + sf2_filename end |
.lib_path(name) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fiddle_fluidsynth/util/util.rb', line 33 def self.lib_path( name ) case current_platform when :macos brew_prefix = `brew --prefix`.strip path = File.exist?("#{brew_prefix}/lib/lib#{name}.dylib") ? \ "#{brew_prefix}/lib" : "/usr/local/lib" # File.join(path, "lib#{name}.dylib") path when :linux path = `pkg-config --libs-only-L #{name} 2>/dev/null`.sub("-L", "").strip raise "pkg-config couldn't find #{name}" if path.empty? # File.join(path, "lib#{name}.so") path when :windows # DLLは PATH に通ってるか、明示パスで指定 path = ENV["LIB_FLUIDSYNTH_PATH"] || "#{name}.dll" raise "Set LIB_FLUIDSYNTH_PATH env var or place " + "#{name}.dll in working dir" unless File.exist?(path) path end end |
.soundfont_path ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/fiddle_fluidsynth/util/util.rb', line 72 def self.soundfont_path case current_platform when :macos brew_prefix = `brew --prefix`.strip share_dir = File.exist?("#{brew_prefix}/share/fluid-synth/sf2") ? \ "#{brew_prefix}/share/fluid-synth/sf2" : \ "/usr/local/share/fluid-synth/sf2" share_dir when :linux name = "fluidsynth" path = `pkg-config --libs-only-L #{name} 2>/dev/null`.sub("-L", "").strip raise "pkg-config couldn't find #{name}" if path.empty? path = path + "/../share/fluid-synth/sf2" path when :windows # DLLは PATH に通ってるか、明示パスで指定 path = ENV["SOUNDFONT_PATH"] || "#{name}.dll" raise "Set LIB_FLUIDSYNTH_PATH env var or place " + "#{name}.dll in working dir" unless File.exist?(path) path end end |