Hookpad Release Notes 2.11 - 2.17

These are archival release notes from version 2.11 - 2.17 of Hookpad (releases between 2020.04.16 and 2020.08.26).

2.17.1 (2020.08.26)

What’s New

  • Submitting edits to a TheoryTab now requires acknowledging that you have read and agree to the Hooktheory Terms of Service and the TheoryTab Contributor Guide.
  • Added ability to launch Hookpad with the “Open My Student’s Songs” menu open (requires a Hooktheory Classroom license)
  • Removed link to Hookpad 1.x (legacy Flash version) from the Hookpad menu

Bug Fixes

  • Clicking “Terms of Service” link when submitting edits to a TheoryTab now opens a new window.

2.17.0 (2020.08.25)

What’s New

  • In the sections editor, you can now drag sections left and right to reorder. Touch support for this feature will be added in a future release

Bug Fixes

  • Zebra striping for File -> Recover from Auto-Backup
  • On touch devices, selecting projects in File -> Open now requires one tap, as expected. Previously required two taps.

2.16.3 (2020.08.21)

Bug Fixes

  • Fixed incorrect display of notes spanning key changes when the key change contained an accidental reported by @Vaz123
  • Fixed vertical drag failing when it originates on an out-of-scale note reported by @HertzDevil. Now if a vertical drag originates on an out-of-scale note, the drag accesses the chromatic scale regardless of the alt/option keyboard state. Drags that originate on in-scale notes require alt/option to access the chromatic scale.
  • Chords no longer split at band changes when the instruments for harmony and bass are the same across the band change.
  • Chords no longer split at the end of the pickup measure reported by @Vaz123

2.16.2 (2020.08.19)

Bug Fixes

  • Fixed playback light-up for notes and chords that span segments and line breaks.
  • Fixed non-active voices with notes that span a key change to show preservation of pitch across the key change.
  • Fixed height of playback scrubber when chord staff is hidden
  • Turned on the memo layer for fast rendering performance. Accidentally turned off for all releases between 2.15.0 and 2.16.1. :grimacing:
  • Fixed accidental double call of onMouseMove during drag-select introduced in 2.12.6. This caused a 50% reduction of frame rate during drag-select for builds between 2.12.6 and 2.16.1

2.16.1 (2020.08.10)

What’s New

  • No longer splitting notes that span a key or band change.
  • No longer split notes that span across the end of the pickup measure
  • Notes that span a key change now preserve pitch across the key change. Before they preserved scale degree.

Bug Fix

  • Corrected message in Tone Set palette when purchase is required.

2.16.0 (2020.08.10)

What’s New

  • Auto Backups & Recovery Hookpad now automatically saves temporary backups of your work every 30 seconds of active use. The 40 most recent backups are available (roughly the last 20 minutes of active use) across sessions. If Hookpad ever crashes, the backups will be there when you refresh Hookpad. Go to File -> “Recover from Auto Backup” to restore your project from a backup. After restore, do File -> Save if you want to save the restored version permanently. Backups are saved locally in your browser; not on Hooktheory’s servers.
  • Tone Sets Palette The new “Tone Sets” palette shows you chords that include the notes you choose. Requested by @magicalmbeth. The included note defaults to the melody at the cursor. Use the multi-select option to show chords that include two or more specified notes.

Bug Fix

  • When notifications are turned off in app preferences, no longer show copy to clipboard notification. Reported by @Vaz123

2.15.8 (2020.08.07)

Bug Fixes

  • The tonic and scale dropdowns when modifying an existing key change now blur focus after a new value is selected. Reported by @HertzDevil and @Vaz123
  • Fixed the AJAX spinner state and UI during save operations
  • Adding band tracks included in undo/redo stack
  • Deleting band tracks included in undo/redo stack
  • Muting band tracks included in undo/redo stack. Volume and octave still not part of undo/redo but we are aware of it.
  • Moved the “show inspector” button down 25px so it can’t interfere with the sections staff.

2.15.7 (2020.08.04)

Bug Fixes

2.15.6 (2020.08.04)

Bug Fix

2.15.5 (2020.08.04)

Bug Fixes

  • Fixed bug making it impossible to edit TheoryTabs introduced in 2.15.3. Thanks @Vaz123.
  • If a project is loaded during playback, playback stops. Reported by @HertzDevil.

2.15.4 (2020.08.03)

What’s New

2.15.3 (2020.08.03)

Bug Fix

2.15.2 (2020.08.03)

Bug Fix

