Changelog

Historique des modifications et mises à jour

Changelog - Twelve Assistant Guitar & Harmony

All notable changes to the Twelve Assistant application will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

Changed

Fixed

[2.1.2] - 2025-01-30

Added

  • Chord Scale Matcher - Enhanced Scale Discovery by Chord and Degree
  • - Find all scales containing a specific chord at a chosen degree (I-VII) - Interactive degree selector with Roman numeral buttons (I, II, III, IV, V, VI, VII) - Scale family filtering with modern pill-style buttons (Major, Harmonic Minor, Pentatonic, etc.) - Multiple display modes for scale visualization: - Listen mode for audio playback - Linear chromatic view - Circular composition view - Degrees/Harmonization view - Chord-on-scale comparison mode - Smart detection of altered degrees (bII, #IV, bVII) using DegreeUtils - Clean, intuitive UI with clear instruction text - Optimized search engine using ScaleSearchService - Support for perfect and partial scale matches - Bilingual interface (FR/EN) with complete i18n support

  • iPad/Mobile Touch Support for Progression Editors
  • - Touch drag & drop support for degree palettes in Progression Guitar Editor and Progression Piano Editor - Touch drag & drop support for chord library palette - Visual ghost element that follows finger during touch drag operations - Touch-over feedback for drop zones during drag operations - Double-tap gesture support for quickly adding chords to progression - Double-click support on desktop for adding chords directly from library - Native touch event handling compatible with vue3-touch-events library

    Changed

  • Improved touch responsiveness for chord and degree selection on iPad and mobile devices
  • Enhanced user experience with visual feedback during touch drag operations
  • Search Key To Chords: Search now starts from 1 chord instead of 2 for better user experience
  • Fixed

  • Fixed drag & drop functionality not working on iPad for Progression Guitar Editor
  • Fixed drag & drop functionality not working on iPad for Progression Piano Editor
  • Fixed inability to add chords from library palette on touch devices
  • Search Key To Chords: Fixed results not displaying when navigating from Pupitre folder context menu
  • Search Key To Chords: Fixed results not clearing when all chords are removed
  • Search Key To Chords: Debug JSON now only visible with ?debug=1 URL parameter in production
  • [2.1.1] - 2025-11-27

    Added

  • Complete GIF captures for all applications
  • Changed

  • Increased Pupitre limits: binders, folders, and papers now support up to 30 items per pupitre (previously 10)
  • Fixed

  • Fixed chord slide index persistence bug in Progression Guitar Editor
  • Fixed compatibility issues with legacy Pupitre data and degree display in triads/tetrads for Progression Editor and Key Degrees Analyzer applications
  • [2.1.0] - 2025-11-26

    Added

    #### 🎯 New Applications

  • Progression Guitar Editor - Visual Chord Progression Builder
  • - Interactive drag-and-drop interface for building chord progressions with guitar diagrams - Visual progression cards with chord shapes, voicing slider, and shape selection - Smart origin scale tracking for borrowed chords, substitutions, and secondary dominants - Visual badges indicating chord origin (borrowed, substitution, dominant) with color coding - Lock system to preserve specific chord shapes across filter changes - URL parameter support for loading/saving progressions (scale, key, chords) - Degree palette integration with diatonic, borrowed, substitution, and dominant chord tabs - Confirmation modals for destructive actions (clear progression, remove chord) - Save progressions to Pupitre with folder organization and metadata preservation - Drag-to-reorder functionality for rearranging chords in progression - Hover-to-replace mode for quick chord substitution - Memory-safe implementation with proper cleanup of watchers and timers - Error handling with user-friendly notifications for Pupitre operations - Cross-scale chord mixing with originScale preservation - Fullscreen Player Mode: Loop playback with BPM control (40-300), volume control, repeat selector (×1-×4) - Neck Diagram Display: Guitar neck diagrams shown during playback with streamlined UI

  • Search Key To Chords (Recherche de Gammes par Accords)
  • - Find scales that contain specific chord progressions - Two-column layout: chord selector (30%) and results (70%) - Drag-and-drop functionality to reorder selected chords - Real-time search as chords are added/removed - Chord playback with audio preview - Chord composition display with mini cards - Support for filtering results by degree containment - Complete UI/UX Redesign: - Modern card-based interface with gradient accents (cyan to purple theme) - Section cards with hover effects and elevation shadows - Enhanced empty state with icons and helpful hints - Chord count badge with gradient background - Improved typography with emoji icons in section titles (🎵, 🎸) - Smooth transitions and hover animations on all interactive elements - Action Buttons: "Open in Editor" button for quick navigation to Progression Guitar Editor - Enhanced Result Cards: Improved visual hierarchy with gradient headers and larger scale names - Smart Detection: Badges for borrowed chords, substitutions, and secondary dominants

  • Paired Triads (Triades Jumelées)
  • - Explore triad pairs and their harmonic relationships - Two modes: Diatonic (based on active scale layer) and Non-diatonic (free selection) - Automatic calculation of all possible triad pairs without common notes - Visual display of complementary triads with interval analysis - Support for major, minor, diminished, and augmented triads - Integration with layer system for diatonic mode - Interactive selection with key and quality dropdowns

  • Scales/Chords Diagram Comparator (Comparateur Gammes/Accords)
  • - Visual comparison of scale and chord diagrams on guitar fretboard - Two-panel layout: chord display and scale selector - Instant analysis of intervals, common notes, and differences - Integration with existing chord diagram system - Support for all chord qualities and scale types - Ability to remove and change main chord shape - Scale filtering by chord degree

    #### 🎨 New UI Components

  • ChordQualitySelectorEnhanced
  • - Enhanced chord quality selector with advanced search - Grouped display by chord families (triades, tétrades, etc.) - Auto-suggestion for key changes when searching with different root notes - Visual feedback with 🔄 icon for key change suggestions - Support for two-column layout option - Family filtering capability - Sticky family headers with chord counts - Improved search matching (French/English names, aliases) - Better visual hierarchy with selected state highlighting

  • KeySelectorCircular
  • - Circular chromatic key selector using SVG - Visual representation of the 12 notes in a circle - Toggle between sharps (#) and flats (b) notation - Customizable diameter (default: 180px) - Interactive hover and selection states - Clean, modern design with proper spacing - Color-coded selection (cyan theme) - Smooth transitions and animations

    #### 🔧 ScaleLink

  • Modular Component Architecture
  • - Split monolithic view into 4 specialized components - Better separation of concerns and improved maintainability - Cleaner code organization

  • New ScaleLinkService
  • - Comprehensive scale relationship search engine - 7 types of harmonic relationship searches: 1. Relative: Major ↔ minor relative scales (3 semitones distance) 2. Enharmonic: Same scale with enharmonic notes 3. Subset: Scales where active scale is a subset 4. Superset: Scales contained within active scale 5. Neighbor ±1: Scales differing by 1 note 6. Neighbor ±2: Scales differing by 2 notes 7. Modes: Relative modes of the scale - Advanced filtering options (same root, selected notes, enharmonic matching) - Relation scoring system for relevance ranking - Support for all scale types in the library

    #### 🎵 Music Theory Services

  • PairedTriadsService
  • - Calculate paired triads based on music theory - Two modes: Diatonic (from scale degrees) and Non-diatonic (chromatic) - Pair generation algorithm excluding triads with common notes - Support for major, minor, diminished, augmented triads - Integration with chord creation system

  • NoteUtils Enhancements
  • - Added new utility methods for enharmonic note matching - Improved chromatic calculations - Enhanced note comparison functions

    #### 🎸 Progression Features & Player

  • Progression Player with Loop Playback
  • - New loop player component for ProgressionGuitarEditor with transport controls - Plays actual chord voicings (shapes) from selected diagrams, not default chord sounds - BPM control (40-300) with increment/decrement buttons (±10 per click) - Volume slider for playback adjustment - Real-time visual feedback with cyan pulse animation on currently playing chord - Compact design harmonized with ShapesFiltersTopPanel layout - Synchronized playback state across components via store

  • Chord Origin Badge System in Progression Cards
  • - Visual badges display chord origins (borrowed, substitution, dominant) in progression cards - Color-coded labels: yellow for borrowed chords, purple for substitutions, orange for dominants - Badges automatically removed when chord is replaced with diatonic chord - Compact design positioned next to chord names

  • Improved Chord Selection UX in Progression Cards
  • - New expand/collapse button (+ / −) for chord detail panel access - Button positioned next to lock button at bottom of progression cards - Clearer visual feedback for selection state - Prevents accidental selections from clicking entire card area

  • Dominant Functions Tab in Chord Selector
  • - Added new "Dominantes" tab in chord selector component - Displays secondary dominants (V/II, V/III, etc.) and altered dominants per degree - Groups dominants by resolution target degree

    #### 🔍 Smart Search Enhancements

  • Enhanced Chord Search with Smart Notation Recognition
  • - Improved chord search to recognize alternative notation formats - Automatically converts C7#5#9 to find C7(#5,#9), C7b5b9 to C7(b5,b9), etc. - Supports common abbreviations: maj/major, min/minor, dim/diminished, aug/augmented - Search works with or without parentheses and commas in chord names

  • Smart Search in Home View
  • - Added intelligent search that automatically detects chords and scales without prefixes - Search queries starting with a note (A-G) now display both chord and scale results - Maintains backward compatibility with /chord and /scale prefix commands - Mixed mode displays results in unified grid with proper component separation - Automatic chord pattern detection for simple notations (C, Dm, G7, Cmaj7, etc.)

    Changed

    #### 🎨 UI/UX Improvements

  • Pupitre (Music Stand) Cleanup
  • - Streamlined interface with cleaner visual design - Removed unnecessary padding in fullscreen overlay mode - Hidden header controls and text inputs in DisplayNeckOnPlay during fullscreen playback - Improved focus on musical content during progression playback

  • ChordScaleMatcher Refactoring
  • - Major refactoring with improved layout and user flow - Better integration with new components - Enhanced visual feedback

  • VoiceLeading Interface
  • - Interface improvements with better QuickView integration - Enhanced chord selection feedback

  • ScaleCard Component
  • - Visual improvements with better information display - Enhanced interactivity

    #### 🔨 Controllers and Core Logic

  • ContextLayersController
  • - Significant improvements in layer context management - Enhanced comparison mode support

  • LayersControllers
  • - Logic improvements with better state management - Enhanced layer operations

  • LibraryDataController
  • - Integration with new services - Better data retrieval methods - Enhanced caching logic

    #### 🎸 Instrument Models

  • GuitarModel Enhancements
  • - New methods and improvements - Better shape handling - Enhanced comparison capabilities

    #### 📚 Data and Localization

  • Apps Configuration
  • - Updated apps configuration with new applications - New app descriptions (FR/EN) - Updated categories and tags

  • i18n Translations
  • - French translations: 35 new lines - English translations: 26 new lines - Complete parity with French translations

  • Router Configuration
  • - New routes for applications - Updated route metadata - Better navigation structure

    #### 📊 Store Management

  • TwelveAssistantStore
  • - Store enhancements with new state properties for apps - Better reactivity handling

  • LibraryDataStore
  • - Data store improvements - Enhanced data loading logic

    Fixed

  • Substitution Labels Display
  • - Fixed tritone substitution labels showing correct tags (e.g., "SubV Tritonique") - Corrected to use array index instead of non-existent property - Now matches KeyDegreesAnalyzer display format

  • Chord Label Correction
  • - Fixed incorrect label for minor add11 chord: changed from "mineur add11" to "add11" - Fixed bass tuning label: corrected "Basse EADG" spelling

  • App Tile Click Issues in HomeView and TilesSection
  • - Fixed click events not working properly on application tiles across all sections - Simplified HomeView architecture by removing router-link wrappers - Added interactive prop to AppTile component for flexibility in different contexts - Fixed particles container blocking clicks by adding pointer-events: none - Removed drag and drop functionality from TilesSection that was intercepting click events - Cleaned up unused drag-related code - Consolidated navigation and analytics logic in parent component handlers - Fixed navigation in TilesSection for all tabs

  • KeyDegreesAnalyzer Chord Selection Reactivity
  • - Fixed missing click handlers on chord table rows preventing chord selection - Added click event handlers to all chord table rows - Chord selection now properly updates the store when clicking on any chord in the table - Clicking on a chord now scrolls to the top of the page to show the selected chord details - Fixed action buttons causing unwanted scroll when clicked

  • Search Key to Chords - Tritone Substitution Detection
  • - Fixed tritone substitution detection in pentatonic and incomplete scales - SubV chords now properly detected even when the V degree is absent from the scale - Improved results filtering to show only scales with at least 50% diatonic chord matches

  • ScaleFactory
  • - Bug fixes with better error handling

    [2.0.6] - 2025-09-26

    Added

  • Reusable Dropdown Components for Libraries
  • - Created new dropdown components: KeySelectorDropdown, ChordSelectorDropdown, and ScaleSelectorDropdown - Auto-close functionality when selecting items from dropdowns - Fixed synchronization issue when changing keys through chord/scale selectors - Dropdowns now stay open when changing key, only close on final selection - Applied to all library views: ChordDiagramLibrary, TriadDiagramLibrary, TetradDiagramLibrary, PianoChordsLibrary, ScaleDiagramLibrary, and ScalesOnPianoLibrary - Reduced code duplication across library components

  • Key Chord Comparator - Enhanced Chord Selection
  • - Added button to select any chord from the library (not limited to scale harmonization) - New chord selector modal with key and quality selection - Allows comparison of scale with any chord, expanding beyond diatonic harmonization

  • Help Center with YouTube Integration
  • - New dedicated Help section accessible from /helper route - Integrated YouTube playlist viewer displaying tutorial videos - Separate Tips & Tricks section with latest news and quick tips - Intelligent search functionality filtering YouTube videos and applications - Search keywords persist in store for cross-app navigation - Stop words filtering for more accurate search results (French and English) - Visual layout with video thumbnails, titles, descriptions and publish dates - Quick access Help button added to all application headers - Pre-fills search with current app name when accessing help from within an app

  • Enhanced Pupitre (Music Stand) Clipboard System
  • - Added copy/paste functionality for all Pupitre items across folders - Items can be copied between folders within the same category - Category-specific clipboards ensure items stay in their appropriate sections (e.g., chord shapes can only be pasted in chord shape folders) - Clipboard items persist for 24 hours using localStorage - Visual feedback with toast notifications when copying/pasting items

  • Context Menu System for Pupitre Folders and Items
  • - New dropdown menu for folders with Copy, Duplicate, and Delete actions - Item-level context menus accessible via hover - Paste button dynamically enables when clipboard contains compatible items - Replaced individual action buttons with unified context menu approach

  • Custom Comparison Method for Diagram Comparator
  • - Added fully customizable comparison method with dropdown selectors for each slot - idx0 options: White, White Notes, White Intervals, Black, Black Notes, Black Intervals - idx1 options: Black, White, White Notes, Black Notes, White Intervals, Black Intervals, Intervals, Colored Notes, Colors without notes - Custom dropdown with icon preview and chevron indicator - Active item highlighting in dropdown - Configurations persist across sessions - Icon plugin enhanced with noCurrentColor option to preserve original SVG colors - Proper size scaling for idx0 (40px) matching other comparison methods

  • Three Diagram Transition Comparison Method
  • - New "Transition entre diagrammes" comparison method for analyzing note evolution across 3 diagrams - Dynamic color coding: Gray for common notes between diagrams 1 & 2, Red for notes only in diagram 1, Blue for notes only in diagram 2 - Reference diagram (idx0) displayed with white background for visual clarity - Visual legend explaining the color system with i18n translations - Individual fretboard views for each diagram with colored intervals - Unified color scheme: rgb(136, 136, 136) for gray, rgb(210, 24, 24) for red, rgb(63, 110, 242) for blue - Slot indicators with colored circles matching diagram colors - Height control slider for fretboards (300-450px range) with cyan-themed container - Centralized controls layout with range slider and height adjustment

  • Folder and Item Duplication
  • - Duplicate entire folders with all their contents using deep cloning - Duplicate individual items within folders - Automatic unique naming for duplicated folders with "(Copy)" suffix - Preserves all item properties and settings during duplication

  • No Results Messages for Diagram Libraries
  • - Added user-friendly messages when filters produce no results in diagram views - Affected apps: Chord Diagrams, Voice Leading, Key Chords, Triads, Tetrads libraries - Includes i18n translations (FR/EN)

    Changed

  • Pupitre Folder Management Architecture
  • - Refactored to use folder indices instead of names for all operations - Resolves issues with multiple folders having identical names - Improved reliability of copy/paste operations across different folders - All folder components now use consistent emit signatures with index-based references

  • CSS Optimization
  • - Added temporary CSS rule to hide guitar frets beyond position 21

    Fixed

  • Pupitre Paste Operation Targeting
  • - Fixed issue where paste operations always targeted the first folder with a matching name - Clipboard items now correctly paste into the folder where the context menu was opened - Improved reactivity of paste button to reflect clipboard state changes immediately

  • Voice Leading Error
  • - Fixed "Cannot read properties of undefined" error in VoiceLeading component - Added null checks for scaleModel in LibraryDataController

    [2.0.5] - 2025-09-16

    Added

    New borrowed chords for chord qualities - Major, Minor, Diminished, Augmented, Maj(add9), Min(add9), Sus4, Sus2, 6, Minor 6, 7, Minor 7, Maj7, 7sus4, 7(b5), m7(#9), m7(b7), maj7(#11)

    Changed

  • Enhanced ChordQualitySelector search functionality
  • - Added search support for chord names in French (name_fr) and English (name_en) - Users can now search with the selected key included (e.g., "Cm6", "DbMaj7") - Improved chord discovery for users who type the full chord name with key - Smart key detection: When searching for a chord with a different key (e.g., "Am7" while in C), a suggestion appears to automatically change the key - Visual suggestion with 🔄 icon guides users to switch tonality - Implemented in both ChordsDiagramsLibrary and PianoChordsLibrary

  • Improved Pupitre guitar neck naming for comparison mode
  • - When pinning a guitar neck with comparison mode enabled, the name now displays all compared layers separated by "/" - Example: "C Major / A Minor" instead of just showing the first layer - Makes it clearer which layers are being compared in the saved diagram

    Fixed

  • DiagramComparator slot color mapping
  • - Fixed issue where non-consecutive slot selections displayed incorrect colors - Corrected slot 4 display with missing size values causing NaN radius - Fixed Vue 3 v-if/v-for compatibility in dropdown menus

  • Shape filters difficulty preset
  • - Fixed difficulty filter not using user preference from settings - Now correctly initializes with user's diagramDifficulty preference

  • Special chord shapes display
  • - Fixed chord shapes with specific keys not appearing in chord libraries - Corrected baseFret 0 display issues causing incorrect fret positions - Improved handling of open string chords with fixed positions

    [2.0.4] - 2025-09-09

    Added

    Added

  • Interactive Note Playback on Chord Diagrams
  • - Click on any note in a chord diagram to play it instantly - Visual feedback with cursor change and hover effect - Works across all chord diagram components (ShapeToChordDiagram, ChordDiagram, NoteView)

  • Visual Indicators for Manual Note Selection Filtering
  • - Added dotted border visual feedback for manually selected fretboard positions - CSS styles persist when NoteGridSelector dropdown closes if positions are selected - Automatic cleanup when clearing selections or changing components - Unified CSS management system preventing style duplication between components

  • QuickView Enhancements
  • - Default tab now based on user subscription level - New "Automatic" mode for guitar layer selector with intelligent context detection - Automatic display of appropriate chord diagrams in all library apps: - ChordsDiagramsLibrary, TriadDiagramLibrary, TetradDiagramLibrary - KeyChordsDiagrams, KeyTriadsDiagrams, KeyTetradsDiagrams now properly supported - Each library app uses its own store for proper chord selection: - Standard libraries: chordsDiagrams, triads, tetrads - Key-based apps: keyChordsDiagrams, keyTriadsDiagrams, keyTetradsDiagrams (selected quality stored in global store) - Improved reactivity with automatic refresh when changing routes or chord selection - Smart note display in automatic mode: - Respects user's choice when explicitly set (notes, intervals, intervalsNotes, empty) - Defaults to intervals for chord library apps if no preference set - 'Link' mode: Forces intervals in auto mode for chord libraries (since showing specific chord, not active layer) - 'Link' mode: Lets the layer decide in normal mode (when showing active layer) - Added "View arpeggios on neck" button to all chord library apps: - ChordsDiagramsLibrary, TriadDiagramLibrary, TetradDiagramLibrary - KeyChordsDiagrams, KeyTriadsDiagrams, KeyTetradsDiagrams - Button opens QuickView directly on Guitar tab with automatic mode - Button hidden when QuickView is already open - Fixed button positioning to always appear at bottom center using sticky positioning - VoiceLeading app now supported in automatic mode: - Displays the selected chord from mainShape in QuickView - Automatic detection and display of the chord being analyzed
  • Borrowed Chords and Substitutions System in KeyChordsDiagrams
  • - Integration of borrowed chords and substitutions in QualityListSelectorByKey component - Three-tab interface: Diatonic, Borrowed (🎁), and Substitutions (🔄) - Vertical full-width tab layout with cyan highlighting for active tab - Centered degree filters (SquareDegree component) available in all tabs - Lazy loading for borrowed chords and substitutions data with caching - Visual indicators: yellow theme for borrowed chords, purple for substitutions - Star ratings for harmonic distance (color scores) - Profile badges (F/B/T) for substitution types - Search functionality across all three chord categories - Proper degree mapping: borrowed chords show under the degree they replace - Increased dropdown width from 320px to 400px for better visibility

  • VoiceLeading Application Enhancements
  • - Enhanced dropdown menu with wider layout (w-96) and descriptive tooltips for each tab option - Added detailed i18n descriptions for all tabs (Variantes, Diatonique, Enrichis, Emprunts, Substitutions, Fonction de dominante) - Improved visual hierarchy with two-line tab buttons showing title and description - Manual note selection system with fretboard position filtering - Voicing-aware chord scoring (Fluidity, Balance, Tension modes) - Pagination system (20 chords per page) - Dynamic min/max fret calculation based on selection - Store integration for filter persistence - Performance optimizations to eliminate "script too slow" errors: - Implemented scoring cache system with automatic invalidation - Limited shape processing to 100 items maximum - Auto-reset to Variants tab and degree I on chord change - Reduced computation time by 80-90% with caching

  • KeyDegreesAnalyzer Improvements
  • - New "Dominant Functions" tab separating dominant chords - Enhanced categorization: Diatonic, Borrowed, Substitutions, Dominant Functions - Improved substitution filtering to exclude dominant chords - Better label display for chord substitution types

  • Dynamic Progression Generator System
  • - Real-time chord progression generation with customizable parameters - 6 musical style presets (Pop, Jazz, Rock, Classical, Blues, Neo-Soul) - Advanced harmonic options: length, chord quality, cadence types - Character sliders for fine-tuning (flow, tension, modality, resolution, alteration) - Substitution controls (modal borrowing, secondary dominants, tritone substitutions) - Integration with existing chord library and playback systems

  • Refactored Progression Applications
  • - New ProgressionGenerator app for dynamic generation - ProgressionEditor (formerly ProgressionGenerator) for manual editing - ProgressionGuitarEditor (formerly ProgressionsDiagramGenerator) - ProgressionPianoEditor foundation - ProgressionAnalyzer foundation - Consistent naming conventions across all progression apps

  • Enhanced Music Theory Package
  • - Advanced progression generation algorithms - Harmonic function mapping system - Chord substitution engine with multiple techniques - Progression scoring and evaluation system - Support for borrowed chords with source scale tracking

  • Complete Chord Progressions Library with advanced features
  • - Interactive progression cards with visual animations during playback - Multi-filter system (scales/modes, cadences, chord count, degrees) - Dynamic triads/tetrads toggle with real-time chord updates - Tempo control (40-120 BPM) with persistent settings - Audio mode selection (guitar/piano) for playback - Smart pagination with ellipsis for large datasets - ScaleUtils utility for degree normalization (V7, v, V° → V) - Full bilingual support (FR/EN) for all UI elements

  • Enhanced Harmonic Analysis Engine (V3)
  • - New ProgressionAnalyzerV3 with 85% accuracy on reference progressions - Advanced mode detection (Major, Minor, Dorian, Phrygian, Lydian, Mixolydian, Blues) - Improved cadence detection (Authentic, Plagal, Half, Deceptive, Backdoor, Andalusian) - Blues progression detection with dedicated mode - Augmented sixth chord recognition (It+6, Fr+6, Ger+6) - Secondary dominants and dominant chains analysis - Modal borrowing detection with precise origin identification

  • KeyBasedProgressions integration
  • - Adapted progressions library for layer-specific context - Automatic filtering by layer's scale_id - Layer-based preference storage (styleConfig.libraryProgression) - Fixed display with pre-selected tonality from layer - Automatic type conversion for scale_id matching

  • TaSequencer - Unified sequencing system for musical playback
  • - New package @twelve-assistant/ta-sequencer with Tone.js integration - Multi-track synchronization via single Transport - Modular Vue composables (useTaSequencer, useTaMetronome, useTaTransport) - Smart memory management with automatic dispose() - MetronomeTrack class for specialized metronome patterns - Support for events and pattern-based sequencing - Real-time beat/bar callbacks for UI synchronization - Audio file loading for authentic metronome sounds
  • AudioPlayerService Migration
  • - Migrated to shared package @twelve-assistant/audio-services - Dependency injection pattern for SequencersController - Backward compatibility layer to prevent breaking changes - Singleton pattern maintained across all apps

  • MetronomeLight Migration to TaSequencer
  • - Feature flag implementation for safe rollback - Full sound compatibility (classic/electronic voices) - Support for all beat modes (accent, click, soft, mute) - Real-time beat tracking with visual feedback - Cyan color theme for active beat and play button - Preserved all original functionality with improved performance

  • Chord progressions JSON data to useHarmonyDataStore for enhanced musical analysis
  • Smart degree notation system that adapts to chord qualities (triads and tetrads)
  • - Major chords display uppercase Roman numerals (I, IV, V) - Minor chords display lowercase Roman numerals (ii, iii, vi) - Diminished chords show with ° symbol (vii°) - Augmented chords show with + symbol (III+) - Tetrad extensions properly formatted (IΔ7, ii7, V7, viiø7, III+Δ7) - Pre-calculated degree chords for better performance in KeyDegreesAnalyzer

  • Chord Progressions Library application
  • - ChordProgressionCard component with play functionality - ProgressionsLibraryView with filtering by cadence type - Key selector for transposition - Support for multiple cadence types (authentic, plagal, deceptive, half) - Bilingual support with i18n for cadence names

  • Improved touch behavior for draggable AppTiles on tablet devices
  • - Added 250ms delay before drag activation on touch devices - Implemented touch threshold of 10px to distinguish tap from drag - Added drag state management to prevent accidental clicks during drag - Disabled hover cards on touch devices to avoid interference - Added proper touch detection for adaptive behavior

    Changed

  • QualityListSelectorByKey restructured with tab-based navigation
  • Degree filters now use SquareDegree component for visual consistency
  • Borrowed chords filtering uses NOTE-based system (not roman numerals)
  • Improved label display for borrowed chords and substitutions with source information
  • Progression Library Enhancement
  • - Integration with dynamic generation system - Preset-based progression generation replacing static library - Improved chord progression cards with substitution indicators - Removed individual transformation buttons from progression cards
  • Application Architecture
  • - Unified progression app naming conventions - Improved route structure with slug-based URLs - Better separation of concerns between editor and generator apps

  • ProgressionAnalyzer now uses V3 engine with improved accuracy
  • SubV (tritone substitution) detection limited to dominant functions only
  • Modal borrowing detection refined to avoid false positives on diatonic chords
  • Multiple hypothesis generation for ambiguous progressions
  • Sticky filter bar with responsive design
  • Filter persistence across sessions via store
  • Visual feedback with playing chord highlighting
  • Action buttons (pin to pupitre, add to layer)
  • Architecture Improvements
  • - Unified sequencing architecture replacing 4+ fragmented systems - Centralized audio playback through TaSequencer Transport - Improved memory management with proper resource disposal - Better performance with single AudioContext instance

  • Enhanced ChordProgressionCard with complete playback system
  • Improved ProgressionsLibraryView with comprehensive filtering
  • Fixed

  • DiagramComparator error when loading saved configurations from Pupitre
  • - Resolved "addContextLayer is not a function" error - GuitarModel instances are now properly reconstructed from JSON data - Context layers can now be added to restored guitar models
  • Borrowed chords degree assignment to show the degree they replace
  • Degree filtering to work with normalized degree format
  • Sorting: diatonic chords → borrowed chords → substitutions within each degree
  • Incorrect chromatic/borrowing labels on diatonic chords
  • Missing intervalToDegree method in ProgressionAnalyzerService
  • ModeUtils export issue in music-theory package
  • Corrected degree notation for modal contexts (bVII, bVI, etc.)
  • Light/dark mode color issues in progression library dropdowns
  • Triads/tetrads title not updating dynamically in progression cards
  • KeySelector reactivity issues when changing tonality
  • Pagination reset when filters change
  • Audio mode selection not updating playback sound
  • HarmonyStore loading issue in KeyBasedProgressions (isLoad vs isLoaded)
  • Type mismatch in scale_id comparison (string vs number)
  • Empty cadence filters now automatically hidden when no cadences available
  • Degree calculation for scales with double accidentals (e.g., Db Superlocrian bb7)
  • - Added normalization support for double flats and double sharps - Improved chord-to-scale matching with normalized note comparison - Handles exotic scales with Ebb, Gbb, Cbb, etc. correctly
  • Variable naming conflict in KeyDegreesAnalyzer that caused TypeError
  • - Resolved conflict between local variable and ref in selectDegreeAndPlay function
  • DiagramComparator: Fixed "addContextLayer is not a function" error when loading guitar models from Pupitre
  • AppTiles Draggable: Removed problematic draggable functionality from AppTiles in HomeView and LayerHomeLayout to improve stability
  • TetradDiagramLibraryView: Fixed undefined shape error in hover handlers on ChordQualitySelector
  • KeyTetradsDiagramsView: Fixed undefined shape parameter in clearHoverStyles and removed duplicate hover event handlers
  • [2.0.3] - 2025-08-10

    Added

  • Twelve-Metronome in popup
  • [2.0.2] - 2025-08-10

    Fixed

  • Fixed missing chord properties (chordKey and chordId) not being passed to PianoChord component in PianoChordLayout, preventing "Pin to Pupitre" functionality from working correctly
  • [2.0.1] - 2025-08-09

    Added

  • CHANGELOG.md files for all applications in the monorepo
  • Pupitre dropdown menu in the pupitre app folder view
  • Pupitre tabs in the mediaLibrary header
  • Automatic changelog copy to dist folder during builds
  • Changed

  • Cleaned up local git branches, keeping only active branch
  • Updated changelog to use English language
  • Fixed

  • Fixed pupitre paper reference to pupitre folder using id instead of idx
  • Fixed controller display in mediaCard components
  • Fixed pupitre id retrieval during API loading
  • [2.0.0] - 2025-08-08

    [Unreleased]

    To Be Determined

  • Features and fixes in development will be listed here
Dernière mise à jour : 6 décembre 2025 à 20:28
4.8/5
(74 avis)