Hi RJ, Hi Joan, Hi Mixxx-Developers,
here some background info:
this week of Joans GSoC project is dedicated to polishing the written
code for the fist Master pull request.
It works already very nice, but it's code is not quite easy to
understand and to maintain. This is currently
improved by Joan, required to be prepared for the second half of the
project and cool new Library features.
The Library should also be prepared to show views of commercial online
services like Mixcloude and Spotify.
These are highly requested extensions, but itself not part of Joan's
project.
Since they do not fit quite well to the FOSS nature of Mixxx, we cannot
distribute such features as part of a standard
Mixxx installation, but we can allow to add them later as Plug-In.
That's the reason why Joan evaluates Plug-In solution. It is not decided
if Mixxx actually will get such a Plug-In
interface or not. In any case we want to make sure that It is not hard
to introduce a Plug-In API later.
Two solutions are good candidates, the QPlugInLoader or a custom
solution, based on the SoundSource PlugIn API.
The later was recently polished by Uwe, who has took most of the pain
from it.
What are the pros and cons of both solutions?
Has one experience with the QPlugInLoader?
Any comment or Idea is welcome.
Thank you
Kind regards
Daniel
Am 27.06.2016 um 19:08 schrieb RJ Ryan:
On Mon, Jun 27, 2016 at 9:57 AM, Joan Marcè i Igual
<j.marce.ig...@gmail.com <mailto:j.marce.ig...@gmail.com>> wrote:
Hi RJ,
the current idea that we thought with Daniel is to separate each
LibraryFeature into a plugin that can be loaded when needed (e.g.
Rhythmbox plugin does not have to be loaded always). and only
interact with the features via the LibraryFeature interface. This
will allow us to do a more cleaner code too.
By "does not have to be loaded" -- do you mean that there is some cost
to instantiation of the features that you would like to avoid?
By and large, the Library already interacts with LibraryFeatures
primarily via the LibraryFeature interface. In the cases where it
doesn't -- there is usually good reason (i.e. it needs to know that
it's talking to the feature of a specific kind -- e.g. when connecting
feature-specific signals). Looking at library.cpp, there is very
little special-casing.
I think Qt plugins here would only make sense if we wanted to make the
library extensible by third parties. There is a significant trade-off
in additional complexity introduced by introducing a plugin API. If we
intend to support backwards/forwards compatibility, we would need to
worry ABI/API compatibility. We have a lot of painful experience with
this via SoundSource and VAMP plugins. I am trying to remove both of
these plugin APIs and I would prefer that we not introduce another.
Best regards,
RJ
I once saw my professors use the Qt plugins and it seemed easy so
that's why am asking.
Best regards,
Joan
On Mon, 27 Jun 2016 at 18:50 RJ Ryan <rr...@mixxx.org
<mailto:rr...@mixxx.org>> wrote:
Hi Joan,
Could you explain a little bit what Qt plugins would help you
do here that you're having trouble doing with pure C++?
Why do you need to separate LibaryFeatures from the library?
Best regards
RJ
On Mon, Jun 27, 2016 at 9:46 AM, Joan Marcè i Igual
<j.marce.ig...@gmail.com <mailto:j.marce.ig...@gmail.com>> wrote:
Hello everyone,
I'm currently working in the Library Layout Redesign and
one of the things that I'm doing is changing many
Library's class code. One thing that is pending from long
time ago is to separate the LibraryFeatures from the
Library (avoid using all the LibraryFeatures'
constructors) and to do this I thought in using the Qt
Plugins feature. Has anyone experience with it? Will it be
a benefit or a detriment?
I will be waiting for your answer,
Joan
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at
AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to
tech luminaries
present their vision of the future. This family event has
something for
everyone, including kids. Get more information and
register today.
http://sdm.link/attshape
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
<mailto:Mixxx-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/mixxx-devel
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel