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
- 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 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=1URL parameter in production - Complete GIF captures for all applications
- Increased Pupitre limits: binders, folders, and papers now support up to 30 items per pupitre (previously 10)
- 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
- 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
- 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
- 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
- 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 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
- Enhanced Chord Search with Smart Notation Recognition - Improved chord search to recognize alternative notation formats - Automatically converts
- 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
- 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
- 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
- GuitarModel Enhancements - New methods and improvements - Better shape handling - Enhanced comparison capabilities
- 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
- TwelveAssistantStore - Store enhancements with new state properties for apps - Better reactivity handling
- LibraryDataStore - Data store improvements - Enhanced data loading logic
- 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
- Reusable Dropdown Components for Libraries - Created new dropdown 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
- 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
- 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)
- 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
- 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
- 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
- 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
- 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
- AudioPlayerService Migration - Migrated to shared package
- 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
- 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
- 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
- Twelve-Metronome in popup
- Fixed missing chord properties (chordKey and chordId) not being passed to PianoChord component in PianoChordLayout, preventing "Pin to Pupitre" functionality from working correctly
- 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
- Cleaned up local git branches, keeping only active branch
- Updated changelog to use English language
- 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
- Features and fixes in development will be listed here
vue3-touch-events libraryChanged
Fixed
[2.1.1] - 2025-11-27
Added
Changed
Fixed
[2.1.0] - 2025-11-26
Added
#### 🎯 New Applications
#### 🎨 New UI Components
#### 🔧 ScaleLink
#### 🎵 Music Theory Services
#### 🎸 Progression Features & Player
#### 🔍 Smart Search Enhancements
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/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
#### 🔨 Controllers and Core Logic
#### 🎸 Instrument Models
#### 📚 Data and Localization
#### 📊 Store Management
Fixed
[2.0.6] - 2025-09-26
Added
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/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 appnoCurrentColor option to preserve original SVG colors
- Proper size scaling for idx0 (40px) matching other comparison methodsChanged
Fixed
[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
Fixed
[2.0.4] - 2025-09-09
Added
Added
@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
@twelve-assistant/audio-services
- Dependency injection pattern for SequencersController
- Backward compatibility layer to prevent breaking changes
- Singleton pattern maintained across all appsChanged
Fixed
[2.0.3] - 2025-08-10
Added
[2.0.2] - 2025-08-10
Fixed
[2.0.1] - 2025-08-09
Added
Changed
Fixed
[2.0.0] - 2025-08-08
[Unreleased]
To Be Determined
Dernière mise à jour : 6 décembre 2025 à 20:28