<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 28, 2009, at 12:47 AM, Cyril MATHE wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Le lundi 27 juillet 2009 à 22:34 -0700, Pierre d'Herbemont a écrit :<br>what do you mean by libvlc_audio_equalizer ?<br></div></blockquote><div><br></div><div>struct libvlc_audio_equalizer_t;</div><div><br></div><div>a simple opaque structure. This would be a libvlc object such as media, media_player, media_list etc.</div><div><br></div><div>Of course it needs:</div><div>libvlc_audio_equalizer_release(libvlc_audio_equalizer_t * equalizer);</div><div><br></div><div>But you don't need to implement refcounting.</div><br><blockquote type="cite"><div><blockquote type="cite">libvlc_audio_equalizer *<br></blockquote><blockquote type="cite">libvlc_audio_equalizer_new_from_preset_name(const char *);<br></blockquote>set a preset ? i would prefer that it take an integer instead of a char<font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#144FAE"><br></font></font></div></blockquote><div><br></div><div>I am not against. Though it could be convenient to do:</div><div><br></div><div>equalizer_new_from_preset_name("jazz");</div><div><br></div><div>This is not something critical regarding performance a a hash table should be sufficient enough to resolve it.</div><div><br></div><div>But I am not sure  if we want to encourage such a use though. Up to you here.</div><br><blockquote type="cite"><div><blockquote type="cite">libvlc_audio_equalizer *  libvlc_audio_equalizer_new(); /* eventually ? */<br></blockquote>enable equalizer ? shouldn't be: libvlc_audio_equalizer_new(bool<br>b_enable)<br></div></blockquote><div><br></div><div>No I don't think that's a good approach.</div><div><br></div><div>The equalizer should be enabled depending on each particular media_player using libvlc_media_player_set_equalizer().</div><div><br></div><div>Basically if it is attached to a media_player, it has to be enabled in that context.</div><div><br></div><div>BTW, we should support having the same equalizer attached to two media_player.</div><div><br></div><div>So a per equalizer enabled state should not be a good approach.</div><br><blockquote type="cite"><div><font class="Apple-style-span" color="#006312"><br></font><blockquote type="cite">libvlc_audio_equalizer_(get|set)_amplification_at_band_index(unsigned);<br></blockquote>get set a amplification value. It must take a float value for set:<br>libvlc_audio_equalizer_set_amplification_at_band_index(unsigned index,<br>float band _value);<br></div></blockquote><div><br></div><div>Right. Or a double probably in 64 bits. Depends if it makes sense for the core. Up to you.</div><br><blockquote type="cite"><div><blockquote type="cite">libvlc_audio_equalizer_(get|set)_preamplification();<br></blockquote>take a float value for set ?<br></div></blockquote><div><br></div><div>Right. Same as before.</div><br><blockquote type="cite"><div><blockquote type="cite"><br></blockquote><blockquote type="cite">libvlc_media_player_(get|set)_equalizer(libvlc_audio_equalizer *);<br></blockquote>can you be more specific on libvlc_audio_equalizer ? and i really<br>understand what this function is supposed to do</div></blockquote><br></div><div>I answered that question above.</div><div><br></div><div>I know that this implies that kind of persistence in the implementation, but that shouldn't be that hard to do. (We should be able to lure the core using the same kind of technics we use with set_drawable).</div><div><br></div><div>Pierre.</div><br></body></html>