Add language catalog selector

This commit is contained in:
diyaa
2026-09-15 23:20:48 +02:00
parent b43c5416f2
commit c8242a844a
10 changed files with 425 additions and 14 deletions
+8
View File
@@ -27,6 +27,7 @@ macOS App
│ ├── Genre & Style Catalog
│ ├── Instrument Catalog
│ ├── Vocalist Catalog
│ ├── Language Catalog
│ ├── Arabic Pronunciation Processor
│ ├── Project Versioning
│ └── Validation
@@ -126,3 +127,10 @@ Vocalist presets are local structured data, separate from SwiftUI views.
The catalog service supplies stable ids and preset metadata, while the
Presentation layer searches and toggles the corresponding `Vocalist`
values on the SongProject.
## Language Selector Boundary
Language catalog data is local structured data, separate from SwiftUI
views. The catalog service owns stable ids, regional categories and
search terms; the Presentation layer toggles the corresponding
`LanguageSelection` values on the SongProject.
+7
View File
@@ -60,6 +60,13 @@ VocalistPreset
- aliases[]
- searchTerms[]
LanguageCatalogItem
- id
- name
- familyCategory
- aliases[]
- searchTerms[]
SongSection
- id
- type (intro, verse, preChorus, chorus, bridge, outro, custom)
+3 -1
View File
@@ -12,7 +12,9 @@ finalized.
- Complete worldwide instrument catalog taxonomy, family/category
groups, region/origin coverage, aliases/search terms and maintenance
strategy.
- Exact list of supported languages/dialects for MVP.
- Resolved: languages use a large curated local catalog with category
browsing, search aliases and checkbox multi-select. Exact dialect
preset coverage remains to be defined.
- Arabic diacritization policy: full tashkeel vs
pronunciation-targeted tashkeel.
- External music-generation handoff is not in the current scope.
+9
View File
@@ -41,6 +41,8 @@ and writing engine, then prepares final lyrics and style instructions.
- User controls vocal gender/type, rap/singing mode, delivery and
section-specific performance.
- Multiple languages and dialects can be used in one song.
- Languages can be selected from a large local catalog with search,
category browsing and checkbox multi-select.
- Arabic receives dedicated diacritics/harakat/tanween handling for
pronunciation.
- Energy and emotional progression can change throughout the song.
@@ -94,6 +96,13 @@ presets. Users can search, browse by category and select or deselect
multiple vocalists with checkboxes. Each preset supplies a role label,
voice type, gender selection and performance style for the Song Project.
## Language Selector
The application provides a large curated local language catalog. Users
can search, browse by regional category and select or deselect multiple
languages with checkboxes. Removing a language also removes any dialect
entries attached to it from the Song Project.
## Project Management
Every song is stored as a project. Important changes can create versions
+1
View File
@@ -133,3 +133,4 @@ lyrics and style prompt in the project.
- [x] Add confirmed project deletion from the project browser.
- [x] Add a worldwide genre and style selector with checkbox multi-select.
- [x] Add a vocalist preset selector with checkbox multi-select.
- [x] Add a language selector with checkbox multi-select.