Paul, thank you so much for this update - it's heartwarming.
I'll stay out of your way and focus on graphics and other matters, but I so
much would like to help integrating Unison core quickly. I'm no good as a
programmer though.
Be unstoppable!
On 15 Jan 2014 18:12, "Paul Giblock" <drfa...@gmail.com> wrote:
> If people are interested in working on UI code and they are not up for
> work on the DSP core, then I fully support the decision to keep working on
> UI changes. I do not want to disturb any momentum in order to work on a
> major change which may turn to vaporware anyway. There is still a lot to
> benefit from UI changes now. For example, most of the Qt code dealing with
> widget hierarchies, sig/slot interconnections, and custom widget painting
> can stay intact. The major issue in LMMS regarding realtime safety is the
> close coupling of the GUI and DSP. There is even too much coupling between
> DSP elements. Consider the Song class, almost everything references
> "global" data stored in it.
>
> That being said, if *anyone* here is interested in some systems
> programming then I have quite the chore for them ;-). I have an
> architecture in mind (and slightly documented in
> https://github.com/pgiblox/unison/tree/master/docs that will give us a
> huge number of benefits. Some of the benefits include:
> - A realtime safe, multithreaded DSP engine. This thing lets you add
> "plugins" which are just simple DSP modules. The programmer can connect the
> "ports" of these modules together ad-hoc. The engine handles all routing of
> audio/midi/control between the modules and dynamically schedules the
> processing across multiple cores using a work-stealing algorithm.
> Therefore, a component such as a mixer-line or instrument-scaffolding are
> implemented by just adding and connecting DSP plugins. There is nothing
> imperative here.
> - Everything from mixer buses, sends, and controller/automation
> interconnection becomes vastly simplified as the engine takes care of data
> dependencies and such
> - For example, a project has a concept of component such as a mixer line.
> The mixer line is implemented by means of telling the engine: "Hey, add a
> panner and gain, wire them together, and expose the input and output
> channels to the project". If a user adds an effect to the mixer's FX list,
> then it tells the engine to wire the new plugin between the component's
> inputs and the panner plugin.
> - This message-based protocol allows for the DSP processing graph to be
> recompiled in a realtime safe fashion. It relieves components from dealing
> with these concerns, and it provides separation of logical (song/project)
> concerns and those dealing with processing the project. This can also allow
> for the DSP to run out-of-process from the frontend (think: resiliency
> against plugin failures and a frontend client on a mobile device which
> controls DSP running on a beefier computer)
>
> The bulk of the work above is already complete. The big task is taking
> LMMS elements and implementing them in terms of components.
>
> Another thing that really bothered me about LMMS is that the projects are
> huge monolithic beasts. Therefore, I have additional thoughts regarding
> next-genreation project files, resource management, and a "proper"
> extension system. Essentially, projects are just containers, and extensions
> determine what is stored into the project.
>
> If anyone is interested in helping, then I will be happy to produce a
> formal report including my findings, design goals, requirements, and work
> since completed.
>
> -- Paul
>
>
> On Wed, Jan 15, 2014 at 11:43 AM, Tobiasz Karoń <unf...@gmail.com> wrote:
>
>> If waiting longer with replacing the core means it will cost more work
>> later and rewriting code you've just wrote, it'd be best to do it ASAP.
>> On 15 Jan 2014 17:29, "Vesa" <dii....@nbl.fi> wrote:
>>
>>> On 01/15/2014 06:00 PM, Jonathan Aquilina wrote:
>>> > Would you guys be willing to step back from other work such as UI work
>>> to
>>> > contribute to this endeavour?
>>>
>>> I don't think I'd be much use in it, I'd rather continue doing the UI
>>> work where I actually have a chance of doing something useful.
>>>
>>> I also don't think it'd be a good idea right now to start porting in a
>>> new engine if it means we have to put everything else on hold.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
>>> Learn Why More Businesses Are Choosing CenturyLink Cloud For
>>> Critical Workloads, Development Environments & Everything In Between.
>>> Get a Quote or Start a Free Trial Today.
>>>
>>> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> LMMS-devel mailing list
>>> LMMS-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/lmms-devel
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
>> Learn Why More Businesses Are Choosing CenturyLink Cloud For
>> Critical Workloads, Development Environments & Everything In Between.
>> Get a Quote or Start a Free Trial Today.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
>> _______________________________________________
>> LMMS-devel mailing list
>> LMMS-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/lmms-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> LMMS-devel mailing list
> LMMS-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lmms-devel
>
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
LMMS-devel mailing list
LMMS-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lmms-devel