1---2name: edit-flp-project3description: Safely edit, revise, remix, rename, or rearrange an existing FL Studio FLP with Music2DAW. Use for changing notes, tempo, playlist clips, channel names, FLEX states, routing, mixer levels, stereo image, or mastering while preserving the source.4---56# Edit FLP Project78## Procedure9101. Read [the AI-first workflow](../../../docs/AI_FIRST_FLP_WORKFLOW.md).112. Choose one execution mode for the task: MCP tools when the `music2daw` server is connected, otherwise the Music2DAW CLI. Use `music2daw` when the release bundle is installed; in a source checkout, use `dotnet run --project src/Music2Daw.Cli --` in its place.123. Inspect the exact input FLP with MCP `inspect_flp` or CLI `music2daw inspect <input.flp>`. Capture tempo, PPQ, IDs, note counts, playlist count, plugin-state hashes, text hints, and sequence-risk warnings.134. State a narrow musical hypothesis and one observable check before editing.145. Create a new versioned output path. Never overwrite the source FLP.156. Express edits in a checked-in `edit-request.json`. Pass its content to MCP `edit_flp`, or pass its path to CLI `music2daw edit <source.flp> <output.flp> <request.json>`.167. Apply one coherent edit slice, inspect it with the same mode, and compare structural invariants before widening scope.178. For instrument replacement, copy the full plugin-state bundle (`DataNewPlugin` plus `DataPluginParams`) from an existing channel via `pluginStateCopies`, and rename the target separately. Verify both `pluginInitializationSha256` and `pluginSettingsSha256` match the source afterward. For guaranteed audible results, also route the musical notes to the known-good source channel and leave the copied target silent at volume 0 with no notes.189. Before assigning written melody or harmony to a copied state, reject `isLikelySequenced` sources unless the internal sequence is intentional.1910. For note replacement, preserve target-channel note metadata and verify there are no ghost notes.2011. In a source checkout, run focused tests after parser/editor changes and `dotnet test` before completion.2112. Launch the derivative FLP and report its path, process ID, execution mode, verified changes, and remaining audible checks.2223## Safety Gates2425- Reject source and output paths that are equal.26- Preserve unknown events and opaque plugin bytes byte-for-byte.27- Do not claim an audible mix or mastering result from metadata alone; identify what still needs listening in FL Studio.28- If an event is missing, fail explicitly instead of claiming the edit succeeded.29- Validate FL Studio 25 playlist records after playlist code changes.