0.7.11.8.9 - Improve fretboard notenames; C chord should show an E♭ instead of D#
Wherever a major 3rd exists, a minor 3rd should be presumed to also exist, and vice-versa.
F chord should NOT show a C♭!
0.7.11.8.10 - Complete conversion from Options API to Composition API? (see 1.0.1.30)
0.7.11.8.11 - add gear icon to show/hide all options. (See devtools gear icon)
Use fontawesome's class="fa-solid fa-gear"
(Maybe switch from Foundation to css-grid for options first)
0.7.11.8.12 - See nice menu bar for controls at https://www.blanksheetmusic.net/
0.7.11.8.13 - rename Flavor to Tetrad on Chord Construction page.
0.7.11.8.14 - Migrate from vue-cli to vite. (See 0.9.0.1)
(https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/)
0.7.11.8.15 - Use detect_webkit_shenanigans from useDetectWebkit.
0.7.11.9 - Chord Family diagram should adjust to window size (WebKit problem).
0.7.11.10 - Problem scrolling on Chord Family page (Ascending view). It takes a long, slow swipe to scroll.
It can be very hard to get down to the Options section, on iPhone.
0.7.11.11 - Alert user to ineffective swiping.
0.7.11.12 - Find alternative to Family Legend tooltips.
Need better context-sensitive help. Maybe just '?' buttons everywhere, which pops up a dialog?
0.7.11.14 - On mobile, tooltip can interfere with Play button functionality.
0.7.11.17 - Chord Family legends don't match any chord Naming System.
Legends seem to be a mixture of Jazz Symbol and Jazz Textual.
Also, shouldnt Jazz Textual use a △7 instead of a △?
Also, What is default Chord Naming System? Hopefully it's Pop.
0.7.11.18 - All Export menus should include "Print (or save .pdf)"
0.7.11.19 - Chord Family page - Siblings should have white background for Chordname & understring labels.
(So it doesn't look weird while Playing the Progression.)
0.7.11.19 - Chord Family page - Need to Lower the staff.
(G# on 16th fret overlaps egg border)
0.7.11.20 - hover message "uptheneck.com fretboard chord diagram" obscures Family diagram on Safari
(coincident with Gold Circle Cursor)
0.7.12.0.1 - Score "fingerability" and "sound quality" independently
0.7.12.1 - Chord Finder: permit G [4235] (half-fret scrolling? Or Use previous fret for [4232]?)
0.7.12.1.5 - Chord Finder: permit FMaj7 [2410]
0.7.12.2 - Standard Stationery pages should not vector to AWS. Use CNAME?
0.7.12.3 - Send email from uptheneck.com. Need to be able to respond!
0.7.12.4.1 - is Django-Cms compatible with Django 4.1? No, django-cms 3.11 is not.
Wait until django-cms 4.0 (Q4 2022)
0.7.12.4.2 - Django 4.1 (use django-upgrade 1.8.0?)
Currently running Django version is 3.1.8 (according to requirements/base.txt),
but Django-Debug-Toolbar says 3.0.6 (in Development mode).
See how-to-upgrade-django.txt
0.7.12.4.2 - remove twitter refs from uptheneck. hashtags should point to Mastodon.
0.8 - Chord Finder: develop unit tests [N.S.T.?] See 1.1.1.1
0.8.1.x - Chord Finder improvements
0.8.1 - Chord Finder: B [1402] is a terrible chord. Default to [4442].
0.8.1.2 - Chord Finder: Eb should default to [3331] instead of [0331]. (Maybe for Cm chord also?)
0.8.1.4 - Chord Finder: chordname entry cursor bug: editing name near ♯/♭
0.8.1.5 - Chord Finder (parser): F△9 is not recognized as FMaj9.
0.8.1.6 - Chord Finder (parser): Csus4+Maj7 is not recognized but Csus4Maj7+ is.
0.8.1.7 - Chord Finder: more chords above 12th fret, e.g. F△ [17, 16, 17, 15,]
0.8.1.8 - Chord Finder: neck_position independent of visible top-fret.
(Chord should be entirely viewable, and viewable normalized to the lowest fret#)
0.8.1.9 - Chord Finder: support slash chords (normalized_chordname.bass_note) [N.S.T.? A dive into chord-name-parser.vue.]
0.8.1.9.1 - Chord Finder: 6 chords do not require a 5. 1,3,6 is sufficient.
0.8.1.9.2 - Chord Finder: support 6/9 chords (basically 6 add9)
0.8.1.9.3 - Chord Finder: C⚬11, C⚬13, & CmMaj9 don't work at position 0-5. If there's no Great Golf Score,
shouldn't we take the best Good one?
0.8.1.9.5 - Chord Finder: C⚬9 is labeled with a 6 rather than 𝄫7. Do we care?
0.8.1.10 - Chordname Position option: Above chart, Below Chart, or Hide
0.8.1.11 - 'prefer_shell_voicings' Option (to favor 3-note chords... toggle penalty for muted strings on/off... possibly for 'adjacent' strings only)
0.8.1.12 - Muted strings up the neck - allow space below Chord-name for 'X'.
0.8.1.14 - Enharmonic Note Names bug: Cm+ gets wrong notename (D♯ should be E♭) (Note: Cm+ is not a useful chordname.) (See modifyNoteNameBasedOnChord in chord-analyzer)
0.8.1.15 - Double-sharp symbol is too small in finger-dot (E♯ chord)
0.8.1.16.11 - Add Instrument selection drop-down menu when clicking on instrument name in menu bar.
0.8.1.16.12 - Add mandolin (GDAE). Remove ukulele alt tuning options when mando.
0.8.1.16.12.1 - Disclaimer: Preliminary mandolin support only. Algorithms are currently designed for ukulele
chords. Mando chords will be accurate, but maybe not optimal.
0.8.1.16.12.2 - Change default C-chord finger-dots for instrument type (Mando) in Chord Editor.
0.8.1.16.12.3 - See https://simplymandolin.com/flekd/moveable-mandolin-chords/ for guidance about standard mando
chord shapes. Do ours look the same?
0.8.1.16.12.2 - References - mandolincafe.com.
0.8.1.16.13 - Add bass (Add Bass Clef SVG, and adjust y-values in y_pos_on_staff).
0.8.1.16.13.1 - Handle bass Transposing Instrument selection in standard-notation-snippet-svg & in
blank-staff-svg.
0.8.1.16.13.2 - Add bass sounds.
0.8.1.16.13.3 - Add piccolo bass sounds. "bottom_pitch_index_lookup[piccolo_EADG] not found!"
0.8.1.16.17 - Add Tuning Nicknames page gCEA vs GCEA, etc. Show Helmholts and Scientific perspectives.
0.8.1.20 - Vue App on main page. Should have a fretboard to play on... like Chord Editor, but no chordname or understring labels.
0.8.2 - Note Names page (like chord editor, but only one finger-dot.) (Don't use Foundation!)
0.8.2.1 - Note Names page - add music staff, like Music Notation page
0.8.2.2 - Staff Notation bug: C♭, F♭ are not drawn correctly. (See Chord Family page, key of A♭m
0.8.2.3 - Add touchscreen interactivity to NoteNames page.
"Can JavaScript Move cursor? - You cannot move the actual mouse pointer in Javascript.
You can, however move a pointer shaped image and pretend that you can. :-)"
0.8.2.5 - Add touchscreen interactivity to exported SVG's
(You can add onclick, onmouseover, etc. inside the svg, to any shape in the SVG: onmouseover="top.myfunction(evt);")
(https://stackoverflow.com/questions/4476526/do-i-use-img-object-or-embed-for-svg-files)
0.8.3 - Add Music Notation Reference page, similar to Folsom Natural but Vue-activated. (and/or add Reference chart
to current page.) (Don't use Foundation!)
0.8.4 - Add References > Chord Sheets. List Ultimate Guitar, etc.
0.8.5 - Add References > Tablature? How to read it, Ultimate Guitar, etc.
0.8.6 - Intervals page (like chord editor, but only two finger-dots.)
See static/images/inverse_intervals.jpeg.
"Two intervals are considered complimentary when they add up to an octave.
If you think of the intervals in terms of their half-steps, any two intervals that add up to 12 are considered complimentary.
On the other hand, if you think of them in terms of their scale degrees, they should add up to 9"
See https://www.zotzinguitarlessons.com/blog/why-do-an-interval-its-inversion-add-up-to-9-instead-of-8/
0.8.7 - Add Chord Factors page.
0.8.8 - Implement 'diagram break' to show open chords up the neck?
Or some special case for FMaj7 [5500], & Dm9 [7500].
Or just allow the 'O' indicator above the diagram, like the nut were there, even though it's not.
(See 5.1.8 Support split-fretboard diagram, with upper frets AND open strings.)
0.8.9 - Bug: pinch-zooming Music Notation page on iPhone causes diagram re-size.
0.8.10 - Too much white space below exported diagram, when Chordname Size is big
0.8.11 - chart_top() logic is convoluted. Perhaps it's because we're using chordname_height (which is based
on font_size) instead of chordname_window_height.
0.8.12 - understring labels area is gray, under WebKit.
0.8.33 - Check status of Webkit bugs (main problem is #23113 - Layer content inside HTML in SVG foreignObject renders in the wrong place)
(Also see #71819, #173841 & #185886)
0.8.33.0 - If any progress has been made on WebKit:
0.8.33.1 - Chord Family Print should scale to page.
0.8.33.2 - Print uses device width rather than page width (iOS). (See project.css)
0.8.33.3 - Print shows only visible portion of horizontally-scrolled Chord Family page (Safari or iOS). (May need to use XCode iOS Simulator.)
0.8.33.3 - Loading Chord Family app... fallback message doesn't work on WebKit
0.8.34 - Export from Stationery Editor page
0.8.34.1 - should Stationery pages be customized for Instrument?
0.8.34.2 - Use exported .svg stationery pages as thumbnails for .pdf downloads.
0.8.34.3 - text: "to get proper page formatting in a .pdf or printed page on iOS/Safari, you'll need to Export as .SVG or .PNG"
"... then print THAT file as a .pdf. "
0.8.35.1 - In Stationery Page Options, # Chord Frames text input doesn't fit in border, for small screens.
0.8.35.2 - Stationery page should use #ukulele hashtag instead of #chordtheory.
0.8.35.3 - Add Stationery option for lined school-type paper (blue horizontal, red double-vertical left margin)
0.8.35.4 - On Stationery pages (and other non-instrument-specific pages), Instrument badge at menu bar top-right
should be hidden
0.8.35.4 - unify option_fret_markers in localStorage? But that would require unifying the Options components and Vuex store fret_markers also.
0.8.36 - Perspectives: 'Staff Notation:' text doesn't line up with Snippet (Music Notation page)
0.8.37 - Adapt Help text for Export mode. When in Export mode, '?' button should explain Export stuff, like what happens to the note-name Hover cursor
0.8.38 - Tag, Release, Backup, and Notify
0.9.0 - Update webpack-bundle-tracker in package.json (requires manual changes in pkg.json and in vue.config.js)
0.9.0.1 - Migrate from vue-cli to vite. (https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/)
0.9.1.1 - Chord Editor bug: First press above nut can produce X instead of O.
0.9.1.2 - Bug: Create Diagram Editor, dragging finger-dot past the nut causes 2 sounds.
0.9.1.3 - Handle ø from keyboard, in chord-name-input component.
Option o (lowercase o) on Mac produces ø (Half-diminished symbol)
0.9.4 - Chord Finder: More support for oddball chord naming conventions
0.9.4.1 - Chord Finder: ♯4 chords (e.g. Dadd♯4)
0.9.4.2 - Chordname Parser: Support anything in parentheses. e.g. E(Maj7)
0.9.4.2.1 - Make things in parentheses smaller.
0.9.4.3.1 - Chord Finder: Support 'naive' chordnames... 'Maj7' as a suffix (e.g. 'Cm9Maj7'... see https://music.stackexchange.com/questions/3776/what-is-the-full-list-of-possible-chord-names-are-there-chords-that-dont-have?rq=1)
0.9.4.3.2 - Chordname Parser: Csus4+Maj7 is not recognized but Csus4Maj7+ is.
0.9.4.5 - Chordname Parser & Chord Finder: Support 'no root' (e.g. 'Cm7 no root')
0.9.4.6 - Support double-accidental chord roots.
0.9.4.6.1 - 𝄪 chord roots. Add support for 𝄪 in Chordname Parser. (Translate ## to 𝄪.)
0.9.4.6.2 - When entering o after F𝄪, the o is not recognized as a diminished symbol!
(Note: People would not normally be pasting 𝄪 into the chord name input.
0.9.4.6.3 - 𝄫 chord roots. Add support for 𝄫 in Chordname Parser. (Translate ♭♭ to 𝄫.)
(Is this necessary? 𝄫 chords are not native to ANY key.)
0.9.4.7 - Support '0' (zero), and capital 'O' symbol as '♭' (for 5 and 11 only). ('Cm(o5)', 'C7o11')
(add 0-⚬ substitution in chord-name-parser.)
0.9.4.8 - Try degree symbol ('°') instead of medium circle ('⚬') for diminished symbol.
0.9.4.9 - Refine look of chord symbols - ᴼ, ⌀, Δ, + and -
0.9.4.10 - use superscript for 'add'. Cm7-5 superscripting is different than Cm7♭5
0.9.4.11 - Optional Root should score better than doubled 7. (Bm11)
0.9.4.12 - Support '+' as '♯' (for added/extended chords)?
0.9.4.13 - Chord Finder: support 6/9 chords (six over nine), like Gm6/9
0.9.4.14 - Chord Finder performance: eager find and store grip for all neck_positions
0.9.4.15 - Chord Finder option: favor open strings (default)
0.9.4.16 - Chord Finder option: 'closed' vs. 'open' chords (chords that span more than an octave)
0.9.4.17 - Chord Finder option: favor chords which include Root (See 0.8.1 Warning Alarm for missing Root)
0.9.4.18 - Chord Finder option: in-Dot labels
0.9.5.1 - Chord Family page: Add YouTube playsists in addition to Spotify 'Jam Practice tracks'
0.9.5.2 - Android favicon: Use transparency (sharp white corners show up on black background)
1.0.1 - Complete Learn>Chord Construction page.
1.0.1.1 - Chord Construction page bugs: Cdim79, etc.
Changing Flavor AFTER Extension results in weird names like Cm79 (instead of Cm9)
1.0.1.2 - There is no dim7 option in Flavor.
(selecting dominant 7th produces diminished 7th, tho!... but there is no way to produce a half-dim.)
1.0.1.3 - Export page is mixed-up. (Has edit controls on it)
1.0.1.4 - Apply "Chord Naming System" option on learn-chord-construction page
1.0.1.5 - Show Chord Factors in finger-dots (by default... but still leave option?).
1.0.1.6 - Enlarge Chord Factors perspective to right of diagram.
1.0.1.7 - Add 'prototype' Notation Snippet - Full chord (playable or not), in root position.
1.0.1.8 - Add interval brackets on Notation Snippet.
1.0.1.9 - Add Chord Construction page to menu and main pages
1.0.1.10 - /cm/guide/learn/chord-construction/.
1.0.1.15 - Chord Families>Layout should fill window width (below Key input). (foundation class mess)
1.0.1.16 - There's a big empty space below the main Ascending diagram, before you get to the Options area.
1.0.1.17 - Chord Families option: use Key Signature instead of accidentals
1.0.1.17.1 - Alignment order of accidentals is backwards; should slant up from left to right, like key sigs.
1.0.1.17.2 - Add Key Signature control to Music Notation page. (default to "🤷")
Key 🤷 should go in Notenames Options section.
1.0.1.18 - Music Notation option: use Key Signature instead of accidentals
new Vue pages: Physics of Sound; Alternate Tunings and String Gauge Calculator
1.0.1.20 - 'Custom' Chord-Factor based Color Coding option [N.S.T.? Straightforward examples exist.]
1.0.1.21 - main Uke page should have less detail - more similar to main page.
Main page will eventually change to emphasize different instruments.
1.0.1.30.x - Complete conversion from Options API to Composition API.
The rest of the Options components.
1.0.1.30.1 - advanced-labeling-options
1.0.1.30.2 - chord-diagram-options
1.0.1.30.3 - chordname-size-options
1.0.1.30.4 - color-coding-options
1.0.1.30.4.1 - New color-coding-option:
For 'non-diatonic' factors within a chord (#5, etc.), offer Magenta or Black.
(We can't REALLY know what notes are diatonic, without assuming a Key Signature based on the chord).
1.0.1.30.5 - labeling-options
1.0.1.30.6 - options-for-chord-finder
1.0.1.30.7 - sound-options
1.0.1.30.8 - stationery-options
1.0.1.30.9 - stationery-page-options
1.0.1.30.10 - instrument-options-ukulele
1.0.1.30.11 - instrument-options-bass
1.0.1.30.12 - ukulele-tuning-options
1.0.1.40.x - Complete conversion from Options API to Composition API.
Start from bottom-up, with lowest level components.
1.0.1.40.1 - Convert -svg components.
1.0.1.40.2 - Convert Perspectives components.
1.0.1.40.3 - Convert Core components.
1.0.1.43.x - Convert main page components.
1.0.1.43.3.1 - Simplest main pages first.
1.0.1.43.3.2 - Simplest main pages first.
1.0.1.43.3.3 - learn-chord-family-ukulele page.
1.0.1.43.3.4 - After converting learn-chord-family-ukulele,
Register/Unregister store in learn-chord-family-ukulele,
Instead of in family-layout-ascending-pad AND family-layout-turnaround-pad AND family-layout-harmfunc-pad.
1.0.2 - Chord Families: Common Progressions (I IV V, ii V I, Rhythm Changes, etc.)
1.0.2.0.1 - Chord Family playback highlighting doesn't work in WebKit (iOS or Safari). createConstantSource?
1.0.2.0.2 - Chord Family export diagram display size limited to 800px (SVG, but not PNG!)
1.0.2.1 - Common Turnarounds in fifths (ii V I, vi ii V I, vi ii V I, vi ii V I, iii vi ii V I, vii iii vi ii V I, full diatonic circle)
1.0.2.2 - other Common Turnarounds
1.0.2.3 - Enlarge cursor in Exported Chord Family diagram? (Or don't shrink it!) Replace partial Chord Family turnaround .png.
1.0.2.4 - Chord Family page Neck Position: Allow typing Fret # into edit box.
1.0.2.5 - Chord Family page audio: Clicking on any Roman Numeral should strum the corresponding chord.
1.0.2.6 - Chord Family page (or any page where Key can be specified): Option to show translucent grey finger-dots for all scale positions.
1.0.3 - Chord Families: Progressions - Find groups of chords (enter a list of names)
1.0.4.1 - Show chord diagrams, with a scroll-up-the-neck mechanism for the whole group.
1.0.4.2 - Transpose Chord Group
1.0.5 - Relative Minor page... Like Chord Family, but show BOTH major and relative minor keys,
in Ascending style, lined up one above the other so that the corresponding chords are stacked.
See how Tonal/Modal settings affects this!
1.0.6 - Number Systems page... (or 'Chord Labeling', or 'Numerical Analysis')
Like Chord Family, but show Nashville/Classic/Jazz side-by-side, and talk about the differences
1.0.7 - Minor Key Tonal Harmony - is it possible to fade arrow color to Green at the V7 only?
1.0.8 - Chord names wider than chart should be allowed on Chord Family page (instead of chord_name_font_scale_ref)
1.1 - add barre, mini-bars. Maybe, but not necessarily, with click/drag (horizontally)... or maybe just use 'Barre @ fret#' option
1.1.2 - dragging outside of lane should not be allowed (except for barres?) Try setPointerCapture.
1.1.3 - On non-editor (Learn) pages, brushing finger across the strings (touchscreen) should strum the chord. (See 0.7.10.7.7)
1.1.4 - alert user "Silent Mode (ringer is off)" on iOS for play/sound actions.
1.1.5 - highlight corresponding string while arpeggio sound is playing.
1.2 - Add guitar-specific Alternative Fretboard Tools page
1.2.2 - Chord Finder: implement Alarms
1.2.3 - Reduce finger-dot size (dynamically?), so that it doesn't escape fret bounds or end-zone.
1.2.4 - Tooltip bug: 'Simplify Enharmonic Spellings' tooltip help text, when page is scrolled, can initiate erratic
feedback loop.
1.2.5 - implement Gear icon for settings: see https://www.musictheory.net/exercises/fretboard
1.2.6 - Bug: Cdim6 shows 𝄫7. Notename does not jibe with Chord Factor.
2.0 - Alarms, Options and Misc. useAlarm composable.
2.0.1 - Warning Alarm for missing Root
2.0.2 - Error Alarm for missing Required Tones
2.0.3 - Info 'Alarm' for alternate chordnames, etc.
2.0.3.1 - If Golf score is over threshold (25?), call useAlarm.setAlarm("failed to build", "C7", "0,0,0,0")
2.0.4 - Optionally, hint at Alarm state in-diagram (background color to match warning light?)
or change page background color from light-blue to yellow/red
2.0.5 - blog
2.0.5.1 - improve display and printing of User Guide, including blog (in django-cms). Try templates?
2.0.6 - use wide bass strings for stylized grid
2.0.7 - implement classic grid
2.0.8 - flesh out menus, options, colors
2.0.8.1 - Chord Diagram Editor: Allow direct editing of under-string text (custom?)
2.0.8.1 - Chord Diagram Editor: Allow direct editing from all Perspectives. (tab accross to edit all strings with keyboard.)
2.0.8.5 - fingerings (manual) [N.S.T.? Prerequisite for fingerings (automatic). Intro to Options (prerequisite for Django work)]
2.0.8.6 - complete color-coding
2.0.8.7 - graphic decorators (root circle, star fifth, etc.)
2.0.8.9 - improve page load speed
2.0.8.10 - Option to omit open-string indicator
2.0.8.11 - Option for text replacement (b vs. ♭)
2.0.8.12 - Option: snap-to-fret on scroll (Chord Editor)
2.0.8.13 - Chord Editor: use standard Font
2.0.8.14 - Chord Editor complete
2.0.8.15 - Accidentals should follow same uphill direction as noteheads (J. Feist p. 29)
2.0.8.16 - Can exported diagrams have highlight cursor when mouse over finger-dot? Can this extend to auto-highlighting the staff, for Music Notation diagram?
2.0.9 - Circle of Fifths page
2.0.9.1 - Chord Families>Layout options: Circle of Fifths
2.0.9.2 - Circle page: Key Signatures
2.0.9.3 - Circle page: minor ring and Chord Families
2.0.9.3 - Circle page: turnarounds and practicing fourths
2.0.9.4 - Circle page: (Key Signatures) Opposite sides of circle (natural, flat) add up to 7 accidentals (Victor Wooten: Music theory is easy)
2.0.9.5 - Circle page: (YouTube) Make a video playing the bass and showing adding one sharp or flat for each circle position
2.2.1 - const instrument = 'uke' // TODO: get from Vuex Store (first we must get it from Django and PUT it in the Vuex store!)
See https://docs.djangoproject.com/en/4.1/topics/http/sessions/
2.5.1 - bugfix: I can't log in on the Sign In page. I can log-in on the Admin page (and then I'm logged in as a user when I leave the admin page)
See "Login fail - directory changes' email of 4/2/19
2.5.2 - Page titles and Meta: https://developers.google.com/search/docs/advanced/appearance/good-titles-snippets
2.5.3 - Replace Contact Us exposed email address w/ Contact Us form. See contact_form django app.
2.6 Play > Chord Puzzle game
Like Wordle, but we choose a chord name and Grip.
Player selects a fret on a string. If correct, a green dot is displayed,
the Chord Factor is displayed (in-dot), and the completed portion of the chord-name may be displayed.
(If it's not a 4-note chord, X is displayed initially on the muted string)
Beginner Mode - includes only major, minor, and dominant chords from 'easy' keys, in first position.
2.7.1 Ear Training pages
Learn > Ear Training > /Pitches/Intervals/Triads
2.7.2 Ear Training Games
Games > Ear Training
* Ask for an interval.
* Game selects and plays (repeatedly... once per second) a 'Base' note.
* Player places/selects/drags a new note, to complete the given interval.
* Start with 10 points. One point is subtracted for each wrong 'guess', and one point for each second that passes.
* After 10 'rounds' (intervals), end game and display score. Top score possible is 100.
* Record scores, keep track of progress, and compete globally, if user is logged in.
2.7.1 Ear Training Game Options
Sound Options:
* 'Base' note played with a Bass.
* 'Base' note played with Player's default instrument.
* 'Player' note played with player's instrument of choice.
Sequencing Option:
* start with bottom note OR top note.
3.0.0 - login administration
3.0.* - implement per-user storage (personal prefs and saved states)
3.0.1 - store instrument selection & sound options on server
3.0.2 - user management: Customer Service - view contact info, saved settings, and possibly usage statistics/logs
3.0.3 - store raw chord info on server
3.0.4 - 'Save' button, to save diagrams to user's private collection
3.2.11 - Export diagrams to MusicXML: https://www.musicxml.com/tutorial/chord-symbols-diagrams/chord-diagrams/
3.2.12 - Append chord_name to download-filename (Export pages)
3.3.x - bugfixes
3.3.1 - Rescaling exported diagram with transparent background leaves trails. (Note- Inkscape does the same thing.)
3.3.2 - Menu deteriorates when user is off-line. Self-host fontawesome icons?
3.3.4 - Tuning option for either Stationery page affects both pages.
If tuning_base_chord control is displayed for Page 1, then
page 2 should show only a non-editable, grayed-out mirror of the Page 1 selection?
3.3.7 - Chart extends down in Inkscape
- this may just be a 'feature' of Inkscape.
"Inkscape doesn't add a viewBox attribute to the files it produces."
3.5 - Chord Finder Option: Keep Neck Position when changing chordname
3.6 - Learn Music Notation: Add a 'ghost note' (hollow gold notehead) on the staff that follows the cursor on the fretboard (Entire fretboard - not just when cursor is over a finger-dot.)
3.7 - Hover cursor with notename for Music Staff (Learn Music Notation page)
- Need to create horizontal 'lanes', one for each line/space,
for which to apply v-bind:style="dynamic_cell_style(fret_num)"
3.9 - Lilypond page: child of Music Notation page
3.10 - Add Chart Utility page. Import a MusicXML file (from NoteFlight, for example.)
Extract the Chords for each Measure, and draw a Chart.
4.4.1 - Import/Export MusicXML, ABC, and ChordPro (https://www.chordpro.org/chordpro/chordpro-file-format-specification/)
4.5 - tablature
4.5.1 - animated 'How to Read Tab' page (see email 10/10/21)
4.5.2 - Helmholtz option for tab labels (Stationery page) - 'Gcea', etc.
4.5.3 - export animated SVG as GIF
4.6.x - Scale Diagrams
4.6.0 - code cleanup in chart-fret-lane
4.6.0.1 - regular function vs. arrow functions
4.6.0.2 - is pageX necessary, or does clientX work?
4.6.0.3 - mystery duplication? relocateFingerDot() vs update_dot()
4.6.0.4 - mystery hack for container_window_coord
4.6.0.5 - bug: dragging finger on chart can cause scroll
4.6.0.6 - bug: press-and-hold on non-editable diagram causes pop-up menu in Chrome
4.6.0.7 - implement scale diagrams
4.6.0.8 - Scale Finder page
4.6.0.9 - Scale Slide Rule page (Major scale, etc... scroll the fixed scale, and it gives you the root/key)
4.6.0.10 - Show Single-Key-Practice Spotify playlists on Scale Finder page
4.6.0.11 - Modes page - show scale over 2 octaves; show how scale is built up for each mode,
based on each diatonic Triad, then animating the added 7, 9, 11, & 13 in sequence.
4.6.1 - Chord Finder option: add red square to represent unplayed root (see Bordessa)
4.6.2 - landscape/portrait for scale diagrams
4.6.3 - select size and/or # frets for scale diagrams
4.6.4 - Modes page - the relationship from one mode to the next is actually the change in accidentals going through the cycle of 5ths.
4.6.4.1 - Modes page: (YouTube) Make a video playing the bass and showing adding one sharp or flat for each circle
position. See Circle Page (YouTube)
4.6.5.2 - Optional Perspectives: ABC - like Helmholtz, but does not transpose for ukulele
4.6.5.3 - Optional Perspectives: Fixed Do - C=Do; D=Re; etc. (Use Si instead of Ti - see https://www.studybass.com/using-the-site/american-english-music-terminology/)
4.7.6 - Chord Namer: auto-name chord from drawn diagram (back-end)? [N.S.T.? Does it make sense to do any of this processing on the server?]
4.7.7 - Chord Finder bonus: auto-build diagram from chord-name (back-end)?
4.8 - Key-based perspective
4.8.1 - scale degree
4.8.2 - Nashville number; clasic Roman Numeral Analysis; jazz (Berklee) Roman Numerals
4.8.3 - solfege
4.8.4 - music notation (w/key signature)
4.8.5 - handle triple-flats/triple-sharps
4.9 - Base of Numerical System option (for Chord Family)
* first note of Minor Key itself
* Relative Major
Option affects minor keys only. Option affects Jazz (berklee) system only.
Name it Base of Berklee numbering for minor keys?
4.10 - riff animations
4.11 - Complete Learn > Common Chord Notation page
4.12 - Chord Finder: 'support' 5-note chords on 4 strings? (Judiciously decide which note to leave out)
4.13 - Export from Learn Music Notation Options - side-by-side vs. vertical stack
4.14 - Export from Learn Music Notation Options - relative diagram sizes
4.15 - Chord Families export - displayed size should not be limited by window size. (See commit 5268d2774e7bc7db128ee170401530ad691d2635, 2021-07-05 21:22:52)
5.0 - more strings, more instruments
5.0.2 - More games in the Play menu
5.0.3 - CAGED page (game?) image at https://search.creativecommons.org/photos/62db0573-98df-4cb6-aaa8-09c96ec76642.
Also see UkeEducation.org page at https://static1.squarespace.com/static/58de964f197aea4cfd35337a/t/5fcfa540faf0bc04d1d521a3/1607443776147/FDCA+Complete+12+12+20++part+1+Flying.pdf
CAGED Animation - Start with C shape
fade to
A shape - animate through A-B-C
fade to
G shape - adimate through G-A-B-C
etc.
5.0.4 - Add meta tags for #, b (when chord name includes ♯ or ♭)
5.0.5 - Option - retain b and #, instead of replacing with ♭, ♯
5.0.6 - Learn>Math page - illustrates mathematical connections to music theory. Geometric (frequencies) vs Linear
(intervals - 'halfway' is a tritone)
5.0.7 - Tritone Sub page- illustrates how/why tritone sub works.
5.1 - 'pro' version - extra features for extra cost
5.1.1 - Allow multiple under-string labels, like #JazzUkeChords
5.1.2 - Above-string fingering labels, a la Lyle Ritz books
5.1.3 - Chord Name formatting options (superscript 7's, etc.)
5.1.4 - Chord Name font options (jazz font, etc.)
5.1.5 - fret# annotation options (2fr. vs. 2nd vs 2, choose font, left or right, etc.)
5.1.6 - Sparse style: Option to omit open string indicators
5.1.7 - Jazz style: Option to omit mute string indicators
5.1.8 - Support split-fretboard diagram, with upper frets AND open strings.
(https://twitter.com/ukuleleg3orge/status/1322511093638537216?s=21)
5.1.9 - Allow mute X on frets (replacing fret-dots), to indicate muting at a specific location.
5.1.10 - incorporate harmonics (tiny o)
5.1.11 - Chord Names - allow lowercase root to represent minor
5.1.12 - add keyboard support for diagram editing - up, down, left and right arrows