Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion AkaiMPCChordProgressionGenerator/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1473,7 +1473,8 @@
if (hasHover) {
container.querySelectorAll('.download-btn').forEach(btn => {
btn.addEventListener('pointerenter', function() {
showTooltip(this, i18n.t('buttons.download'));
const key = currentContext === 'midi' ? 'tooltips.downloadVariantMidi' : 'tooltips.downloadVariantProgression';
showTooltip(this, i18n.t(key));
});
btn.addEventListener('pointerleave', function() {
const tooltip = document.getElementById('chordTooltip');
Expand Down Expand Up @@ -1759,6 +1760,29 @@
if (tooltip) tooltip.classList.remove('visible');
});

// Custom tooltip for the MPC Pads context tab
const mpcTab = document.querySelector('.context-tab[data-context="mpc"]');
mpcTab.addEventListener('pointerenter', function() {
showTooltip(this, i18n.t('tooltips.mpcPads'));
});
mpcTab.addEventListener('pointerleave', function() {
const tooltip = document.getElementById('chordTooltip');
if (tooltip) tooltip.classList.remove('visible');
});

// Custom tooltip for the download/print-all button (dynamic based on context)
const downloadAllBtn = document.getElementById('downloadAllBtn');
downloadAllBtn.addEventListener('pointerenter', function() {
const key = currentContext === 'mpc' ? 'tooltips.downloadAllProgression'
: currentContext === 'midi' ? 'tooltips.downloadAllMidi'
: null;

Check warning on line 1778 in AkaiMPCChordProgressionGenerator/app.js

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Extract this nested ternary operation into an independent statement.

See more on https://sonarcloud.io/project/issues?id=liotier_AkaiMPC&issues=AaCKAU6D_yQ-lT0Q3Dim&open=AaCKAU6D_yQ-lT0Q3Dim&pullRequest=97
if (key) showTooltip(this, i18n.t(key));
});
downloadAllBtn.addEventListener('pointerleave', function() {
const tooltip = document.getElementById('chordTooltip');
if (tooltip) tooltip.classList.remove('visible');
});

// Custom tooltips for progressionSelect (dynamic based on state)
const progressionSelect = document.getElementById('progressionSelect');
progressionSelect.addEventListener('pointerenter', function() {
Expand Down
6 changes: 3 additions & 3 deletions AkaiMPCChordProgressionGenerator/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<div>
<h1 data-i18n="app.title">Chord Progression Generator</h1>
<p class="subtitle">
<span data-i18n="app.subtitle">Create musically intelligent chord progressions — view as piano, guitar tabs, or staff notation</span><br>
<span data-i18n="app.subtitle">Create musically intelligent chord progressions — view as piano, guitar tabs, or staff notation</span><br>
<span data-i18n="app.subtitleLine2">Print chord sheets to jam with others, export MIDI files for DAWs, or export .progression files for Akai MPC</span>
</p>
</div>
Expand All @@ -48,7 +48,7 @@ <h3 data-i18n="chordMatcher.title">🎹 Chord Matcher</h3>
</div>
<div class="chord-matcher-content">
<p class="chord-matcher-description" data-i18n="chordMatcher.description">
Found a sample with great chords ? Enter them here to find compatible keys and modes for your production.
Found a sample with great chords ? Enter them here to find compatible keys and modes for your production.
</p>
<div class="chord-input-row">
<select id="chordNote">
Expand Down Expand Up @@ -165,7 +165,7 @@ <h3 data-i18n="chordMatcher.title">🎹 Chord Matcher</h3>
<option value="" data-i18n="tabs.midiOutputNone">Browser beep (no MIDI)</option>
</select>
</div>
<button class="primary" id="downloadAllBtn" style="display: none;" data-i18n="buttons.downloadAll">Download all .progression files</button>
<button class="primary" id="downloadAllBtn" style="display: none;" data-i18n="buttons.downloadAll">Download this progression's .progression files</button>
</div>

<div id="progressionsContainer" class="progressions hidden"></div>
Expand Down
14 changes: 9 additions & 5 deletions AkaiMPCChordProgressionGenerator/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,10 @@
},
"buttons": {
"generate": "Progressionen generieren",
"downloadAll": "Alle .progression-Dateien herunterladen",
"downloadAllProgression": "Alle .progression-Dateien herunterladen",
"downloadAllMidi": "Alle MIDI-Dateien herunterladen",
"downloadAll": "Die .progression-Dateien dieser Progression herunterladen",
"downloadAllProgression": "Die .progression-Dateien dieser Progression herunterladen",
"downloadAllMidi": "Die MIDI-Dateien dieser Progression herunterladen",
"printAll": "Alle Progressionen drucken",
"download": "Herunterladen",
"bulkCatalogHint": "Progressionen auf Abruf sind nicht so dein Ding? Lieber durch Hunderte Dateien wühlen? Bitte sehr -",
"bulkCatalogDownloadLink": "lade jede Progression herunter, die dieser Generator erzeugen kann, fertig gebaut",
"bulkCatalogProgressionsDetail": "(Tonart C - Pad Perform transponiert beim Import).",
Expand Down Expand Up @@ -113,7 +112,12 @@
"scaleMode": "Erkunden Sie eine Tonleiter oder einen Modus, indem alle darin möglichen Akkorde erzeugt werden: der Dreiklang jeder Stufe und anschließend der Septakkord jeder Stufe. Ideal, um Tonleitern wie Ganzton, Phrygisch-Dominant oder Ungarisch Moll kennenzulernen.",
"keyboardShortcuts": "Mit der Computertastatur spielen: cvbn (Pads 1-4), dfgh (5-8), erty (9-12), 3456 (13-16)",
"keyboardShortcutsTouch": "Tastaturkürzel gelten für den Desktop. Auf dem Tablet tippen Sie die Pads an, um sie zu spielen.",
"modeSelectDisabled": "Die Modus-/Tonleiterauswahl wird im Progressions-Paletten-Modus nicht verwendet. Die Progression bestimmt ihre eigene harmonische Struktur."
"modeSelectDisabled": "Die Modus-/Tonleiterauswahl wird im Progressions-Paletten-Modus nicht verwendet. Die Progression bestimmt ihre eigene harmonische Struktur.",
"mpcPads": "Erzeugt individuelle Progressionen für MPC Pad Perform",
"downloadAllProgression": "Lädt die MPC-Pad-Perform-.progression-Dateien dieser Progression für alle ihre Varianten herunter",
"downloadAllMidi": "Lädt die MIDI-Dateien dieser Progression für alle ihre Varianten herunter",
"downloadVariantProgression": "Lädt die MPC-Pad-Perform-.progression-Datei dieser Variante herunter",
"downloadVariantMidi": "Lädt die MIDI-Datei dieser Variante herunter"
},
"cadences": {
"authentic": {
Expand Down
Loading
Loading