[Clam-devel] Turnaround - Chord Extractor application

David García Garzón dgarcia at iua.upf.edu
Wed Jul 16 19:43:09 PDT 2008


On Dimecres 16 Juliol 2008, Pawel Bartkiewicz wrote:
> Here are two new patches. The first one replaces MonoAudioFileReader
> with AudioFileMemoryLoader so seeking is working now. The second one
> adds icons and toolbars. They include the previous patch.

Notice that binary files (mainly pngs) are missing in the patch (svn diff 
doesn't work with binaries). In any case, please, be conservative and include 
just those images you are actually using. Not those that you will eventually 
use. If you resend the patch (and the missing images as attatchment or in a 
tarball) i will commit it.

Also the monitor is something you are adding now because you are doing 
realtime visualization. As long as you will remove the realtime visualization 
the monitor must be removed from Turnaround.


> > 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.
>
> Ok, but the application should be easy to use, so splitting analysis
> and visualisation into different tools doesn't seem like a good idea
> to me.

For Annotator, that's ok as Extractors are user provided and must be a 
different binary. But i am not asking you to split the Turnaround. Just that 
you will find the code in different places now. You must join them and just 
keeping them in two different phases. I thought that was clear, but let me 
remind you just in case, the procedure is like that: On opening a file, the 
file is analysed offline. That means:
* that you can use the FreeWheelingPlayer for that (no Jack, PortAudio...).
* a progress bar using the progress control would be perfect here
* the results of such an analysis, are not visualized but stored in an 
in-memory storage (we call it DataPool) as ChordExtractor does before 
dumping.
At that point the user may play and seek the song using and 
AudioFileMemoryLoader connected to an AudioSink. The visualizations will take 
the data from a DataSource that access the DataPool, but selecting the 
analysis data at the time position sent by the AudioFileMemoryLoader output 
control.

ChordExtractor code is messy to my taste, so I will be happy if you practice 
some entropy anihilation tactics. ;-)

> > 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 ;-)
>
> I know, I have already looked at it. I'm going to implement offline
> analysis tonight, if there'll be any problems I'll ask you tomorrow.

Wow. Perfect. An IRC session would be perfect for that. Are you still 
experiencing network problems?

> > Yep, just a todo for you on the queue. ;-) But needed in order to have a
> > decent toolbar.
>
> Done in the second (newer) patch :-)

Ole! Short life to the todos! God save the patchers!

> > Nice to see your project full speed! Keep the good work.
>
> I find it easier to work with clear goals in mind, the training tasks
> were a bit unclear to me.

I hope you see the need of the 'training' task now. It was not an unrelated 
task at all. It was just on addressing the missing component to assemble on 
the app.


-- 
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
http://www.iua.upf.edu/~dgarcia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080717/7453fcdd/attachment.sig>


More information about the clam-devel mailing list