Re: [linux-audio-dev] [ANN] SkinDial QDial compatible class for eyecandy knobs

From: Benno Senoner <sbenno@email-addr-hidden>
Date: Sun Jun 12 2005 - 00:01:32 EEST

Arnold Krille wrote:

>On Saturday 11 June 2005 20:44, Benno Senoner wrote:
>
>
>>The SkinDial class is written in Qt [1] provides flexible pixmap based
>>dial/knob widget
>>compatible with QDial [2].
>>The idea was to make it using Qt's QDial API so that apps (mainly audio
>>apps) using this class can make
>>use of eyecandy knobs without changing the code. (except for the
>>constructor).
>>
>>
><snip>
>
>
>>What do you think of making a web page that collects all those ready to
>>use skinnable widgets
>>so that users avoid reinventing the wheel (the knob :) ) all over again ?
>>
>>
>
>Actually you just reinvented (reimplemented?) it: There is a scalable version
>in kdemultimedia/arts/gui since 2-3 years. And it works exactly as the Qt
>one, except its for float from the beginning...
>
>
I never stated that I invented the skinned knob. You find all sorts of
knobs in various linux audio apps.
(eg hydrogen etc .. but they are too specific and not flexible enough
for general purpose use).

Of course I reimplented my own version. It was based on ideas of various
LADers and people on #qt.
The purpose of SkinDial is to have an easy to use, flexible skinnable
knob that works like QDial.
Did you take the time to try the example andcheck out the HTML docs in
the tgz before saying there's such a version in kde since years etc ... ?

do you mean kpoti of
http://webcvs.kde.org/kdemultimedia/arts/gui/kde/
?
it's not pixmap based.

And certainly those widgets you mentioned don't come with extensive
docs, example code and
multiple mouse movement methods (Y/X/Radial), configurable pixmap angles
etc.

Adding float support so that you can do eg. setMinValue(0.1) ;
setMaxValue(0.9) and setValue(0.5) is trivial.
I'll add it to the next version to make anyone happy. (and new skins are
in the works by Thorsten and Peter).

>Your's doesn't scale...
>
>
It does.
if you look at the screenshot:
http://www.linuxsampler.org/misc2/skindial/skindialtest.png

the big one (it's even in the text on the GUI :) ) is derived from the
same small pixmap that is used for the other knobs.
you can resize() it to any dimension. Of course it does not make much
sense to take a small pixmap and make a big widget out of it.
But doing the viceversa makes sense, since if you reduce the size of the
knob you don't get the pixellation effect.
Still, I suggest setting the widget to the same dimension as the pixmap.

I might be a bit stupid or naive but I did look around quite a bit
before starting working on SkinDial, I even asked some KDE developers
if I could recycle some code but they confirmed that nothing as flexible
as SkinDial existed. That's why I started writing it.
The main purpose for SkinDial was to have some nice knobs in qsampler,
the LinuxSampler GUI. But I thought making a generally
usable knob widget with extensive docs and example code was better than
implementing yet another application specific knob.
The code is here and people are free to use or not use it in their
applications.
It will be used at least in qsampler and this was the motivation writing
it. Then if it comes it comes with full documentation and example code
and blender source files it's only a positive sideeffect. :)

So please next time before writing such comments, please try out the
code and read all the docs.
I accept any kind of criticism since constructive criticism leads to
improvement of code and applications but your message
sounds a bit that I simply wasted my time since I reinvented something
that's available since years, without me knowing this :)

As said I'm not upset in anyway but I just want to get the facts right
so that people get informed that's the state of art regarding
skinnable knob widgets.

cheers,
Benno
http://www.linuxsampler.org

>Arnold
>
>
>
Received on Sun Jun 12 04:15:05 2005

This archive was generated by hypermail 2.1.8 : Sun Jun 12 2005 - 04:15:05 EEST