[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.
> https://projectes.lafarga.cat/tracker/index.php?func=detail&aid=232&group_i

The ControlRepresentation attribute was a reminiscence of the qt3 
NetworkEditor interface not implemented on the qt4 one so it's great you 
implemented it.

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.
> https://projectes.lafarga.cat/tracker/index.php?func=detail&aid=233&group_i

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 
me ;-)

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
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070329/ca80dbf1/attachment.sig>

More information about the clam-devel mailing list