Class: FiddleFluidSynth::ModuleBase::SoundFont
- Inherits:
-
FiddleFluidSynth::ModuleBase
show all
- Defined in:
- lib/fiddle_fluidsynth/util/module_hier.rb,
lib/fiddle_fluidsynth/util/module_hier.rb,
lib/fiddle_fluidsynth/util/module_hier.rb,
lib/fiddle_fluidsynth/util/module_hier.rb
Direct Known Subclasses
Bank
Defined Under Namespace
Classes: Bank
Instance Attribute Summary collapse
#fluidsynth_instance, #parent, #settings
Instance Method Summary
collapse
#soundfont
Constructor Details
#initialize(parent:, fluidsynth_instance:, value: nil, sub_new_f: true) ⇒ SoundFont
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 170
def initialize( parent: , fluidsynth_instance: , value: nil, sub_new_f: true )
super(parent: parent, fluidsynth_instance: fluidsynth_instance,
value: value, sub_new_f: false)
unless value.nil?
@sfid = fluidsynth_instance.sfont_get_id(value)
else
@sfid = nil
end
@map_preset = {
sfid: {
bknum: {
prenum: { },
},
},
}
if sub_new_f
self.init_sub
end
end
|
Instance Attribute Details
#map_preset ⇒ Object
Returns the value of attribute map_preset.
196
197
198
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 196
def map_preset
@map_preset
end
|
#sfid ⇒ Object
Returns the value of attribute sfid.
195
196
197
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 195
def sfid
@sfid
end
|
Instance Method Details
#bank(at_bknum = 0) ⇒ Object
223
224
225
226
227
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 223
def bank( at_bknum = 0)
@bank.bknum = at_bknum
@bank
end
|
#count ⇒ Object
210
211
212
213
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 210
def count
ret = self.fluidsynth_instance.synth_sfcount()
ret
end
|
#full_path ⇒ Object
230
231
232
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 230
def full_path
parent.soundfont_fullpath
end
|
#init_sub ⇒ Object
218
219
220
221
222
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 218
def init_sub
@bank = Bank.new(
parent: self, fluidsynth_instance: fluidsynth_instance,
value: nil, sub_new_f: true)
end
|
#load(filename: self.full_path, reset_presets: parent.reset_presets, synth: self.fluidsynth_instance.synth) ⇒ Object
234
235
236
237
238
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 234
def load( filename: self.full_path, reset_presets: parent.reset_presets,
synth: self.fluidsynth_instance.synth )
self.fluidsynth_instance.synth_sfload(
filename: filename, reset_presets: reset_presets, synth: synth)
end
|
#name(sfont = self.value) ⇒ Object
241
242
243
244
245
246
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 241
def name( sfont = self.value )
name = self.fluidsynth_instance.sfont_get_name(sfont)
ret = name
ret
end
|
#preset_iter(debug_f: false, &blk) ⇒ Object
Also known as:
each_preset
- &blk
-
{|preset| }
See Also
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 263
def preset_iter( debug_f: false, &blk )
sfont = self.value
cnt = 0
self.preset_iter_reset(sfont)
preset = self.fluidsynth_instance.sfont_iteration_next(sfont)
cnt += 1
while !(preset.nil? || preset.null?)
$stderr.puts "cnt: #{cnt}: #{preset.inspect}" if debug_f
blk.call(preset)
preset = self.fluidsynth_instance.sfont_iteration_next(sfont)
cnt += 1
end
cnt
end
|
#preset_iter_reset(_sfont = self.value) ⇒ Object
251
252
253
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 251
def preset_iter_reset( _sfont = self.value )
self.fluidsynth_instance.sfont_iteration_start(_sfont)
end
|
#scan_presets ⇒ Object
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 283
def scan_presets
_sfnm = self.name
@map_preset[_sfnm] = {}
ret = self.each_preset{|preset|
bknum = self.fluidsynth_instance.preset_get_banknum(preset)
prenum = self.fluidsynth_instance.preset_get_num(preset)
prename = self.fluidsynth_instance.preset_get_name(preset)
@map_preset[_sfnm][bknum] ||= {}
@map_preset[_sfnm][bknum][prenum] = prename
}
ret
end
|
#value(debug_f: false) ⇒ Object
def value( _sfid = self.sfid )
199
200
201
202
203
204
205
206
207
208
|
# File 'lib/fiddle_fluidsynth/util/module_hier.rb', line 199
def value( debug_f: false )
_sfid = self.sfid
idx = self.fluidsynth_instance.sfid_ary.index(_sfid)
ret = self.fluidsynth_instance.sfonts[idx]
$stderr.puts "{#{self.class}##{__method__}} _sfid: #{_sfid}," +
" 0x#{ret.to_i.to_s(16)}:#{ret.class}" if debug_f
ret
end
|