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

Patrick Stinson patrickkidd at gmail.com
Thu Apr 12 10:09:54 PDT 2007


On 4/12/07, David García Garzón <dgarcia at iua.upf.edu> wrote:
> On Thursday 12 April 2007 04:14:49 Patrick Stinson wrote:
> > I wish I had more brain to use to listen to your description, but i am
> > in the middle of a totally unrelated commercial release for my client.
>
> No problem. Let's talk afterwards then.

Sure. This topic is really fun because the work is really high level and easy!

>
> > I built our system around the specific requirements for our product
> > plugin system, so it probably won't make much sense for you.\
> >
> > I program against the latest PyQt4 and for any platform. I always
> > build from source. I suggest you do too.
>
> I do, but we offer a development platform and distribute packages for a lot of
> platforms so in some way we will like to distribute the widget toolchain too
> in a similar way or providing some howto.

Gotchya. Packaging is the usually the biggest problem with sip/pyqt stuff, IMO.

>
> > I'd be happy to answer questions about the povray stuff. That facet of
> > my code is pretty interesting, as it lets you focus on the povray
> > scenes. I can't remember what state the pkpov tool is in, but I was
> > just writing the scenes myself in python anyway, so I suggest you try
> > that.
>
> I did some experiments by changing parameters such as colors and size of
> buttons, and works pretty well. :-) I need to know how to crop them but i am
> on the track.

Right. I wrote a tool to do that a while ago, but it isn't in my
repository anymore because I took a different direction with the
widgets I have now. I could write it again in a day or less if I
wasn't so busy... We release early june (hopefully) and this stuff
would be fun to get back into then (no promises!)

>
> What i miss is some way of making the background transparent. Adding pkwidgets
> to an interface forces you to use the widget background for all the interface
> to avoid awkward aspect. By having an alpha background we could remove this
> limitation. I spotted several interesting links:
> http://www.imagico.de/pov/icons.html
> http://www.econym.demon.co.uk/shadowtut/index.htm

This was one of two major problems I never tackled.. I thought about
using some sort of mask, but I'm not sure. The purest way would be to
get povray to do it, but I haven't looked into it. If it isn't
immediately possible using the povray docs, then a post to the povray
mailing list and/or community forums would probably be worth it. If
not, creating some sort of mask might be the way to go, but that would
be difficult with the shadow.

>
> > Keep me informed how your work goes. I'm glad to hear my code helped.
>
> At the moment i'll use the existing widgets and pixmaps and i'll extend both
> as i need more. Our packaging must not to be changed for that. Eventually i
> would like to integrate things further and porting other widgets. So let's
> talk then. I'll keep you informed. Warn me also when your release is over and
> lets chat a little.

I may not remember (we are REALLY busy), so drop me another line if I
don't get back to you. This is what we are working on:
www.soundsonline.com.

Are you doing anything commercially?


>
> Regards
>
>
> > On 4/11/07, David García Garzón <dgarcia at iua.upf.edu> wrote:
> > > 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=DE
> > > > >VDEV _______________________________________________
> > > > > 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
>
>
>


-- 
Patrick Kidd Stinson
http://www.patrickkidd.com/
http://pkaudio.sourceforge.net/
http://pksampler.sourceforge.net/




More information about the clam-devel mailing list