2.15.1 (2020.08.03)

Bug Fixes

  • Fixed interesting chord naming bug. Thank you, everyone, for showing us how to reproduce. This is an issue with our low-level memo function; here I removed the memo layer for chord graphics rather than fixing the busted memo. A more performant fix with a fixed fast memo will come later.

2.15.0 (2020.08.03)

What’s New

  • Lead Track Harmonizers Add a “harmonizer” lead track to your band, and Hookpad will automatically create a harmonizing melody based on your existing lead track instruments and the underlying chord progression. Pick “one-note” for a simple harmonization based on intervals, and move the octave slider to adjust its range. “Chord tone” harmonizers will preserve the chord tones of the underlying chord. Harmonizers are a great way to beef up the sound of a melody, and to control the voice-leading of your harmonies without having to add additional lead tracks.

Bug Fixes

  • Fixed bug introduced in 2.14.0 where sheet music export was not working when no sections were defined

2.14.0 (2020.07.27)

What’s New

  • Sections!
    • Separate your project into sections (Intro, Verse, Chorus, etc)
    • Use the new section timeline to copy, paste and arrange sections.
    • Use the new section timeline as quick navigation to different parts of your project. Click a section to automatically scroll to it or shift + mouse over the section timeline to place cursor at the corresponding beat.

Bug Fixes

  • Enabled the cut, copy, paste buttons to take action on key, meter, band, and tempo flags in the score.
  • Fixed a bug causing sheet music export to crash when all instruments of a certain type were removed prior to export (thanks @isurf2live)
  • Fixed a bug causing smart instruments to omit 1/4 beat (16th notes) in midi exports (thanks @rcube)
  • Fixed a bug causing MIDI export and playback to fail on certain sus2 chords when using power chord instruments

2.13.2 (2020.07.07)

Bug Fix

  • Fixed segment splitting so it only happens on measure beats. Thank you @Vaz

2.13.1 (2020.07.05)

Bug Fixes

  • Fixed crashing when selecting meter flags. Bug introduced in 2.13.0. Thank you @Vaz
  • Fixed crashing when repeatedly pressing the left arrow until the cursor goes before the first measure. Bug introduced in 2.13.0. Thank you @Vaz

2.13.0 (2020.07.04)

What’s New

  • New nudge buttons let you nudge a selection left or right by 1/4 beat. They are located at the end of the row of edit buttons
  • New app setting for cursor snap grid. Options are measure, beat, and 1/4 beat. This setting does not apply when in text entry mode.
  • Improved auto-scroll to scroll horizontally, if necessary, during playback.
  • Manually scrolling during playback now kills auto-scroll for the remainder of that playback session.
  • Improved performance by increasing the resolution of the representation and drawing cache to four measures.
  • Improved drawing of chords to move fluidly across segments, lines, and other splits.
  • Improved drawing of staff borders to prevent aliasing

Bug Fix

  • When switching accounts, the list of projects in the file -> open menu refreshes.

Under The Hood

  • Added code to allow lazy loading score content in the horizontal direction but it is turned off.
  • Minor updates to support webpack 4.43 build
  • Bump to latest version of Material UI

2.12.13 (2020.06.15)

Under The Hood

  • If user is authenticated but has not purchased Hookpad and is attempting an action behind the paywall, Hookpad now polls our servers for purchase records and automatically unlocks paywall actions on purchase.

2.12.12 (2020.06.10)

What’s New

  • File -> Open has been updated
    • “Open In New Window” button allows opening a project in a new Hookpad instance. Suggested by @NecroToad
    • The height of the file->open window now scales with the height of your browser so you can see more items on larger screens. Suggested by @NecroToad
    • Separate filters for project and date.
    • Pagination makes the UI faster for users with lots of songs.

2.12.11 (2020.06.08)

What’s New

  • New measure-level copy buttons for chords, melody (all voices), and voice 1, 2, 3, and 4. The copy voice buttons have an option to ignore voice information so on paste, it pastes to whatever voice is active.
  • New project preference to remove the light rainbow background of the melody staff. This can help to simplify things visually with complex multi-voice melodies.
  • Voice inspector on the right is now visible during measure selection and measure operations.

Bug Fix

  • Fixed lily export bug

Under The Hood

  • Made hashing more robust with dedicated fold immutable map function for hashing. 2.5X slower but no mistakes.

2.12.10 (2020.06.03)

