Add OSC → OSC routing with value transforms and calibration#14
Open
jcrystal wants to merge 8 commits into
Open
Add OSC → OSC routing with value transforms and calibration#14jcrystal wants to merge 8 commits into
jcrystal wants to merge 8 commits into
Conversation
Adds a new OSC → OSC mapping direction that supports passthrough, linear scaling, logarithmic (fader-style) curves, and a calibrated mode with a 5-point wizard. Calibrated mode uses monotone cubic Hermite interpolation (Fritsch-Carlson) for smooth, overshoot-free curves. Calibration data can be copied/pasted between mappings via the clipboard. New backend command send_osc_test_value enables the calibration wizard to send test values independent of engine state. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Users can now export all settings and mappings to a single JSON file and import them on another machine. Uses tauri-plugin-dialog for native save/open dialogs. Import is disabled while the engine is running. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
hi so sorry i did not get a notification of this! i will test it out and roll it in. |
Removed duplicated TransformCurve / CalibrationPoint / OscTransform definitions and added missing MSC fields to the OSC→OSC mapping serialization test.
…graph preview Replaces the step-by-step wizard with a single dialog: input range and output type up top, 5 calibration rows with per-row send buttons, and a curve preview + smoothing slider on the right. Adds a backend smoothing parameter (serde-defaulted to 1.0) that blends piecewise-linear interpolation with the existing Fritsch-Carlson cubic so users can tune knee sharpness at calibration points.
Each calibration row now has two Send buttons: the one next to In sends the row's input value, the one next to Out sends the row's output value.
Contributor
|
@jcrystal howdy. i adjusted the calibrate from a wizard flow into just rows of values. i figured that'd be a nicer ux so you can edit it after the fact with a little graph that shows what you're doing to it. i also added send buttons for the input and output side of the transform. i allowed for the user to adjust the smoothing amount with the max being the curve you put in. i am curious your thoughts. if this looks good. i'd be happy to release it! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
send_osc_test_valuebackend command enables the wizard to send values independent of engine stateTest plan
cargo test --workspace)npm test)npm run typecheck)🤖 Generated with Claude Code