Add .mcp.json to define project-specific MCP servers:
- ardour: Local ardour-mcp server for DAW control
- midi-gen: MIDI generation server for music composition
This enables AI-assisted development workflows when working on the
Ardour codebase, with automatic MCP server loading for testing and
integration work.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The sends subview now shows "off" when a mixbus send enable control is
toggled from the GUI. Additionally, any disabled mixbus sends will
now properly show "off" after instantiating the sends subview and calling
SendsSubview::setup_vpot().
This currently only affects Mixbus since Route::send_enable_controllable is not
actually exposed in Ardour.
This is because windows does not allow trailing space or dot.
So once we use legalize_for_universal_path() it may strip
valid char "New Session.." + ".ardour"
We can only use `legalize_for_universal_path` for base-name
paths relative to the Ardour session folder.
The full absolute path can contain locally legal chars,
which legalize_for_universal_path would replace, so we need
to be careful.
We should also use `legalize_for_universal_path` for the
snapshot name (and name used in interchange), but that may break
sessions.
Currently, the device mode selector never seems to show up, but this may have
been a pre-existing error, since the code that controls this has not changed.
When creating the editor, default modes are set, this toggles
mouse-modes, in `Editor::mouse_mode_chosen` which in turn calls
EditingContext::grid_type_chosen.
With rulers-follow-grid enabled this can call
`Editor::toggle_ruler_visibility`. Since `_session` is NULL
during editor's c-tor this caused a crash in
`Editor::store_ruler_visibility`.
Information taken from the timeline - we assume you're going to play in time with the tempo map.
Future work: no other material in session - determine tempo (and meter? - super hard) from
recorded clip
This better defines when a region/trigger/track is being set and
signals connected/disconnected to/from, along with some more
code sharing between the MIDI (Pianoroll) and audio (AudioClipEditor)
versions of things
Peak files are built int background which can happen concurrently
to estimating tempo. Notably when importing large .flac files
this can cause a crash because libsndfile API does not allow
for concurrent use of the same SNDFILE object.