What’s New

  • When Hookpad detects that it looses connection to the network, you can now click “trying to connect” in the menu bar to access a new button that lets you override Hookpad’s network connection state to true. This enables you to attempt to save, export, etc., in cases when Hookpad detects no connection. Some users in schools reported that Hookpad could get into this “trying to connect” state, even when the network connection was OK. Hopefully this helps with that.

Under The Hood

  • Exposed initialization variable to turn off the network check feature.

2.12.9 (2020.06.01)

What’s New

  • Changing selection in the band gui now activates the corresponding lead voice in the melody staff.

Bug Fixes

  • Fixed long-standing issue causing some bass instruments to be voiced in different octaves depending on the key and rhythm pattern.
  • Fixed bug causing the caching of instruments to select the wrong theorytab section in some cases causing certain assets to not load at the top or bottom of melody ranges (this @Vaz123)
  • Fixed bug causing lead exports with different instruments to be missing from scores in lead and score export.
  • Fixed possible crash after deleting the last line of a project and moving the mouse above or below the entire score before the next mouse down event. Introduced in 2.12.6

2.12.8 (2020.05.18)

Under The Hood

  • Hookpad now pulls fresh account privileges from www.hooktheory.com (if logged in there) on every startup. This also required fixing the auth endpoint on www.hooktheory.com
  • The MIDI Preferences menu now shows the purchase required modal if clicked without purchasing Hookpad.

2.12.7 (2020.05.14)

What’s New

  • The date and time in File -> Open and File -> Open Student Songs is now in local time and uses local calendar formatting, e.g., “Today at 11:50 PM”. The yyyy-mm-dd search filtering also works in local time. Before this fix, everything was UTC without locales.

Bug Fixes

  • Fixed bug not properly resolved in 2.12.6 where applied V11 chords are improperly named in some cases (thanks @Vaz123)
  • Fixed issue with dragging notes that span lines jumping up a line. (Thanks @HertzDevil)

2.12.6 (2020.05.13)

What’s New

  • Enabled dragging notes up/down past the visible bounds of the melody staff. The hard limit is the allowed range of five octaves.
  • Midi preferences now show a message if you do not own Hookpad.

Bug Fixes

  • Fixed bug in sheet music export where lead instruments would not respect octave offsets
  • Fixed bug allowing theorytabs to be submitted with more than one lead voice
  • Fixed bug causing applied V11 chords to be improperly named in some cases (thanks @Vaz123) EDIT: this is not resolved, and will be fixed in 2.12.7
  • Fixed bug with some project settings not properly saving and loading: showMeasureStaff, showLoopStaff, showNoteStaff, and showChordStaff
  • Fixed bug with project settings not reverting to defaults when doing File -> New

2.12.5 (2020.05.08)

Bug Fixes

  • Fixed issue with setting that allows Hookpad Player to use the default band.
  • Fixed bug with YouTube key frame markers in the score not drawing in certain situations, introduced in 2.12.4
  • Fixed bug with Hookpad Player not playing the YouTube in sync when the project is saved with YouTube playback set to “set start/end”. Reported by @Vaz123
  • Fixed bug with YouTube sync panel not fully hiding behind the piano panel when not in use. Reported by @HertzDevil.
  • Hookpad default band template now reflects the default Hookpad band Reported by @HertzDevil
  • Old Hookpad v1 songs now load with volumes consistent with the current Hookpad default band. Reported by @HertzDevil
  • Whitelisted settings that are allowed in Hookpad player.
  • Fixed sound caching issue on pages with multiple Hookpad players causing some notes to not sound properly.

2.12.4 (2020.05.07)

What’s New

Bug Fixes

  • Fixed bug causing the relative 5th degree to be missing from some add11 chords.
  • Fixed bug causing songs with the instrument “Piano Bass Melody” to not load properly since the introduction of the new instrument library in 2.12.0
  • Fixed bug causing chords in tab sheet export to be offset from the tab melody by one measure
  • Tab export tracks now only have tempo annotated on the top lead track.
  • Fixed the Underworld demo song.

Under The Hood

  • Enabled setting for Hookpad Player to use the default band.

2.12.3 (2020.05.02)

What’s new

  • Sheet music export now has tempo markings annotated. Thanks @MattoR for the suggestion.
  • Default band now only uses new piano sound files (previously was using a combination of old and new files causing unnecessary downloads)
  • Hookpad player now supports “lean caching” whereby only sounds required for playback are cached.
  • New project setting to show/hide measure staff
  • New project setting to show/hide loop staff + loop button
  • Can now show/hide band templates in the band editor. Persists with project.
  • Can now show/hide the chord / melody inspector. Persists with project.
  • Edit control buttons now show by default for new users (can hide with app preferences)
  • The ”downloading and processing sounds” modal only shows when the band editor is hidden. The band editor has progress indicators for each track and global progress.
  • Expanded capture region for clicks on the volume and octave sliders in the band editor

