annotate CHANGELOG @ 1164:c2b855a6fd5b spectrogram-minor-refactor

Replace old logic with calls to new functions; basic refactor part A done, the code now compiles again
author Chris Cannam
date Wed, 15 Jun 2016 09:46:20 +0100
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