Skip to content

Latest commit

 

History

History
60 lines (55 loc) · 3.71 KB

File metadata and controls

60 lines (55 loc) · 3.71 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

staging

[0.2.0] - 2026-03-21

Added

  • Render + Analysis Pipeline: AI can now render audio from REAPER and analyze it
    • render_tracks MCP tool: render master, stems, or selected tracks to WAV (bars, seconds, full project, or time selection)
    • 7 focused analysis MCP tools: analyze_loudness, analyze_spectrum, analyze_pitch, analyze_rhythm, analyze_timbre, analyze_dynamics, analyze_stereo
    • Resolution control: full, per_beat, per_bar, per_second for time-series data
    • Render service with Lua generation, path management, metadata persistence
    • Renders stored at workspace/renders/<project>/<render_id>/
  • Renders admin page: Browse renders by project, play audio in browser, delete per-render/project/all, storage stats
  • Essentia migration: New tools/analyze_audio.py using Essentia for richer music-specific analysis (key, chords, LUFS, chromagram)
    • sample_analysis SQLite table caches full Essentia JSON output per sample
    • Existing audio_features table preserved for backward compatibility
  • HOST_WORKSPACE_PATH env var passed to container for REAPER render output paths
  • HostPath workspace config field for host filesystem path mapping
  • ExecuteAndReadWithTimeout on PluginBridge for long-running operations (renders)
  • Sample library with SQLite-backed indexing, background scanning, and audio feature extraction
  • MCP sample tools: search_samples, find_similar_samples, get_sample_info, browse_sample_library, insert_audio_sample, load_sampler
  • Audio analysis pipeline with Python-based feature extraction (MFCC, spectral, transients)
  • Samples page in admin UI with scan controls, filters, stats, and tag editor
  • Sample Library settings card in admin Settings page
  • MCP project context tools
  • SAMPLES_PATH env var for one-step sample library setup
  • LLM system prompt includes feature availability notes for disabled features
  • Dev Docker setup with hot-reloading via air (Go) and Vite HMR (Vue) — make dev
  • Sample library state awareness: system prompt now includes library stats (count, categories) at session start, and new get_sample_library_info MCP tool for on-demand overview
  • WAV duration parsing in render results (reads WAV header to report actual duration)

Changed

  • Dockerfile replaces librosa with essentia for audio analysis
  • Command() on PluginBridge refactored to delegate to CommandWithTimeout()
  • Simplified sample library config to two user-facing options (enabled toggle and host path)
  • Updated .env.sample with REAPER_PROJECTS_PATH, SAMPLES_PATH, and GoReap branding
  • Selected tracks render now names output files after actual track names instead of "Master"

Fixed

  • Fixed insert_midi_pattern corrupted MIDI notes when start_measure > 1
  • Samples page shows "not configured" message instead of 503 console errors
  • Fixed selected tracks render producing "Master.wav" — now uses actual track name(s)
  • Fixed renders being louder than DAW playback due to REAPER normalize setting not being reset
  • Fixed analyze_pitch output too large for LLM — chords now deduplicated to change-only events
  • Fixed render results reporting duration as 0

[0.1.0] - 2026-02-23 (42%)

Added

  • Initial Build

Notes

[Deployment] Notes for deployment [Added] for new features. [Changed] for changes in existing functionality. [Deprecated] for once-stable features removed in upcoming releases. [Removed] for deprecated features removed in this release. [Fixed] for any bug fixes. [Security] to invite users to upgrade in case of vulnerabilities. [YANKED] Note the emphasis, used for Hotfixes