Bug Fixes

  • Fixed bug causing duplicating band tracks when no band track is selected to crash Hookpad.
  • Enabled touch control of band editor.

2.12.2 (2020.04.30)

  • When entering in notes using a midi controller, notes enharmonic to scale tones that cross the octave (e.g. ♯7 or ♭1 in major) now respell themselves as their scale tone enharmonic.
  • Fixed bug causing certain notes to appear in the wrong octave when entering using a midi controller.
  • Fixed bug causing entering of certain notes into Hookpad via midi controller to crash Hookpad in certain scales.
  • Thanks to @HertzDevil for identifying these issues.

2.12.1 (2020.04.30)

Bug Fixes

  • Fixed bug with YouTube sync points for analyses originally created with 1.x but saved with 2.11.x. If sync points were updated with 2.11.x, subsequent loads of the project in Hookpad and in the Hookpad player would overwrite the updated sync points with stale values from the 1.x import. Reported by @HertzDevil

2.12.0 (2020.04.30)

What’s new

  • New 3-column instrument view: Major update to the scope and organization of our instrument library. We’ve moved from a 2-column browser to a 3-column browser, which allows us to offer more combinations of instruments, styles and rhythms. In this new system, the first column lists the instrument family, the second column lists the instrument name, and the third column lists available styles or rhythm patterns. Currently, lead, bass, and guitar instruments have been reorganized into this new system, and (non-guitar) harmony instruments will follow shortly.

  • New track edit controls: We’ve added the ability to duplicate instrument tracks in the band browser, as well as copying tracks from one lead voice to another.

  • Reduced footprint and infinite playback of samples: We are in the process of migrating all of our sustained sound samples to looping samples. This will significantly reduce the memory footprint associated with these samples, improve loading/decoding times, as well as enable long notes that were not previously available.
  • Smart articulation lead instruments: Most lead instruments support legato and staccato articulation styles, or a smart mode, where the articulation is chosen based on the length of the notes entered in your melody.
  • New reverb emulator: We’ve upgraded our reverb emulation engine to produce higher-quality instrument sounds without using the Web Audio ConvolverNode which minimizes CPU usage in the browser during playback. All existing instruments affected by this new emulator should still sound the same, just better!
  • Minor updates to band editing
    • Double-clicking sliders returns sliders to default value
    • Changing instruments leaves the “3rd column” style/articulation values preserved, so that users can demo different instruments with the same style.
    • Band browser now responds to cursor region in the score
    • Selecting instrument families does no longer caches the first instrument to allow for a more streamlined browsing experience without unnecessary caching.

Bug Fixes

  • Fixed bug with the blue dot stable indicators in the melody GUI when the cursor is over a rest chord with no non-rest before that chord. In this case, the stable indicators were on scale degrees 1, 3, 5 when they shouldn’t be there at all @HertzDevil
  • Fixed issues with rests not always going into the home octave and being affected by period and comma shortcuts @HertzDevil
  • Fixed bug that allowed undo to detach a YouTube video. Now the act of attaching and detaching YouTube videos is removed from the undo/redo history. YouTube sync points, however, are still stored in undo/redo history @HertzDevil
  • Fixed bug with dragging volume and octave sliders outside of max range and Hookpad not responding to mouse up / mouse move events that occur outside as reported by @bigyihsuan.

2.11.10 (2020.04.29)

Bug Fixes

  • Fixed bug with dragging YouTube sync controls outside of max range and Hookpad not responding to mouse up / mouse move events that occur outside as reported by @bigyihsuan. This is also an issue with sliders in the band editor; it will be fixed there in a future release.
  • Fixed bug with changing notes to rests not being possible when in certain keys. Reported by @HertzDevil.
  • Fixed bug with preview sound for a rest being scale degree 7 rather than nothing. Reported by @HertzDevil.
  • Fixing bug related to youtube keyframes when deleting measures wherein keyframes could end up located outside the bounds of the song or in the wrong order reported by @HertzDevil

2.11.9 (2020.04.24)

Bug Fix

  • Fixed bug with the “Set Tempo From YouTube Sync” feature for songs with beat unit of 3 reported by @HertzDevil . It previously calculated a tempo of 3X.

