Hi RJ,
> Why would adding support for commercial services not fit to Mixxx's FOSS
nature?
We have originally discussed it with Albert, when considering Spreaker
integration 11.2013.
The point is that any log-in for a online service will make some Mixxx user
using this
online service. This is a high value for the service provider and should
not be provided for free.
It is the same as an in app advertising.
If we just offer a Plug-In interface and allow users to integrate it's
favorite online service on his owne pace,
by an extra download or whatever, the thing is different.
Some other discussions:
See. https://bugs.launchpad.net/mixxx/+bug/938180
###
The other issue is the GPL compatibility. Third party online services (like
Spotify) sometimes provides a library, which is not GPL compatible and
can't be linked with Mixxx. However, it can be linked to a mixed licensed
Plug-In. Clementine has solved the issue like that.
We had the same discussions when talking about the VST interface.
We are far away from designing such a complete Plug-In interface, during
Joan's project. We currently consider only the view part with a limited
complexity.
IMHO it is a good idea to be prepared!
So If anyone of listening developers has Plug-In experience and can help to
avoid common pitfalls, it would be great.
Thank you,
Daniel
2016-06-28 1:16 GMT+02:00 RJ Ryan <rr...@mixxx.org>:
> Hi Daniel,
>
> Why would adding support for commercial services not fit to Mixxx's FOSS
> nature? Would you plan to use proprietary code? I don't see any conflict
> with adding support to cloud services into Mixxx itself -- we've had user
> requests for this for years.
>
> Before we jump into pros and cons of QPluginLoader vs roll our own, I
> think we still haven't resolved why a plugin system is necessary. I think
> this would introduce significant technical complexity where there was
> previously none for reasons that are speculative. This GSoC project is
> already hard enough without this added challenge! It also makes me very
> nervous to hear that LibraryFeatures will no longer be created by the
> Library class. Making things more modular / independent than they already
> are is surely a plus, but I think you can do that and we can enforce
> boundaries via intra-binary C++ and code review, not via an ABI.
>
> On Mon, Jun 27, 2016, 3:20 PM Daniel Schürmann <dasch...@mixxx.org> wrote:
>
>> 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> 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> 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> 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
>>>>> 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 Todayhttp://mixxx.org
>>
>>
>> Mixxx-devel mailing
>> listMixxx-devel@lists.sourceforge.nethttps://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