[Clam-devel] Turnaround - Chord Extractor application

David García Garzón dgarcia at iua.upf.edu
Tue Jul 15 10:02:45 PDT 2008


El Tuesday 15 July 2008 16:17:30 Pawel Bartkiewicz va escriure:
> > I won't like the final application be that close to the existing tonal
> > analysis in prototyper. The idea of an stand alone application is not
> > having the limitations of the prototyper.
>
> I don't see a reason why it would have such limitations.

Maybe we can do most of things like the prototyper but i just asked you a 
change in the mindset in respect of what it has been working with prototyper.

When working with prototyper, all must be realtime, the code must be generic, 
any relation betwen widgets and processing must be ruled by binders and any 
application specific was graphically designed (in designer or in neteditor). 
With an standalone application we can have offline processing, the data 
sources for widgets taken from storage instead of realtime piped from a 
processing, and we can add any coding to the program without not being 
generic or defined with graphical tools.

So, we'll have more work to do but i hope the result will fit better the 
requirements.

> > Before connecting the KeySpace or any other chord related widget which
> > will depend on the analysis, is important to have the Progress and a pair
> > of single key accelerators to do a relative seek up and down.
>
> Unfortunately I've already done it in reverse order, but I hope it'll
> be interesting anyway. Playback and simple analysis work in this
> version, although it's being done in realtime currently.

Great to see it working :-) but, hey, you are just doing what the prototyper 
does. I think that the transition to offline will be smother if you don't 
have any realtime code at all. It is time to look at the Annotator. Analysis 
and visualization code is splitted on different binaries. The Annotator has 
the visualization code and the ChordExtractor the analysis. Both binaries 
communicate throught an xml but in our case we won't store anything just do 
an analysis whenever a file is open and visualizing over the created analysis 
data structure using a DataSource interface that navigates over it controlled 
by the position control the file player sends.

I can give you more hints on annotator code if you need them. It is not a nice 
code to browse, Jun can tell you ;-)

> > Icons: Take a look on how NetworkEditor and Annotator handle them and
> > reproduce the setup here. I took the icons from the crystalsvg theme of
> > kde. Add a task bar and drop actions (with icons) in it.
>
> Yes, I know, but as you said: one small step at a time, not big deltas ;-)

Yep, just a todo for you on the queue. ;-) But needed in order to have a 
decent toolbar.

> > Designer: Be conservative on what you put on the designer. I just use
> > designer
> > for actions, menu's and toolbars. Using the designer for the layout can
> > turn into a very chaotic experience as you move on.
>
> Yeah, I've already noticed that. Honestly, I don't like Qt Designer,
> so writing the GUI code by hand will be even better for me.

Ok. But keept actions, resources, menus and toolbars in designer. Those are 
better mantained with designer.

> > Widgets: be aware on what you copy from NetworkEditor. We should endup
> > moving
> > them to a shared library so any change we do them we should consider
> > whether to apply it also to the other copies.
>
> I'm keeping it in mind all the time.

Perfect.

Nice to see your project full speed! Keep the good work.

David.





More information about the clam-devel mailing list