2.11.8 (2020.04.24)

Bug Fixes

  • Fixed issue with YouTube videos not loading in the Hookpad Player for projects created with early versions of Hookpad 2.x reported by @HertzDevil. Interestingly, this bug would not happen when loading the project into Hookpad using File -> Open. It only happened in the Hookpad Player when load the initial project. @HertzDevil, amazing detective work. Your hypothesis for the missing cueVideoOnGetSongSuccess field in the youtube state was exactly the problem!
  • Reinstated network check every two seconds (accidentally commented in 2.11.7 build)

2.11.7 (2020.04.22)

Bug Fix

  • Fixed deleting projects in the File -> Open modal

2.11.6 (2020.04.22)

Bug Fixes (all reported by @HertzDevil)

  • Added YouTube key frames in score to undoable state (happens on mouse up)
  • Added YouTube sync start and sync end markers to undoable state
  • Added YouTube URL/ID to undoable state

2.11.5 (2020.04.23)

Bug Fix

  • Fixed bug with new projects loading a test song instead of being empty reported by @HertzDevil

2.11.4 (2020.04.23)

Please read all 2.11.x release notes if you contribute to the TheoryTab Song Database. There are important changes you need to be aware of.

Bug Fixes

  • When editing a public analysis, project name now shows “Song (Section) by Artist” instead of “Untitled”. Reported by @HertzDevil
  • Fixed bug with undoable state not being reset after initial loading of song data. This allowed the undo action to undo all the way back out to a blank/new state. Reported by @HertzDevil

2.11.3 (2020.04.22)

Please read all 2.11.x release notes if you contribute to the TheoryTab Song Database. There are important changes you need to be aware of.

Bug Fixes

  • Fixed bug when editing a public TheoryTab that caused new measures to get automatically added at the end in some circumstances. Now when editing a TheoryTab, measures must be explicitly added by selecting the measure bar and adding them.
  • “s” shortcut key now opens the publish modal when editing a public TheoryTab instead of the save modal. Suggesed by @HertzDevil
  • Enter shortcut key now publishes edits when the the publish modal is open.
  • Fixed bug with Hookpad Player crashing when loading HP1 XML files with lyrics when the showLyrics param was set to false. Reported by @Vaz123

2.11.2 (2020.04.22)

Please read the 2.11.0 and 2.11.1 release notes if you contribute to the TheoryTab Song Database. There are important changes you need to be aware of.

What’s New

  • When submitting a new TheoryTab for the Song Database, the “Submit” button now opens a new browser tab, as requested by @HertzDevil

Bug Fix

  • Fixed bug when editing a TheoryTab from a previous version; the latest version was loaded instead of the intended older version.
  • Fixed bug with publishing edits to a TheoryTab that caused a Javascript confirmation modal to appear asking if you are sure you want to leave the page after clicking “Publish”.

2.11.1 (2020.04.21)

Please read the 2.11.0 release notes if you contribute to the TheoryTab Song Database. There are important changes you need to be aware of.

Bug Fix

  • Fixed bug when editing a TheoryTab that caused the YouTube to not load.

2.11.0 (2020.04.21)

What’s New

  • Hookpad 2 is now used for all contributions to the TheoryTab Song Database on www.hooktheory.com (update to www to enable this will be pushed shortly)
    • Requires Hookpad ^2.11.0 so make sure to update Hookpad.
    • There is still one annoying thing which is Hookpad’s smart “auto add measures” feature is (I find) a little disruptive when creating analyses for the Song Database. This will be fixed in a future release. For now, make sure to delete those extra measures after the final sync marker.
    • Edits are still done from the section dropdown menu on any TheoryTab page.
    • For new additions use More-> “Add a New TheoryTab” in the TheoryTab sub-header. This will open Hookpad 2 with the YouTube URL input open and some controls hidden.
  • On www.hooktheory.com, User Menu -> “My Hookpad Projects” now opens Hookpad with the File -> Open menu pre-opened. Requires ^2.11.0 so make sure to update Hookpad. We decided the UI inside Hookpad is better and deprecated that page on www.
  • On www.hooktheory.com User Menu -> “My TheoryTab Drafts” has now been merged into “My Hookpad Projects”. This separation was always going to be temporary; it was required while Hookpad 1 was used to make contributions to the Song Database.

Under The Hood

  • Enabled initializing with YouTube URL input open
  • Enabled initializing with File -> Open modal open