rjvbb added a comment.
[I didn't get to send this yesterday] > Not using something because it's from a "rival GUI" is not a valid argument. It is IMVHO if "it" introduces a dependency on another GUI middleware. Libcanberra does that to the best of my knowledge. > Canberra over GStreamer works there as well. Only if you accept dependencies that shouldn't be required if you want to keep things as native as possible. The fact that a plasma project already uses libcanberra shouldn't be used as an argument for using it in a *framework*. Plasma is exclusive to non-Apple Unix (and in fact almost to Linux), and it's probably irrealistic to think that one could construct a completely GTk-free distribution on such systems (= the library will probably be there anyway). KNotifications is a Tier1 framework with a cross-platform vocation. For me that means that a solution with QtMultimedia should be preferred if anyway possible. Regardless what that component depends on itself... (Alexey beat me to it I see :)) NB: I'm not talking about glib. That's a platform-agnostic support library that Qt uses even on Mac (I don't know about MSWin). > You could shove coreaudio or quicktime behind it if you wanted. *That* would be reinventing the wheel. Why would you want to do that in a Qt-based universe if Qt already has a component where this has been done? Quicktime is dead, btw. > That's not true. It is if you leave my remark in its (generic) context... And sound latencies can hardly be avoided with a 100% guarantee with asynchronous playback over an independent daemon process. > I restored the Phonon option for when canberra isn't available on the platform. I haven't checked, but I'd appreciate if that could also be done through a cmake option. In packaging systems like MacPorts and HB it's perfectly possible to have libcanberra and/or pulseaudio installed for Gnome apps that cannot do without them, but still not want to let other software use them (opportunistic dependencies). Alternatively, CMake has a DISABLE* backdoor for the basic `find_package()`, not very elegant but maybe it can do the trick? REPOSITORY R289 KNotifications REVISION DETAIL https://phabricator.kde.org/D14397 To: broulik, #frameworks, dfaure, davidedmundson, sitter, drosca, kfunk, rjvbb Cc: alexeymin, ngraham, nicolasfella, kde-frameworks-devel, michaelh, bruns