On Fri, 4 Sep 2009, Patrick Shirkey wrote:

>> If we spin off libhydrogen, we could:
>>
>>     * Offer Hydrogen sampler as a plugin.
>
> Where's the interface?

Do you mean GUI?  It depends on the plugin system... but generally plugins 
don't come with GUI's.  There have been several requests to have Hydrogen 
as a DSSI or LV2 plugin.

> Couldn't we just make the existing system more flexible by providing a
> class that manages the various interface requirements?

H2Core::Hydrogen is a singleton class, as are many other critical classes. 
This means that there can only be _one_ instance in the application.  To 
get more instances, they have to be in different _processes_ (as opposed 
to threads or whatnot).  Even then, they are programmed in such a way that 
it's clear "There is only one" (config files, autosave, etc.)

This makes it hard to re-use Hydrogen as something like a plugin.  Even if 
you load the "Hydrogen Synth" plugin twice... I'm pretty sure there will 
only be _One_ hydrogen, _One_ song, _One_ drumkit.

...but I'm talking out of my league on this one.  I've never written a 
plugin.

>>     * Offer the 'classic' Hydrogen front-end, and possibly
>>       spin off a new application with the Live-like
>>       front-end.  Both would use the same back-end.
>
> One interface for this which takes a runtime flag to define the layout
> would achieve the same goal.

This sounds (to me) like a disaster and a maintenence headache.  Why not 
just fork the front-ends?  That's essentially what you're doing with the 
command-line switch.

One way I was thinking we could divide things up is to possibly call the 
library (or the new front end) "Tritium" -- i.e. radioactive hydrogen. 
As long as the library provides a consistent API... the maintainers of the 
two front-ends would be able to chase their different goals without 
stepping on each other.

>>     * something else...
>>
>>
>
> Phew, I'm a sucker for hard work but not sure if I can accomplish this
> one.... ;-)

Ha!  Well, the concept is very unix-ey.  While we're talking about a 
monolithic front-end, the back end components would be modular in 
nature... allowing them to be reassembled by other applications to do 
things that we never dreamed of doing.

Peace,
Gabriel

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Hydrogen-devel mailing list
Hydrogen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel

Reply via email to