log layer/SpectrogramLayer.h @ 1620:dc0e47f234a2 tip

age author description
Thu, 09 Jan 2020 14:35:41 +0000 Chris Cannam Provide parameters needed for scale and thresholding spectrogram-export
Tue, 07 Jan 2020 11:18:43 +0000 Chris Cannam Provide export model spectrogram-export
Mon, 06 Jan 2020 14:46:25 +0000 Chris Cannam Start work on spectrogram export code spectrogram-export
Thu, 17 Oct 2019 11:12:54 +0100 Chris Cannam Pass a y-coord, optionally, to Layer::snapToFeatureFrame. This is necessary for BoxLayer which needs to coordinate its snaps with the box it is highlighting for editing. Then in BoxLayer, merge getPointToDrag and getLocalPoints into a single getLocalPoint and use this throughout.
Wed, 25 Sep 2019 09:46:27 +0100 Chris Cannam Tidying time-frequency-boxes
Thu, 12 Sep 2019 13:50:24 +0100 Chris Cannam Only set maximum frequency on FFT model when in a special verticallyFixed mode
Fri, 05 Jul 2019 15:34:50 +0100 Chris Cannam Update for removal of (public) getId from Model by-id
Tue, 02 Jul 2019 11:49:52 +0100 Chris Cannam Further layer updates for ModelById by-id
Mon, 01 Jul 2019 14:25:53 +0100 Chris Cannam Further layer updates by-id
Fri, 28 Jun 2019 17:37:22 +0100 Chris Cannam Further layer updates for ById by-id
Wed, 01 May 2019 14:41:28 +0100 Chris Cannam Tweak peak-cache allocations etc in the hope of making long spectrograms a little faster to re-render single-point
Mon, 26 Nov 2018 13:52:27 +0000 Chris Cannam Use override throughout fix-static-analysis
Tue, 06 Nov 2018 13:36:04 +0000 Chris Cannam Experimental oversampling param spectrogramparam
Thu, 18 Oct 2018 13:21:56 +0100 Chris Cannam Add mechanism for saving/loading colour maps by name/id rather than by numerical index, for future compatibility when adding to or changing the supported colour maps. Add two new colour maps (and one old one). Write out backward-compatible numerical indices for use when reloading in older versions. Also add a mechanism to invert the colour map, though I don't think it turns out useful enough to include in the UI.
Thu, 01 Mar 2018 18:02:22 +0000 Chris Cannam Untabify
Wed, 22 Feb 2017 12:01:39 +0000 Chris Cannam Fix various "model deleted with no aboutToDelete notification" warnings (and one associated potential memory leak)
Tue, 21 Feb 2017 11:12:07 +0000 Chris Cannam Fix #1792 measure tool crosshairs rendered in wrong colour. Also extend crosshairs over the no-man's-land at the left
Thu, 26 Jan 2017 21:18:55 +0000 Chris Cannam Move this function into cpp file
Thu, 05 Jan 2017 14:02:54 +0000 Chris Cannam Make the colour 3d plot renderer able to support more than one level of peak cache; introduce a second "peak" cache for the spectrogram layer that actually has a 1-1 column relationship with the underlying FFT model, and use it in addition to the existing peak cache if memory is plentiful. Makes spectrograms appear much faster in many common situations. 3.0-integration
Thu, 05 Jan 2017 11:10:57 +0000 Chris Cannam Recreate FFT model when something changes, not the next time it's requested (avoids extra work when only retrieving the model) 3.0-integration
Fri, 05 Aug 2016 14:31:16 +0100 Chris Cannam Fixes to phase display and colour scale for it; tidy up some debug output spectrogram-minor-refactor
Fri, 05 Aug 2016 14:00:58 +0100 Chris Cannam Pull out paintDetailedScale spectrogram-minor-refactor
Thu, 04 Aug 2016 11:26:11 +0100 Chris Cannam Re-implement dB^2 (log-power) spectrogram setting spectrogram-minor-refactor
Wed, 03 Aug 2016 16:16:23 +0100 Chris Cannam Re-enable (little-used) normalise-visible-range option in spectrogram layer spectrogram-minor-refactor
Mon, 01 Aug 2016 16:21:01 +0100 Chris Cannam Fix threshold in spectrogram -- it wasn't working in the last release. spectrogram-minor-refactor
Fri, 22 Jul 2016 12:17:55 +0100 Chris Cannam Wiring through the magnitude range updates spectrogram-minor-refactor
Tue, 19 Jul 2016 14:49:46 +0100 Chris Cannam Consts and willRenderOpaque spectrogram-minor-refactor
Tue, 19 Jul 2016 08:55:13 +0100 Chris Cannam Make VerticalBinLayer an actual Layer (via SliceableLayer) spectrogram-minor-refactor
Thu, 14 Jul 2016 17:12:08 +0100 Chris Cannam Remove almost all of the "old" paint logic from Colour3DPlotLayer spectrogram-minor-refactor
Thu, 14 Jul 2016 17:03:40 +0100 Chris Cannam Remove all of the "old" paint logic from SpectrogramLayer, even where it hasn't been completely replaced yet spectrogram-minor-refactor
Thu, 14 Jul 2016 16:52:16 +0100 Chris Cannam Convert ColourScaleType into an enum class spectrogram-minor-refactor
Thu, 14 Jul 2016 16:12:05 +0100 Chris Cannam Convert ColumnNormalization to an enum class, and separate out normalize-visible spectrogram-minor-refactor
Thu, 14 Jul 2016 15:13:37 +0100 Chris Cannam Turn BinDisplay and BinScale into enum classes spectrogram-minor-refactor
Thu, 07 Jul 2016 19:18:01 +0100 Chris Cannam Use enums from origin classes spectrogram-minor-refactor
Thu, 07 Jul 2016 12:39:56 +0100 Chris Cannam Colour scales (partly) spectrogram-minor-refactor
Tue, 05 Jul 2016 12:20:56 +0100 Chris Cannam Start to introduce renderer objects spectrogram-minor-refactor
Tue, 05 Jul 2016 08:58:28 +0100 Chris Cannam One FFT model per spectrogram (again!) - but we do still need a magnitude range per view, as views could be showing different regions spectrogram-minor-refactor
Sat, 02 Jul 2016 12:56:07 +0100 Chris Cannam One FFT size method, no member for it spectrogram-minor-refactor
Fri, 01 Jul 2016 18:30:42 +0100 Chris Cannam Simplify the oversampling/zero-padding logic. FFT model selection no longer depends on the view. spectrogram-minor-refactor
Fri, 01 Jul 2016 17:54:31 +0100 Chris Cannam Add VerticalBinLayer to SpectrogramLayer spectrogram-minor-refactor
Wed, 29 Jun 2016 11:53:00 +0100 Chris Cannam More renderer stubbing spectrogram-minor-refactor
Mon, 20 Jun 2016 11:30:15 +0100 Chris Cannam Pull out column ops into ColumnOp spectrogram-minor-refactor
Wed, 15 Jun 2016 09:46:20 +0100 Chris Cannam Replace old logic with calls to new functions; basic refactor part A done, the code now compiles again spectrogram-minor-refactor
Wed, 15 Jun 2016 08:52:07 +0100 Chris Cannam A couple more helper functions spectrogram-minor-refactor
Mon, 13 Jun 2016 16:17:44 +0100 Chris Cannam Mid-refactor to pull out the bulk of paintDrawBuffer into chunks spectrogram-minor-refactor
Mon, 13 Jun 2016 11:42:51 +0100 Chris Cannam Make peak cache divisor a member 3.0-integration
Tue, 02 Feb 2016 16:00:31 +0000 Chris Cannam Don't use partial paints when zoomed in far enough to have boundary alignment concerns. (But boundary calculations are still wrong, leading to a logic error exception.) spectrogram-minor-refactor
Fri, 29 Jan 2016 15:08:01 +0000 Chris Cannam Start refactoring out the spectrogram image cache spectrogram-minor-refactor
Tue, 26 Jan 2016 13:19:53 +0000 Chris Cannam Draw right-to-left when adjoining an existing cache valid area on the right spectrogram-minor-refactor
Mon, 25 Jan 2016 16:16:21 +0000 Chris Cannam Make paint method do its own timing and abandon if it's taking too long (still needs some work on queueing correct repaints of the remainder) spectrogram-minor-refactor
Mon, 25 Jan 2016 15:52:26 +0000 Chris Cannam Rearrange cache update calculations so as to use the actual painted width returned by paint functions (though they only ever return the same width as requested, at this point) spectrogram-minor-refactor
Fri, 22 Jan 2016 18:12:41 +0000 Chris Cannam Avoid reusing a large paint width if the zoom level has changed (in case it has changed dramatically, as for example when the user hits the F key). Also some tidying and adjustment to timing stuff colourschemes
Fri, 22 Jan 2016 17:08:02 +0000 Chris Cannam Tidy a bit colourschemes
Wed, 01 Jul 2015 13:27:03 +0100 Chris Cannam Merge from branch simple-fft-model 3.0-integration
Wed, 01 Jul 2015 11:32:18 +0100 Chris Cannam Fill extent is not relevant in simple-fft-model code, as it's always the full extent simple-fft-model
Fri, 26 Jun 2015 14:13:31 +0100 Chris Cannam Merge from branch normalize_hybrid_option 3.0-integration
Wed, 18 Mar 2015 15:10:36 +0000 Chris Cannam Fix crash caused by using proxy (of unknown lifecycle) instead of view as cache key osx-retina
Tue, 17 Mar 2015 16:56:03 +0000 Chris Cannam Many fixes for the previous stuff osx-retina
Tue, 17 Mar 2015 15:05:25 +0000 Chris Cannam Start trying to introduce LayerGeometryProvider as proxyable interface for View methods that the Layer wants to use osx-retina
Tue, 10 Mar 2015 10:31:27 +0000 Chris Cannam More type fixes, primarily in the spectrogram cxx11
Mon, 09 Mar 2015 15:59:04 +0000 Chris Cannam A few more fixes cxx11
Mon, 09 Mar 2015 14:35:21 +0000 Chris Cannam Working through the float/double and int/sv_frame_t fixes cxx11
Fri, 12 Sep 2014 11:38:55 +0100 Chris Cannam Experimentally add the hybrid normalisation as an option (not working well either in UI or implementation) normalize_hybrid_option
Tue, 17 Jun 2014 15:36:56 +0100 Chris Cannam Some more unsigned/long removal warnfix_no_size_t
Tue, 17 Jun 2014 15:18:06 +0100 Chris Cannam Remove size_t's and fix warnings in layer/ warnfix_no_size_t
Tue, 28 Jan 2014 17:37:42 +0000 Chris Cannam Bodge in Matthias's suggested normalise-to-log as an option in spectrogram and colour 3d plot layers (not wired into gui)
Mon, 30 Jan 2012 16:06:32 +0000 Chris Cannam Adjust crosshair left end position based on detail level of vertical scale
Mon, 30 Jan 2012 16:01:59 +0000 Chris Cannam Give a dedicated key to toggling the centre line, and move it out of the overlay level setting -- reducing number of overlay levels to 3. Introduce two distinct vertical scale types (so that we can hide the spectrogram colour scale part easily)
Fri, 24 Jun 2011 14:27:32 +0100 Chris Cannam Check the scale width in the View (which has access to it); ask the layer to do something when the user clicks in the scale regardless of the edit mode, and continue with normal processing if the layer has nothing interesting to do sonification
Wed, 22 Jun 2011 00:04:21 +0100 mathieub Branch to handle audio feedback and metadata sonification interactively with the UI. sonification
Thu, 14 Apr 2011 15:21:21 +0100 Chris Cannam Record and show any error that occurs during layer processing (e.g. spectrogram layer runs out of disc space for feature files)
Mon, 09 Feb 2009 12:56:16 +0000 Chris Cannam * Fix overall mag range management in normalise-visible-area mode
Fri, 06 Feb 2009 15:06:23 +0000 Chris Cannam * Restore (better quality) y-axis interpolation in spectrogram
Thu, 05 Feb 2009 17:33:21 +0000 Chris Cannam * Re-enable peak frequencies display in spectrogram
Thu, 05 Feb 2009 12:05:28 +0000 Chris Cannam * Finer locking in fft caches; fix displayed bin ranges in spectrogram
Wed, 04 Feb 2009 15:03:42 +0000 Chris Cannam * Make use of peak cache in spectrogram
Tue, 03 Feb 2009 18:03:48 +0000 Chris Cannam * sort out cropping and scaling for x-smoothed draw buffer
Tue, 03 Feb 2009 15:21:28 +0000 Chris Cannam * start introducing another rendering method
Tue, 03 Feb 2009 12:55:09 +0000 Chris Cannam * smooth x-scaling for images in spectrogram -- needs an overlap to avoid
Tue, 03 Feb 2009 12:02:17 +0000 Chris Cannam * incremental commit
Tue, 03 Feb 2009 11:19:39 +0000 Chris Cannam * some preparatory reorganisation
Tue, 20 May 2008 10:40:20 +0000 Chris Cannam * Attempt fix for #1914752 export image has holes (1.0 and 1.2)
Wed, 27 Feb 2008 11:59:42 +0000 Chris Cannam * Merge from trunk spectrogram-cache-rejig
Fri, 23 Nov 2007 16:48:23 +0000 Chris Cannam * Add Erase tool and mode
Mon, 19 Nov 2007 15:50:37 +0000 Chris Cannam * Some bits and bobs of cache mangling -- closer to working, but still not spectrogram-cache-rejig
Fri, 16 Nov 2007 17:15:30 +0000 Chris Cannam * cache bits & bobs (wholly broken at the moment) spectrogram-cache-rejig
Wed, 14 Nov 2007 16:23:17 +0000 Chris Cannam * First hack towards more efficient paint mechanism from cache filled spectrogram-cache-rejig
Thu, 18 Oct 2007 10:15:07 +0000 Chris Cannam * Make XmlExportable::toXml the function that is universally overridden (and
Thu, 12 Jul 2007 16:14:59 +0000 Chris Cannam * Add SingleColourLayer to manage colours for layers that have a single
Thu, 05 Jul 2007 15:36:37 +0000 Chris Cannam * Make it possible to "measure" a feature on the spectrogram by double-
Tue, 03 Jul 2007 12:46:18 +0000 Chris Cannam * Fix up and simplify the LayerTreeModel, removing a horrible memory leak
Fri, 29 Jun 2007 16:50:59 +0000 Chris Cannam * proper (though ugly) handling of y coord for measure rects in scrollable layers
Thu, 21 Jun 2007 16:12:00 +0000 Chris Cannam * more on measurement tool -- pull out some logic from pane to layer &c
Thu, 14 Jun 2007 16:28:27 +0000 Chris Cannam * some more work on measurement tool, and refactor Pane::paintEvent
Mon, 30 Apr 2007 13:36:23 +0000 Chris Cannam * Fix many compile warnings, remove some debug output
Thu, 08 Mar 2007 16:53:08 +0000 Chris Cannam * Fix #1672407 confused by plugin-named files in cwd (or home?)
Fri, 02 Mar 2007 14:00:12 +0000 Chris Cannam * Make getPropertyRangeAndValue return the default separately from the current sv1-1.0pre1
Fri, 02 Mar 2007 13:01:41 +0000 Chris Cannam * Update to use new vamp-hostsdk instead of vamp-sdk
Wed, 28 Feb 2007 11:20:14 +0000 Chris Cannam * Fix incorrect meter-scaling value for 0dB; some tidying
Thu, 01 Feb 2007 14:31:28 +0000 Chris Cannam * Work on harmonising colour and scale ranges between types of layer
Wed, 31 Jan 2007 12:13:47 +0000 Chris Cannam * Add separate colour mapping unit; use it in spectrogram (colour 3d plot to follow)
Fri, 26 Jan 2007 16:59:57 +0000 Chris Cannam * Add slice layers (so you can display a slice of a colour 3d plot as if it were
Fri, 12 Jan 2007 14:49:18 +0000 Chris Cannam * better icon
Fri, 24 Nov 2006 16:56:15 +0000 Chris Cannam * Omit translucent blue fill for selection rectangles that are superimposed
Fri, 17 Nov 2006 16:27:39 +0000 Chris Cannam * Update copyright notes as appropriate.
Mon, 16 Oct 2006 20:42:23 +0000 Chris Cannam * Use RangeMappers in various places in plugin parameters, layer properties,
Mon, 21 Aug 2006 13:18:50 +0000 Chris Cannam * Sensible default for vertical thumbwheel on spectrogram layer
Fri, 04 Aug 2006 17:01:37 +0000 Chris Cannam * Add zoom thumbwheels to Pane. Implement horizontal thumbwheel, and
Mon, 31 Jul 2006 17:05:18 +0000 Chris Cannam * Move the current DenseThreeDimensionalModel to EditableDenseThreeDimensionalModel last-cc-copyright
Mon, 31 Jul 2006 14:05:22 +0000 Chris Cannam * Reorganising code base. This revision probably should compile once more.
Fri, 21 Jul 2006 16:03:42 +0000 Chris Cannam * Finish preferences dialog (as far as it's going at the moment) and connect it up
Thu, 20 Jul 2006 16:51:20 +0000 Chris Cannam * start work on prefs dialog
Wed, 19 Jul 2006 16:55:29 +0000 Chris Cannam * some work on scaling and zooming for spectrogram
Fri, 14 Jul 2006 17:12:16 +0000 Chris Cannam * Various experiments in spectrogram colour scaling, etc. Nothing final
Wed, 05 Jul 2006 16:15:22 +0000 Chris Cannam * Restore progress updates to spectrogram
Fri, 30 Jun 2006 11:26:10 +0000 Chris Cannam * Add fuzzy-adapter class to pick out subset data from FFT data server, instead
Thu, 29 Jun 2006 16:16:49 +0000 Chris Cannam * Various fft server improvements, including the ability to pick out data from
Tue, 27 Jun 2006 19:18:42 +0000 Chris Cannam * Update SpectrogramLayer to use new FFTDataServer
Mon, 26 Jun 2006 16:12:11 +0000 Chris Cannam * Add FFT data server class to provide a file cache mapping for each
Mon, 19 Jun 2006 16:14:16 +0000 Chris Cannam * Separate out window and FFT size variables. Not necessarily correct
Thu, 15 Jun 2006 12:28:47 +0000 Chris Cannam * Switch from fftw3 to fftw3f. I think the efficiency improvement is probably
Fri, 12 May 2006 14:40:43 +0000 Chris Cannam * Make vertical scale alignment modes work in note layer as well as time-value sv1-v0.9rc1
Wed, 10 May 2006 11:43:52 +0000 Chris Cannam * Use fractional window overlaps in the spectrogram, instead of percentages
Tue, 09 May 2006 16:18:59 +0000 Chris Cannam * Incremental refresh of spectrogram layer
Tue, 09 May 2006 12:43:55 +0000 Chris Cannam * It turns out we can be more efficient in the spectrogram repaints by
Mon, 08 May 2006 16:44:47 +0000 Chris Cannam * Make a single base Thread class for RT and non-RT threads
Fri, 05 May 2006 14:10:12 +0000 Chris Cannam * adjustments to facilitate debugging on win32, and some minor fixes
Thu, 04 May 2006 16:03:02 +0000 Chris Cannam * Introduce simple non-RT thread base class
Wed, 03 May 2006 16:48:03 +0000 Chris Cannam * Add property labels to property containers (so i18n() won't affect file format)
Wed, 03 May 2006 14:26:26 +0000 Chris Cannam * Switch spectrogram layer over to using the new rudimentary disk-backed
Tue, 02 May 2006 12:27:41 +0000 Chris Cannam * Start factoring out the spectrogram's FFT cache into a separate set of
Sat, 29 Apr 2006 19:20:28 +0000 Chris Cannam * just a comment fix
Thu, 13 Apr 2006 18:29:10 +0000 Chris Cannam * Replace crash with warning when a transform could not be automatically
Mon, 10 Apr 2006 17:22:59 +0000 Chris Cannam * Implement harmonic cursor in spectrogram
Fri, 31 Mar 2006 15:56:35 +0000 Chris Cannam * Modify to use Vamp SDK for proper feature extraction plugins.
Mon, 20 Mar 2006 15:10:07 +0000 Chris Cannam * Update licensing rubric for GPL
Mon, 20 Mar 2006 11:40:39 +0000 Chris Cannam * Set indent-tabs-mode to nil in Emacs mode direction
Fri, 03 Mar 2006 17:52:21 +0000 Chris Cannam * Fix a crash in PortAudio output for mono data
Thu, 02 Mar 2006 16:58:49 +0000 Chris Cannam * Refactor Layer classes so as no longer to store a single View pointer;
Mon, 27 Feb 2006 17:34:41 +0000 Chris Cannam * Add "Export Audio File" option
Fri, 24 Feb 2006 17:26:11 +0000 Chris Cannam * Add time/Hz description for waveform model to the bottom right of a pane
Fri, 24 Feb 2006 15:46:47 +0000 Chris Cannam * More fixes, tidying etc in spectrogram layer. Added a piano keyboard
Thu, 23 Feb 2006 18:06:31 +0000 Chris Cannam * Fix to phase cacheing
Thu, 23 Feb 2006 18:01:31 +0000 Chris Cannam * Rearrange spectrogram cacheing so that gain, normalization, instantaneous
Wed, 22 Feb 2006 17:45:18 +0000 Chris Cannam * Make the frequency estimation mode in the spectrogram layer actually useful,
Mon, 20 Feb 2006 17:23:40 +0000 Chris Cannam * Improvements to text layer editing, and implement file I/O for it
Mon, 20 Feb 2006 13:33:36 +0000 Chris Cannam * Add TextModel and TextLayer types
Fri, 17 Feb 2006 18:04:26 +0000 Chris Cannam * Implement play mute, level and pan controls and a layer visibility control
Tue, 14 Feb 2006 17:43:14 +0000 Chris Cannam * Change SpectrogramLayer to use its own cache type instead of a QImage
Fri, 10 Feb 2006 17:51:36 +0000 Chris Cannam * Add the Note layer for pianoroll-type display of note-type data
Wed, 08 Feb 2006 17:59:16 +0000 Chris Cannam * Add ffwd/rewind
Mon, 06 Feb 2006 17:24:52 +0000 Chris Cannam * Rationalise the local feature identification API in Layer subclasses
Thu, 02 Feb 2006 16:10:19 +0000 Chris Cannam * Refactor sparse models. Previously the 1D and time-value models duplicated
Mon, 30 Jan 2006 13:19:42 +0000 Chris Cannam * Add getXForFrame / getFrameForX in preference to using the zoom level everywhere
Thu, 26 Jan 2006 16:15:40 +0000 Chris Cannam * Add ability to create empty layers for editing
Wed, 25 Jan 2006 17:46:28 +0000 Chris Cannam * Fix update and play limits for play-selection mode when not looping
Mon, 23 Jan 2006 17:02:57 +0000 Chris Cannam * Hook up tool selection buttons to switch the cursor mode
Thu, 19 Jan 2006 12:54:38 +0000 Chris Cannam * Rework handling of layer properties in file I/O -- we now get the individual
Mon, 16 Jan 2006 18:04:09 +0000 Chris Cannam * Tweaked up spectrogram and added a colourmap rotation option
Thu, 12 Jan 2006 17:19:08 +0000 Chris Cannam * Beginnings of session save code
Thu, 12 Jan 2006 13:45:27 +0000 Chris Cannam * Update copyrights to 2006
Tue, 10 Jan 2006 17:04:02 +0000 Chris Cannam * Backed out partially complete changes to make the spectrogram only
Tue, 10 Jan 2006 16:33:16 +0000 Chris Cannam initial import