[Clam-devel] Re: [pksampler-devel] CLAM and PK widgets

David García Garzón dgarcia at iua.upf.edu
Wed Apr 11 18:57:10 PDT 2007


On Dijous 12 Abril 2007, Patrick Stinson wrote:
> Are you working on a project written in python? 

No, it is C++. Although we want to provide bindings soon.

> If so, I would suggest 
> that you keep as much code in python as possible!

Yes, i understand why. Now i have to take a look at the features you added 
since the original port i did in 2004. Afortunatelly, C++ code is nearly as 
tiny and simple as Python code.

Any way i just need being able to load the plugin, and just rely on the 
AbstractButton and AbstractSlider interface, so i would like to check if i 
the new announced PyQt feature (python designer plugins) really works.


> I developed an interesting way to do this in designer in C++. It is
> kind of complicated, though.
>
> I have a basic subclass for each standard widget like knob and button.
> They all have myStyle, myObject, and myValue (not the real names - the
> real names have our code name in them), string properties declared
> with Q_PROPERTY. When a plugin widget is loaded, the host wrapper
> checks all children with QWidget::findChildren() that have the myStyle
> property, and creates the appropriate style and sets it on the widget.
> It took me a while to write the styles, but know that I know the
> proper enums and virtual functions (hint: read qwindowsstyle.cpp and
> qcommonstyle.cpp for QWidget subclass usage, in that order) it's
> rpetty easy to write a style.
>
> PyQt doesn't support QStyle subclasses because of a casting problem -
> that's why I wrote my simple custom classes. My classes expect the
> pixmaps to be in a certain format (not so unreasonable), and the
> subclasses are all centered around a pythonic way to set a pixmap path
> on a widget easily. I don't know how this integrates into your
> project.
>
> What are your requirements for your widgets? do you just want to
> display pixmaps widgets from a designer form? 

Well, i think that the current approach we are taking is more suited for our 
purposes. Just a property with the base name for the pixmap. Our project is a 
prototyping tool, as i told you. We want to allow a maximum flexibility 
without programming. A user can build his own interface and bind it to a 
processing core which is also constructed by another visual tool, the 
NetworkEditor. Check the newer development snapshots. They have been 
assembled using pixmap widgets from the designer plugin.

http://clam.iua.upf.edu/wikis/clam/index.php/Development_screenshots

For the pixmap widgets i would like to have a fast way they can change the 
image without compilation, that's why i made it a property.

In fact, I don't like my current property implementation. I would like a 
pixmap property so you can use the resource dialog, but then i don't know how 
to get the file name from the pixmap in order to extrapolate the other names. 
I also would like to provide some default implementations classes not 
requiring to setup any property. But definitely this approach is more 
flexible than building a QStyle.

I would like also that our users could have your povray based widget 
construction kit available on a handy place. So that they can generate new 
widgets easily. I have to talk more to you about that. I am not a povray 
expert. Also debian and your programs' dependencies are in some kind of 
trouble. Which ditribution are you programming on?


> You can do whatever you 
> want with my code, just leave a reference somewhere that says you
> learned something from me so I can get hired again when I quit my
> current job.


Of course. Thanks. And when you need to be hired, feel free to refer our 
project as a success history for your developments. Definitely, we are going 
to use it a lot. :-)



> On 4/11/07, David García Garzón <dgarcia at iua.upf.edu> wrote:
> > Hi, patrick and any one on the list.
> >
> > I am working on a C++ designer plugin version of pk widgets to integrate
> > them with CLAM audio application prototyping framework. The framework
> > allows you to visually build audio applications by prototyping the audio
> > core with a patch tool and the interface with Qt Designer.
> >
> > I just ported some of the pkwidgets: a generic button and a generic
> > slider. Both offer properties to base pixmap from the designer interface.
> > [2] They really look nice!!
> >
> > I am open to any collaboration, to split the widgets from CLAM as an
> > independent library or check the new PyQt4 method to build plugins in
> > python (published today!). I know we also share some interests on VST/Qt
> > integration so drop us a line.
> >
> >
> > --
> > David García Garzón
> > (Work) dgarcia at iua dot upf anotherdot es
> > (Home) vokimon at telefonica adot net
> > http://www.iua.upf.edu/~dgarcia
> >
> > -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share
> > your opinions on IT & business topics through brief surveys-and earn cash
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > _______________________________________________
> > pksampler-devel mailing list
> > pksampler-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/pksampler-devel



-- 
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
(Home) vokimon at telefonica adot net
http://www.iua.upf.edu/~dgarcia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070412/cf99e967/attachment-0001.sig>


More information about the clam-devel mailing list