Quoting Rui Nuno Capela <[email protected]>:
Sounds good. How about adding a size field to, so that there can be
potential future extensions to fluid_preset_info_t. Example:
fluid_preset_info_t info;
fluid_synth_get_channel_preset_info(synth, chan, &info, sizeof (info));
omg, that additional size argument just raises from the grave all too
many windows api'esque nightmares. i'll pretend i did not read that and
close my eyes if you really think it's necessary :))
Ha ha, that is kind of where I borrowed it from. I haven't had to
suffer through much Windows programming though, so that probably
accounts for my naivety :)
one possible and alternative solution is about having the
fluid_preset_info_t as an opaque struct, accessible trough additional
api functions (or macros):
const char *fluid_preset_info_get_name(&info);
int fluid_preset_info_get_bank(&info);
int fluid_preset_info_get_num(&info);
fluid_sfont_t *fluid_preset_info_get_sfont(&info);
any additional fields would have corresponding accessors in a possible
future.
The structure would have to be allocated by FluidSynth in that case,
to maintain backwards compatibility if it was expanded. So something
like:
fluid_preset_info_t *info;
info = new_fluid_preset_info ();
fluid_synth_get_channel_preset_info (synth, chan, info);
It would then probably be fine to just access the structure fields
directly, which would allow for additional fields to be added if need
be.
cheers
--
rncbc aka Rui Nuno Capela
[email protected]
Cheers
Josh
_______________________________________________
fluid-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fluid-dev