editando patterns na playlist
This commit is contained in:
1 parent
ec772ad8aa
commit
ef499e3df9
6 files changed
+234
-5
No files matched your search
@@ -13,7 +13,7 @@ import {
|
||||
closeOpenProjectModal,
|
||||
} from "./ui.js";
|
||||
import { renderAudioEditor } from "./audio/audio_ui.js";
|
||||
import { adjustValue, enforceNumericInput, DEFAULT_PROJECT_XML } from "./utils.js";
|
||||
import { adjustValue, enforceNumericInput, DEFAULT_PROJECT_XML, secondsToSongTicks, snapSongTicks, LMMS_TICKS_PER_BAR } from "./utils.js";
|
||||
import { ZOOM_LEVELS } from "./config.js";
|
||||
import { loadProjectFromServer } from "./file.js";
|
||||
import { sendAction, joinRoom, setUserName } from "./socket.js";
|
||||
@@ -661,8 +661,31 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
renderAll();
|
||||
showToast(`Editando: ${basslineTrack.name}`, "info");
|
||||
};
|
||||
};
|
||||
|
||||
const sendPatternToSongBtn = document.getElementById("send-pattern-to-song-btn");
|
||||
sendPatternToSongBtn?.addEventListener("click", () => {
|
||||
const bpm = parseFloat(document.getElementById("bpm-input")?.value) || 120;
|
||||
|
||||
// playhead atual (se estiver tocando, usa logical; senão, seek)
|
||||
const sec =
|
||||
(appState.audio.audioEditorLogicalTime ?? 0) ||
|
||||
(appState.audio.audioEditorSeekTime ?? 0) ||
|
||||
0;
|
||||
|
||||
const patternIndex = appState.pattern.activePatternIndex || 0;
|
||||
|
||||
let posTicks = secondsToSongTicks(sec, bpm);
|
||||
posTicks = snapSongTicks(posTicks, LMMS_TICKS_PER_BAR); // snap por compasso (fica LMMS-like)
|
||||
|
||||
sendAction({
|
||||
type: "ADD_PLAYLIST_PATTERN_CLIP",
|
||||
patternIndex,
|
||||
pos: posTicks,
|
||||
len: LMMS_TICKS_PER_BAR, // 1 compasso default
|
||||
clipId: `plc_${Date.now()}_${Math.random().toString(36).slice(2)}`,
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
window.exitPatternFocus = function() {
|
||||
|
||||
Reference in new issue
Block a user