[Clam-devel] Re: [PATCH] Re: adding spectrum magnitude to annotator discussion

Pau Arumi parumi at iua.upf.edu
Thu Jul 5 08:38:20 PDT 2007


En/na bennett kolasinski ha escrit:
> OK, I'll fix right away-- so should I update my sandbox before making 
> the changes?

Yes --I understood-- though you might need to resolve a
conflict.

Cheers!
pau


> On 7/5/07, *David García Garzón* < dgarcia at iua.upf.edu 
> <mailto:dgarcia at iua.upf.edu>> wrote:
> 
>     Bennet i committed most of it but it needs urgent fixes.
> 
>     First of all PoolFloatArrayDataSource: :updateData takes
>     FirstBinOffset and
>     BinGap from the parent attribute instead of the attribute you are
>     addressing.
>     The parent attribute is the FrameDivision, it is an attribute that
>     says how
>     the frames are placed along time, which uses a similar description
>     in time (a
>     FirstBinOffset and a BinGap) than the spectrum distribution in
>     frequency.
> 
>     So, instead of taking them on 'updateData', you should take such
>     attributes on
>     PoolFloatArrayDataSource::setDataSource method, the method where the
>     schema
>     is set, and take them as we currently take the bin labels.
> 
>     setDataSource: The source pool has changed, the schema must be updated
>     updateData: The data (or current frame) has changed, data must be
>     updated
> 
>     Besides that, such members of PFADS class (FirstBinOffset and
>     BinGap) are
>     pointers to values that exist outside of the object. That's very
>     dangerous as
>     the external object may change its structure. Keep a copy of the value
>     instead. If it is not present, then set a default value (0 and 1 are
>     a nice
>     guess) and if you need to know whether they are set (HasX) then use
>     a bool
>     member.
> 
>     So many errors should have ended in something noticeable but in fact
>     we are
>     not having any error because we are not using them. They should be
>     used on
>     PoolFloatArrayDataSource::getLabel, but now it is computing the label by
>     returning the string formatting of NBins, instead the string
>     formatting of
>     offset+i*bingap.
> 
>     And just for keeping the code clear, all the code to get the nBins at
>     BarGraphPlugin::ConfigureDialog is useless. We need it on the other
>     plugins
>     as we also filter by the number of bins (12 for the Tonnetz and 24
>     for the
>     KeySpace). But that's not the case here. I'll remove that code before
>     committing it. That might cause a svn conflict on you sandbox. Try
>     to fix the
>     rest.
> 
> 
>     David.
> 
> 
>     On Thursday 05 July 2007 06:16:02 bennett kolasinski wrote:
>      > Attached is an update to ClamExtractorExample that incorporates your
>      > suggestions from this email and IRC discussion as well as changes to
>      > InstantViewPlugin.  I'm not seeing SpectrumMagnitude as one of the
>      > attributes that can be visualized using BarGraph-- I'll look more
>     into it
>      > in the morning-- but as far as I can tell everything else is
>     working fine.
>      >
>      > B
>      >
>      > On 7/4/07, David García Garzón < dgarcia at iua.upf.edu
>     <mailto:dgarcia at iua.upf.edu>> wrote:
>      > > On Wednesday 04 July 2007 07:40:40 bennett kolasinski wrote:
>      > > > Hi David-
>      > > > Adding SpectrumMagnitude to ClamExtractorExample seems to
>     really blow
>      > > > things up.  First off, ClamExtractorExample seems to be
>     hanging on the
>      > >
>      > > call
>      > >
>      > > > to restoring the XML file now (with the last patch I sent):
>      > > > CLAM::XMLStorage::Restore (toValidadDescription, poolFile);
>      > > >
>      > > > I'm not sure if it's actually hung or just taking a really
>     long time to
>      > > > write what appears to be a 40.2 MB pool for a 3mb MP3
>     file.  Actually,
>      > > > looking at the file that was allocated, it looks like it
>     hasn't been
>      > > > touched since it was initially written-- maybe the file has been
>      > >
>      > > written?
>      > >
>      > > > do you have any reason to believe why XMLStorage::Restore()
>     would hang
>      > > > (maybe because it's such a large XML file)?  I just set it to
>     run with
>      > >
>      > > the
>      > >
>      > > > 'time' command and will see if it finishes up (and how long
>     it takes)
>      > > > by the time I wake up in a few hours.  Interestingly the pool
>     file that
>      > > > was allocated on my hard drive was the same size whether I
>     ran it with
>      > > > 512
>      > >
>      > > bins
>      > >
>      > > > or 10 bins.
>      > >
>      > > Suspicious. Take a look to the actual content of the xml.
>      > >
>      > > > Have you had a chance to run the patched
>     ClamExtractorExample?  Am I
>      > > > running it correctly by simply passing the desired audio file
>     into it?
>      > > >
>      > > > ./ClamExtractorExample mp3file.mp3
>      > > >
>      > > > ClamExtractorExample -s produces what appears to be a valid
>     schema...
>      > > >
>      > > > BTW, I believe the code changes to PoolFloatArrayDataSource
>     that you
>      > > > suggested are complete, but I don't want to send that patch
>     until I get
>      > >
>      > > a
>      > >
>      > > > fresh look at it in the morning.
>      > >
>      > > Well, if you send it, we could help you more on giving you an
>      > >
>      > > > Any ideas would be appreciated!  Is SpectrumMagnitude too...
>     'dense'
>      > > > (?) for Annotator?  Do we need a more efficient way of
>     storing it than
>      > > > a plaintext file?
>      > >
>      > > Yes we should have a more efficient way, but, the short goal
>     now is not
>      > > storing spectrums but having FloatArrays with numeric bin
>     labels and
>      > > being able to represent them. So a smaller array should do the
>     work. So,
>      > > keep your
>      > > focus and minimize distractions from it.
>      > >
>      > > BTW, the TODO wiki is a nice tool set such focus. I would
>     recommend you
>      > > to mark your current task and subtasks in a special way. Also,
>     writting
>      > > down all
>      > > those tasks you see but that go away from your current focus is
>     a good
>      > > practice as let you take them out of your mind. Also to marking
>     done task
>      > > with [[Image:done.png]] helps you to have the sensation of
>     progress which
>      > > can
>      > > motivate you a lot.
>      > >
>      > > David.
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Clam-devel mailing list
> Clam-devel at llistes.projectes.lafarga.org
> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel





More information about the clam-devel mailing list