Module: FiddleFluidSynth::Interface::SoundFont

Defined in:
lib/fiddle_fluidsynth/util/interface/soundfont.rb,
lib/fiddle_fluidsynth/util/interface/soundfont.rb,
lib/fiddle_fluidsynth/synth/soundfont_management.rb,
lib/fiddle_fluidsynth/util/interface/soundfont_preset.rb,
lib/fiddle_fluidsynth/util/interface/soundfont_sample.rb

Defined Under Namespace

Modules: Preset, Sample

Constant Summary collapse

FFS =
FiddleFluidSynth

Instance Method Summary collapse

Instance Method Details

#data(_self: self.itself) ⇒ Object



32
33
34
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 32

def data( _self: self.itself )
  FFS.sfont_get_data(_self)
end

#each_preset(_self: self.itself, debug_f: false, &blk) ⇒ Object Also known as: preset_iter



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 63

def each_preset( _self: self.itself, debug_f: false, &blk )
  #
  # self.preset_iter_reset()
  self.preset_iter_reset(_self: _self)
  preset = nil
  cnt    = 0
  $stderr.puts "{#{__method__}} cnt: #{cnt}," +
    " preset: #{preset.inspect}"  if debug_f


  # until (preset = FFS.sfont_iteration_next(_self))&.null?
  # while (preset = FFS.sfont_iteration_next(_self))  # ok.
  #
  #ng. while (preset = FFS.sfont_iteration_next(_self),
  #        #(preset && !preset.null?))
  #        (preset))
  #ng. while ((preset = FFS.sfont_iteration_next(_self)),
  #        (preset && !preset.null?))
  #ng. while (preset = FFS.sfont_iteration_next(_self)),
  #    (preset && !preset.null?)

  while [preset = FFS.sfont_iteration_next(_self),
      (preset && !preset.null?)].last

    $stderr.puts "{#{__method__}} cnt: #{cnt}," +
      " preset: #{preset.inspect}:#{preset.class}," +
      " null?: #{preset.null?}" if debug_f

    blk.(preset)
    cnt += 1
  end
  $stderr.puts "{#{__method__}} LAST: cnt: #{cnt}," +
    " preset: #{preset.inspect}:#{preset.class}" if debug_f

  cnt
end

#id(_self: self.itself) ⇒ Object Also known as: sfid



39
40
41
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 39

def id( _self: self.itself )
  FFS.sfont_get_id(_self)
end

#name(_self: self.itself) ⇒ Object



44
45
46
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 44

def name( _self: self.itself )
  FFS.sfont_get_name(_self)
end

#preset(bknum:, prenum:, _self: self.itself) ⇒ Object

Args

bknum

bank number.

prenum

preset number.

Returns

nil or Preset instance.



54
55
56
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 54

def preset( bknum: , prenum: , _self: self.itself )
  FFS.sfont_get_preset(_self, bknum: bknum, prenum: prenum)
end

#preset_iter_reset(_self: self.itself) ⇒ Object



59
60
61
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 59

def preset_iter_reset( _self: self.itself )
  FFS.sfont_iteration_start(_self)
end

#presets(_self: self.itself, debug_f: false) ⇒ Object Also known as: all_presets



101
102
103
104
105
106
107
108
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 101

def presets( _self: self.itself, debug_f: false )
  ret = []

  self.each_preset(debug_f: debug_f){|pres| ret << pres }
  $stderr.puts "{#{__method__}} ret (#{ret.size}):" +
    " #{ret.first.name} - #{ret.last.name}" if debug_f
  ret
end

#set_data(data, _self: self.itself) ⇒ Object



35
36
37
# File 'lib/fiddle_fluidsynth/util/interface/soundfont.rb', line 35

def set_data( data, _self: self.itself )
  FFS.sfont_set_data(_self, data: data)
end