fix: piano roll dropdown lists tracks only, not every MIDI item

This commit is contained in:
2026-07-31 10:22:35 +07:00
parent 01d02a9d71
commit 86b304e173
2 changed files with 18 additions and 8 deletions
+17 -7
View File
@@ -7396,14 +7396,24 @@ const beatSec = 60.0 / (parseInt(bpm) || 120);
}, React.createElement("div", {
className: "flex items-center gap-4"
}, React.createElement("select", {
value: st.target_id || '',
onChange: function(e) { handleSwitchMidiItem(e.target.value); },
value: st.trackId || '',
onChange: function(e) {
var trkId = e.target.value;
var trkSel = (activeTracks || []).find(function(t) { return t.id === trkId; });
if (trkSel && trkSel.midiItems && trkSel.midiItems.length) handleSwitchMidiItem(trkSel.midiItems[0].id);
},
className: "bg-zinc-800 border border-zinc-700 text-yellow-500 font-bold text-xs rounded px-1.5 py-0.5 outline-none focus:border-yellow-500 max-w-[180px] uppercase"
}, allMidiItems.map(function(m) {
return React.createElement("option", { key: m.id, value: m.id },
(m._trackName || '') + ' - ' + (m.name || 'MIDI')
);
})), activeParentTrackName ? React.createElement("span", {
}, (function() {
var seenTrackOpts = {};
var trackOpts = [];
(activeTracks || []).forEach(function(t) {
if (!t.midiItems || !t.midiItems.length) return;
if (seenTrackOpts[t.id]) return;
seenTrackOpts[t.id] = true;
trackOpts.push(React.createElement("option", { key: t.id, value: t.id }, t.name || t.id));
});
return trackOpts;
}())), activeParentTrackName ? React.createElement("span", {
className: "text-[9px] text-zinc-500 ml-1"
}, "(Belongs to: ", React.createElement("span", { className: "text-zinc-400 font-semibold" }, activeParentTrackName), ")") : null, React.createElement("div", {
className: "flex items-center gap-1 text-xs"