annotate CHANGELOG @ 832:0607b1168d4a

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