[Clam-devel] qt4 migration (was: Re: two new patches in bug tracker)
David García Garzón
dgarcia at iua.upf.edu
Thu Mar 29 04:19:44 PDT 2007
Hi, Zack, nice to see you sending patches. :-) I am currently on exams period
so I am sorry I can't give you as much feedback as i want.
On Dijous 29 Març 2007, Zach Welch wrote:
> Hi all,
> Tonight I posted a couple of patches to the bug tracker.
> The first patch provides fixes and improvements to ControlSenderWidget (the
> GUI for OutControlSender in NetworkEditor), providing new response to the
> ControlRepresentation configuration attribute.
The ControlRepresentation attribute was a reminiscence of the qt3
NetworkEditor interface not implemented on the qt4 one so it's great you
When exams finish I'll try to reproduce also the error condition you mention
and apply your patch if Pau doesn't apply it faster. Thanks a lot for the
> The second patch provides my changes for getting the core CLAM to build
> against Qt4. I am not sure how welcome this will be in its current state,
> but I thought it would be a constructive way to broach the question of
> forward porting the codebase. I have other Qt4 changes in my tree, but I
> would like to hear what the concensus is on the subject before bothering to
> post them.
Regarding the migration to Qt4 i would like to point you to the proper hooks.
In some sense we already started it. Annotator and NetworkEditor have been
already ported to Qt4. Indeed Annotator contains a subproject
(Annotator/vmqt) which is a Qt4 reimplementation of CLAM/src/QTVM done by
Ismael Mosquera. Because CLAM is modular Annotator and NetEditor just ignored
the libclam_vmqt module. So as you can see there is no need to port to qt4 in
order an application to use it. The qt4 migration process should address
directly the migration of SMSTools and Voice2Midi and then the code under
CLAM/src/QTVM just will be dropped.
So, our intended roadmap for qt4 migration would be the following one:
1- Drop fltk related code in CLAM and SMSTools
(no need to be the first but we like dropping code as soon as possible ;-) )
2- Port Voice2Midi to qt4 using vmqt4 in Annotator
(or just keep it without compiling for a while, as it is not a key app)
3- Move qt3 source to SMSTools dropping all the code SMSTools don't need.
(Since porting this app needs a lot of work we were thinking on not porting
it until we address an SMSTools rewrite)
4- Move the vmqt4 module from Annotator to CLAM
5- Address the SMSTools qt4 rewrite
(we want to rewrite also the application logic so it will be done at once)
6- In parallel we also want to address the simplification and an extension of
vmqt4 module to deal with datasources (Annotator instant views and NetEditor
widgets) and incorporating visualizations from SonicVisualizer.
So, as i understood, you started the port just to have it compiling in a box
without qt3. The fast solution to this is adding an option to the Scons
configure to disable qt3 dependencies checking so you could configure clam
$ scons configure with_qt3=0
and then call scons this way (which is already available):
scons install_core install_processing install_audioio
NetworkEditor and Annotator will be very happy with that.
For Voice2Midi and SMSTools more work would be needed on moving code to the
I'll go for that as soon as i end the exams, but feel free to anticipate
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
(Home) vokimon at telefonica adot net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the clam-devel