annotate CHANGELOG @ 1109:ed51b940662c spectrogram-minor-refactor

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)
author Chris Cannam
date Mon, 25 Jan 2016 16:16:21 +0000
parents ed4119424c6b
children 68abc2ea47aa
rev   line source
Chris@1072 1 Changes in Sonic Visualiser 2.5 since the previous release 2.4.1:
Chris@1072 2
Chris@1072 3 - Add unit-converter dialog, for converting between various pitch and
Chris@1072 4 timing units
Chris@1072 5
Chris@1072 6 - Fix failure to reload note layers from session file
Chris@1072 7
Chris@1072 8 - Use a more sensible scale for the play-speed dial
Chris@1072 9
Chris@1072 10 - Fix crash when importing very wide CSV files
Chris@1072 11
Chris@1072 12 - Fix generation of wrong layer type from some CSV files
Chris@1072 13
Chris@1072 14 - Fix failure to export last instant in a time-instant layer
Chris@1072 15
Chris@876 16 Changes in Sonic Visualiser 2.4.1 since the previous release 2.4:
Chris@876 17
Chris@876 18 - Fix a crash when rendering certain colour 3d plot layers
Chris@716 19
Chris@714 20 Changes in Sonic Visualiser 2.4 since the previous release 2.3:
Chris@714 21
Chris@776 22 - Add support for left/right scrolling using a two-finger touchpad
Chris@776 23 gesture (where available)
Chris@776 24
Chris@716 25 - Make the octave numbering into a configurable option, and change
Chris@716 26 the default. Previously Sonic Visualiser labelled middle-C as "C3";
Chris@716 27 now it labels middle-C as "C4", a more common standard in the world
Chris@776 28 outside MIDI sequencer software. The previous system is available
Chris@776 29 as an option in the Preferences. This affects only the visible
Chris@776 30 labels: there is no change to analysis or to the file format
Chris@714 31
Chris@714 32 - Sonify time-value layers. Any time-value curve whose scale unit is
Chris@714 33 set to Hz will now acquire a playback toggle control; this control
Chris@714 34 is off by default, but if it is switched on, the curve will be
Chris@714 35 played back using a variable-frequency sound generator
Chris@714 36
Chris@714 37 - Add support for playback of note layers with non-MIDI frequencies
Chris@714 38 (formerly the note playback was limited to exact MIDI pitch)
Chris@714 39
Chris@714 40 - Change the default playback sample for note layers from piano to an
Chris@714 41 electric piano with sustain. The piano sample is still available,
Chris@714 42 and any sessions saved using it should continue to use it
Chris@714 43
Chris@867 44 - Add a cancel button for Vamp plugin processing: currently,
Chris@867 45 cancelling a transform results in a part-complete layer rather than
Chris@867 46 removing the results
Chris@867 47
Chris@790 48 - Add keyboard shortcuts to cycle the current layer (in addition to
Chris@790 49 the existing ones to cycle the current pane)
Chris@790 50
Chris@790 51 - Fix various bugs related to layer ordering: layer tabs re-ordering
Chris@790 52 themselves randomly when new layer added, layers being ordered
Chris@791 53 randomly when saving and reloading a session
Chris@790 54
Chris@848 55 - Fix incorrect interaction with non-Unicode usernames when creating
Chris@848 56 temporary and template directories on Windows
Chris@848 57
Chris@714 58 - Shade the start and end of the main audio file, to make them easier
Chris@714 59 to see for files that start or end in silence
Chris@714 60
Chris@714 61 - Speed up rendering and scrolling in time-value layers
Chris@714 62
Chris@714 63 - Make it possible to import CSV files directly into Note layers by
Chris@714 64 adding Pitch as a data type in the CSV file import dialog
Chris@675 65
Chris@856 66 - Fix play pointer jump to wrong frame when clicking on row in the
Chris@856 67 layer edit dialog
Chris@856 68
Chris@848 69 - Fix problems with keyboard shortcuts when using Qt5 on OS/X. This
Chris@848 70 is the first release in which the official builds use Qt5 for all
Chris@848 71 platforms.
Chris@848 72
Chris@675 73
Chris@675 74 Changes in Sonic Visualiser 2.3 since the previous release 2.2:
Chris@675 75
Chris@675 76 - Add a startup welcome dialog that also explains what SV makes
Chris@675 77 network connections for and allows user to forbid them
Chris@675 78
Chris@675 79 - Add "Export Audio Data" feature
Chris@675 80
Chris@675 81 - Show piano keyboard scale in note and time-value layers as well
Chris@675 82 as spectrogram, where vertical scale is log Hz; also show
Chris@675 83 numerical scale in note and region layers when not auto-aligned
Chris@675 84
Chris@675 85 - Speed up CSV file import and avoid showing crazily wide window
Chris@675 86 for CSV file format dialog when file has lots of columns
Chris@675 87
Chris@675 88 - Fix incorrectly saved window geometry when exiting from maximised
Chris@675 89 state
Chris@675 90
Chris@675 91 - Reduce number of timer wakeups when idle
Chris@675 92
Chris@675 93 - Add American English translation and make choice of translation
Chris@675 94 into a preference (defaulting to system locale)
Chris@675 95
Chris@675 96 - Permit installation to non-default location with Windows installer
Chris@675 97 build
Chris@714 98
Chris@608 99
Chris@608 100 Changes in Sonic Visualiser 2.2 since the previous release 2.1:
Chris@608 101
Chris@608 102 - Build with support for hidpi ("retina") text on OS/X
Chris@675 103
Chris@608 104 - Fix very slow analysis when using Ogg or FLAC files decoded
Chris@608 105 via libsndfile
Chris@675 106
Chris@608 107 - Fix inaccurate scale auto-align between time-value layers and
Chris@608 108 others
Chris@675 109
Chris@608 110 - Fix failure to open files specified on command line (or via
Chris@608 111 Open With) on Windows
Chris@675 112
Chris@608 113 - Reset cyclical counters and switch back to navigate mode when
Chris@608 114 a new session is started
Chris@579 115
Chris@675 116
Chris@579 117 Changes in Sonic Visualiser 2.1 since the previous release 2.0.1:
Chris@579 118
Chris@579 119 - Fix incorrect handling of FixedSampleRate outputs (Vamp SDK fix)
Chris@675 120
Chris@579 121 - Make it easier to see results from transforms that return a single point
Chris@675 122
Chris@579 123 - Make labelling clearer on time-value layers
Chris@675 124
Chris@579 125 - Add discrete-curve mode for time-value layers (for curves with gaps)
Chris@675 126
Chris@579 127 - Update code to build against Qt5
Chris@523 128
Chris@675 129
Chris@523 130 Changes in Sonic Visualiser 2.0.1 since the previous release 2.0:
Chris@523 131
Chris@523 132 - Fix incorrect samplerate in reading m4a files on OS/X
Chris@512 133
Chris@675 134
Chris@512 135 Changes in Sonic Visualiser 2.0 since the previous release 1.9:
Chris@512 136
Chris@512 137 - Support 64-bit builds on OS/X (using CoreAudio instead of
Chris@512 138 obsolete QuickTime audio file reader)
Chris@512 139
Chris@512 140 - Simplify RDF reading and fix some bugs. Now requires Dataquay
Chris@512 141 (http://breakfastquay.com/dataquay/) rather than using Redland
Chris@512 142 directly. Release builds use Sord/Serd rather than Redland
Chris@512 143
Chris@512 144 - Add a fullscreen mode on the F11 key
Chris@471 145
Chris@675 146
Chris@471 147 Changes in Sonic Visualiser 1.9 since the previous release 1.8:
Chris@471 148
Chris@471 149 - Add session templates; save session as template; apply template to
Chris@471 150 session
Chris@471 151
Chris@471 152 - Tidy up the file open logic so as to remove the dialog asking how
Chris@471 153 to open a file, where possible
Chris@471 154
Chris@471 155 - Various bug fixes.
Chris@394 156
Chris@675 157
Chris@394 158 Changes in Sonic Visualiser 1.8 since the previous release 1.7.2:
Chris@394 159
Chris@394 160 - Sonic Visualiser now registers as a file type handler on OS/X,
Chris@394 161 providing better integration with the desktop generally (Dan Stowell)
Chris@394 162
Chris@394 163 - There is a new function to toggle all Time Rulers at once (key #)
Chris@394 164
Chris@407 165 - The CSV import dialog has been overhauled, allowing more flexible
Chris@407 166 selection of purpose for each column
Chris@407 167
Chris@394 168 - Text overlays are now easier to read on dark backgrounds
Chris@394 169
Chris@394 170 - Hidden layers are now ignored when exporting an image (Dan Stowell)
Chris@394 171
Chris@394 172 - A crash when starting a new session or exiting the application
Chris@394 173 after loading a session with saved alignment data has been fixed
Chris@394 174
Chris@394 175 - The duplication of right-button menu functions when multiple files
Chris@394 176 were loaded has been fixed
Chris@394 177
Chris@394 178 - The layer-add menu functions now have shortcuts (Dan Stowell)
Chris@394 179
Chris@394 180 - The codebase has been reorganised into libraries and a configure
Chris@394 181 step added. It should be easier to build and maintain on OS/X and
Chris@394 182 Linux than previously, although it won't make much difference on
Chris@394 183 Windows.
Chris@394 184
Chris@397 185 - A Czech translation is now included (thanks to Pavel Fric).
Chris@397 186
Chris@675 187
Chris@394 188 Changes in Sonic Visualiser 1.7.2 since the previous release 1.7.1:
Chris@394 189
Chris@394 190 - The time-value layer now has an origin line and an option to
Chris@394 191 show derivatives (change from one point to the next) rather than
Chris@394 192 raw values
Chris@394 193
Chris@394 194 - A static initialiser race has been fixed, possibly fixing an
Chris@394 195 occasional crash on startup in Windows
Chris@394 196
Chris@394 197 - A crash when pressing Play straight after New Session has been
Chris@394 198 fixed
Chris@394 199
Chris@675 200
Chris@394 201 Changes in Sonic Visualiser 1.7.1 since the previous release 1.7:
Chris@394 202
Chris@394 203 - The RDF importer does a better job of assigning labels to layers,
Chris@394 204 layers to panes, and values to labelled regions
Chris@394 205
Chris@394 206 - Interactive editing in the Text layer benefits from the same
Chris@394 207 improvements as made in 1.7 to Note and Region layers
Chris@394 208
Chris@394 209 - The layer data editor window has a text search feature
Chris@394 210
Chris@394 211 - The main window status bar now shows the last label to have passed
Chris@394 212 the playback position in the current layer, at the right end of the
Chris@394 213 status bar
Chris@394 214
Chris@394 215 - The Russian translation has been updated (thanks Alexandre)
Chris@394 216
Chris@675 217
Chris@394 218 Changes in Sonic Visualiser 1.7 since the previous release 1.6:
Chris@394 219
Chris@394 220 - A new "Insert Item At Selection" function on the Edit menu
Chris@394 221 can be used to create Note and Region layer items whose time
Chris@394 222 extents correspond to the current selection(s)
Chris@394 223
Chris@394 224 - Interactively editing points in the Note and Region layers
Chris@394 225 now works much more smoothly
Chris@394 226
Chris@394 227 - SV can now import MIDI files that use SMPTE timecode for event
Chris@394 228 timing (importing MIDI files using with the more common
Chris@394 229 timebase-based timing was already supported)
Chris@394 230
Chris@394 231 - Time values throughout the display may optionally be shown in
Chris@394 232 seconds and frames at various frame rates
Chris@394 233
Chris@394 234 - A crash on exit in Windows has been fixed
Chris@394 235
Chris@394 236 - A very unobtrusive user survey is now included
Chris@394 237
Chris@394 238 - Various other bug fixes.
Chris@394 239
Chris@675 240
Chris@394 241 Changes in Sonic Visualiser 1.6 since the previous release 1.5:
Chris@394 242
Chris@394 243 - The Colour 3D Plot layer now supports logarithmic vertical
Chris@394 244 scale and linear interpolation options.
Chris@394 245
Chris@394 246 - A new colour scheme (High Gain) has been added for spectrogram
Chris@394 247 and Colour 3D Plot, which improves readability for some data.
Chris@394 248
Chris@394 249 - Further performance improvements have been made to Colour 3D
Chris@394 250 Plot.
Chris@394 251
Chris@394 252 - Various other bug fixes.
Chris@394 253
Chris@675 254
Chris@394 255 Changes in Sonic Visualiser 1.5 since the previous version 1.4:
Chris@394 256
Chris@394 257 - You can now insert time instants, time values, and notes using
Chris@394 258 a MIDI device during playback. If a time value or note layer is
Chris@394 259 current it will be used for insertion (giving a value equal to
Chris@394 260 the pitch class, or the played note, respectively); otherwise an
Chris@394 261 existing or new time instants layer will be used just as it is
Chris@394 262 when inserting instants using the PC keyboard. Using a MIDI
Chris@394 263 device should give better timing than using the PC keyboard.
Chris@394 264
Chris@394 265 - There is a new Activity Log window with a (purely informative) list
Chris@394 266 of events and user interactions that happen while SV is running.
Chris@394 267
Chris@394 268 - The spectrogram has somewhat improved graphical scaling, and
Chris@394 269 this is now the default (being much faster than the 4x oversampled
Chris@394 270 method). The previous default is still available as a preference.
Chris@394 271
Chris@394 272 - Visualisation of very dense colour plots (such as spectrograms
Chris@394 273 calculated by plugins) is substantially faster in this release.
Chris@394 274
Chris@394 275 - Spectrogram display is now faster in many circumstances.
Chris@394 276
Chris@394 277 - Alignment using the MATCH plugin is faster on OS/X than before.
Chris@394 278
Chris@394 279 - SV will take into account RDF plugin descriptions, if available,
Chris@394 280 in order to make somewhat better decisions about display of plugin
Chris@394 281 outputs (for example, placing segmentation data into a layer with
Chris@394 282 segmentation plot type).
Chris@394 283
Chris@394 284 - You can now switch layers by clicking on the spare area at the left
Chris@394 285 end of the pane that is also used for the current pane indicator.
Chris@394 286
Chris@394 287 - The vertical black lines dividing segments in the time value
Chris@394 288 layer's segmentation plot style are now optional.
Chris@394 289
Chris@394 290 - Several widget layout bugs on OS/X have been fixed.
Chris@394 291
Chris@394 292 - Several serious crashing, deadlock, and data corruption bugs have
Chris@394 293 been fixed.
Chris@394 294
Chris@394 295
Chris@394 296 New features in Sonic Visualiser 1.4 since the previous version 1.3:
Chris@394 297
Chris@394 298 - SV now has a Region layer type, used for display of features with
Chris@394 299 durations. It also supports Vamp v2.0 plugins that provide durations
Chris@394 300 for features.
Chris@394 301
Chris@394 302 - Layer data can now be imported from RDF described using the Audio
Chris@394 303 Features Ontology, as well as from the existing text file types. SV
Chris@394 304 can also export annotation layer data to RDF/Turtle, although in a
Chris@394 305 somewhat simplistic manner at present.
Chris@394 306
Chris@394 307 - You can search for transforms by text in the new "Find a Transform"
Chris@394 308 dialog. This searches both installed plugins, and plugins that have
Chris@394 309 not been installed but that have descriptions available on the
Chris@394 310 semantic web.
Chris@394 311
Chris@394 312 - You can now zoom and scroll vertically in the time-value, note,
Chris@394 313 and colour 3d plot layers.
Chris@394 314
Chris@394 315 - Sonic Visualiser can now load sessions from uncompressed XML files
Chris@394 316 as well as its own compressed-XML .sv format. Files with extension
Chris@394 317 .xml that contain suitable session data will be loaded as sessions.
Chris@394 318 Note that .xml extension files still do not show up in the default
Chris@394 319 file load filter. This is intentional, as there may be any kind of
Chris@394 320 data in them -- if you want to load uncompressed session files from
Chris@394 321 XML, you need to know you're doing it.
Chris@394 322
Chris@394 323 - Several crashes and other bugs have been fixed.
Chris@394 324
Chris@675 325
Chris@394 326 Changes in Sonic Visualiser 1.3 since the previous version 1.2:
Chris@394 327
Chris@394 328 - There is a new spreadsheet-style data viewer and editor for
Chris@394 329 viewing and editing the data in some types of annotation layer.
Chris@394 330
Chris@394 331 - Alignments are now saved to the session file.
Chris@394 332
Chris@394 333 - The spectrogram layer is usually somewhat faster than it was.
Chris@394 334
Chris@394 335 - You can now hold Shift while dragging to move an item, in order
Chris@394 336 to override the initial drag resistance introduced in 1.2.
Chris@394 337
Chris@394 338 - The gross mis-labelling of time lines in the ruler has been fixed.
Chris@394 339
Chris@394 340 - There is a new, somewhat provisional PulseAudio output driver.
Chris@394 341
Chris@394 342 - Several other bug fixes.
Chris@394 343
Chris@675 344
Chris@394 345 New features in Sonic Visualiser 1.2, since the previous version 1.0:
Chris@394 346
Chris@394 347 - SV now supports time-alignment of multiple performances of a work
Chris@394 348 loaded at the same time. This option is enabled when the MATCH Vamp
Chris@394 349 plugin is installed. When alignment is switched on and more than one
Chris@394 350 audio file is open, SV will assume that all open files are
Chris@394 351 differently timed performances of the same work, and will calculate
Chris@394 352 time alignments for them. Playback will then play only a single file
Chris@394 353 at a time, and the playback cursors in other files will track at the
Chris@394 354 varying speeds to try to ensure that each is at the same point in the
Chris@394 355 underlying score. This enables effective comparison of several such
Chris@394 356 files, as well as a meaningful way to switch from one performance to
Chris@394 357 another during playback (ensuring that the switch happens at the
Chris@394 358 correct point in the performance being switched to).
Chris@394 359
Chris@394 360 - There is a new Image layer, which can display images from the
Chris@394 361 local filesystem or retrieved via HTTP or FTP.
Chris@394 362
Chris@394 363 - A new measurement tool has been added. With the measurement tool
Chris@394 364 selected, dragging in a pane draws a rectangle labelled with the
Chris@394 365 scale values for its start and end corners and its size. You can
Chris@394 366 have any number of measurements present at once; they are associated
Chris@394 367 with the top layer, their scale values depend on the scale for that
Chris@394 368 layer, and they are only shown when that layer is at the top and the
Chris@394 369 measurement tool is active. Measurements are saved and reloaded in
Chris@394 370 the session file. Drawing measurements can be undone and redone, and
Chris@394 371 a measurement can be deleted by hitting Del when highlighted. Note
Chris@394 372 that the measurement tool shows the scale values associated with the
Chris@394 373 pixel positions of the mouse when dragging, not any values associated
Chris@394 374 with actual features present in the audio or its analysis (e.g. the
Chris@394 375 values are not rounded to the nearest spectrogram bin).
Chris@394 376
Chris@394 377 - You can double-click using the measurement tool in the spectrogram
Chris@394 378 to get an instant measurement rectangle for a feature. This is a
Chris@394 379 purely graphical feature that works by calculating the boundary of a
Chris@394 380 contiguous region of pixels "similar to" the one you double-clicked
Chris@394 381 on; it does not use audio analysis. Adjusting the gain and colour
Chris@394 382 scheme etc of the spectrogram will (by design) affect the
Chris@394 383 measurements obtained this way.
Chris@394 384
Chris@394 385 - The spectrum can now optionally show frequency estimates of peaks
Chris@394 386 aligned with a piano keyboard along the horizontal axis (this needs
Chris@394 387 some refinement).
Chris@394 388
Chris@394 389 - The harmonic cursor in the spectrogram has moved from the Select
Chris@394 390 tool to the Measurement tool. There is now a similar harmonic cursor
Chris@394 391 in the spectrum. Both of them show more information as text
Chris@394 392 alongside the cursor than previously.
Chris@394 393
Chris@394 394 - There is a new Erase tool for erasing individual points from an
Chris@394 395 editable layer.
Chris@394 396
Chris@394 397 - Several keyboard shortcuts have changed -- all of the Alt+key
Chris@394 398 shortcuts now either use Ctrl or a plain keypress with no modifier,
Chris@394 399 to avoid clashes with window manager shortcuts and to make them
Chris@394 400 easier to use and remember
Chris@394 401
Chris@394 402 - The playback controls are now in a Playback menu as well as the
Chris@394 403 toolbar.
Chris@394 404
Chris@394 405 - There is a new key and mouse control reference under Help (or press
Chris@394 406 F2).
Chris@394 407
Chris@394 408 - You can double-click on a pane in navigate mode to jump to a time.
Chris@394 409
Chris@394 410 - All of the single-colour layers (waveform, time values etc) now
Chris@394 411 allow you to define your own colours as well as using the built-in
Chris@394 412 set. The colour of a layer is now shown next to its name on the pane.
Chris@394 413
Chris@394 414 - When you add a new single-colour layer it will use a default colour
Chris@394 415 that is not yet in use in another layer (if there is one).
Chris@394 416
Chris@394 417 - Single-colour layers can now optionally have black backgrounds (with
Chris@394 418 a set of lighter colours in the default colour palette that use black
Chris@394 419 backgrounds by default).
Chris@394 420
Chris@394 421 - There's a new Printer colour scheme in the spectrogram with only a
Chris@394 422 small number of grey shades.
Chris@394 423
Chris@394 424 - Vertical zoom in a log-scaled spectrogram is much more intuitive;
Chris@394 425 it now leaves the point that was in the centre of the visible area in
Chris@394 426 the centre after zoom, instead of the point that was in the centre of
Chris@394 427 the linear range corresponding to the visible area.
Chris@394 428
Chris@394 429 - You can now turn a colour 3d plot layer upside down by clicking the
Chris@394 430 Invert Vertical Scale button.
Chris@394 431
Chris@394 432 - There's a new Layer Summary window which shows the panes and
Chris@394 433 layer data in a tree layout. This is very simplistic at the moment.
Chris@394 434
Chris@394 435 - Each pane now has an [X] button at its top left, which removes that
Chris@394 436 pane when clicked.
Chris@394 437
Chris@394 438 - There's a new Solo play mode toggle button; when active, only the
Chris@394 439 currently selected pane is played. This is also the default when
Chris@394 440 time alignment is in use.
Chris@394 441
Chris@394 442 - Rewind/ffwd now stay confined to the selection if Play Selection is
Chris@394 443 enabled; also, the rewind and ffwd "one step" buttons are now enabled
Chris@394 444 even if there is no time instants layer for them to align to (they
Chris@394 445 align to the time ruler instead and so jump in steps of a size
Chris@394 446 dependent on the zoom level).
Chris@394 447
Chris@394 448 - You can now export note layers to MIDI.
Chris@394 449
Chris@394 450 - MIDI note velocity is partially supported. Note velocity is
Chris@394 451 retained when importing and exporting MIDI and is used in playback,
Chris@394 452 but it is not yet shown in the display and cannot yet be edited.
Chris@394 453
Chris@394 454 - You can now drag-and-drop files (of whatever type) onto SV from
Chris@394 455 other programs such as file managers or web browsers.
Chris@394 456
Chris@394 457 - mp3 files (and Ogg, but they aren't supported on Windows at the
Chris@394 458 moment) are now decoded in a background thread so you can see the
Chris@394 459 start of the track without waiting for the rest to decode.
Chris@394 460
Chris@394 461 - Mac builds of SV can now load AAC/mp4 files and anything else
Chris@394 462 supported by QuickTime.
Chris@394 463
Chris@394 464 - There is now an option to resample audio files on import if they
Chris@394 465 don't match the samplerate of the first file loaded. By default this
Chris@394 466 is switched off, as it affects the visible waveform. The default
Chris@394 467 behaviour is unchanged (play at the wrong rate). There is still no
Chris@394 468 option to handle multiple rates "correctly" (i.e. by resampling
Chris@394 469 on playback and showing the waveforms at different resolutions
Chris@394 470 according to each one's underlying rate) and there probably never
Chris@394 471 will be.
Chris@394 472
Chris@394 473 - SV can now open .m3u playlist files, though it's a hazardous thing
Chris@394 474 to do as it simply loads all the files in the playlist at once.
Chris@394 475
Chris@394 476 - SV now has various options for how to number tapped time instants
Chris@394 477 (bar/beat, plain counter, time in seconds, tempo etc).
Chris@394 478
Chris@394 479 - The official builds use Qt 4.3, which fixes some nasty
Chris@394 480 bugs in the file dialog that the version 1.0 builds suffered from.
Chris@394 481