Native musical notation, score editing, and engraving environment for Cockos REAPER. https://github.com/A-intheCode/ReaperNotator a ' + Bank Select + Program Change to notes at the Edit Cursor when no notes are explicitly selected. - 2-Step Window Maximize & Startup Centering Fix (v2.0.1): Removed 'ImGui_GetWindowViewport' (which returned the window's own size instead of the monitor size). On both REAPER startup and Maximize toggle, REAPER Notator now strictly reads the maximum possible screen work area of the target monitor first, places the window in small size in the exact center of the screen, and then scales up to full screen when maximizing. 'is_maximized' is no longer persisted across sessions so every startup opens cleanly centered. - Unified ReaPack Release & Fault-Tolerant Module Loading (v2.0.0): Promoted to official v2.0.x release so all ReaPack users automatically receive the complete module suite ('ui.record_modal', 'services.record_quantize_service', 'ui.filter_irregular_modal') upon synchronizing packages, with safe module fallbacks and removal of deprecated legacy versions so outdated releases can no longer be installed. - Collapsed Window & Legacy ExtState Cleanup on Startup: Added 'ImGui_WindowFlags_NoCollapse' and 'ImGui_SetNextWindowCollapsed(ctx, false)' to prevent double-clicking the title bar from shading/collapsing the window into an unresponsive state in ReaImGui's .ini file. Automatically purges legacy pre-v2 physical window coordinates from reaper-extstate.ini and removes obsolete temporary files on startup. - Single-Pass Startup Optimization & Non-Blocking Version Detection: Eliminated redundant 3x full-project MIDI scans on Frame 1, added fast-path Type-15 text event checks before take reconciliation, and replaced synchronous 'reaper.ExecProcess(git ...)' at startup with pure-Lua .git/HEAD inspection. - Custom & Navigation Rehearsal Mark Drag-and-Drop Fix: Custom Markers and Navigation Marks (e.g. 'D.C.', 'D.C. al Fine') permanently retain their name across moves, with dynamic badge hitboxes and grid-snapped dragging. - Inline Double-Click Renaming & Auto-Sequence Exclusion: Double-clicking any Rehearsal Mark on the score canvas (or using '✏ Rename Mark' in the right-click menu / Tools Drawer) opens an inline rename box. Renaming any mark locks it as a Custom Marker and automatically excludes it from the A, B, C... / 1, 2, 3... counting sequence. - Custom Marker Shortcut ('Ctrl+M') During Live Playback & Stopped: Added configurable shortcut 'Add Custom Rehearsal Marker' (default: Ctrl+M) that places sequential default markers ('Marker 1', 'Marker 2', 'Marker 3'...) both when stopped (at Edit Cursor) and live during Playback/Recording at the exact Playhead position snapped to the active Notation Grid. - Track Header 'REC' Pill Badge Alignment & Sizing Fix: Crisp vector circle ('ImGui_DrawList_AddCircleFilled') and dynamically sized red pill background around 'REC' with automatic track title truncation. - 'Snap to Grid' Option for Notes Outside Tick Range: Added '🧲 Snap to Grid' ('snap', now default) alongside 'Keep natural', 'Delete outliers', and 'Move to Voice 16' under 'Notes outside tolerance:' in the Record Modal. - Live & Post-Record Auto-Quantize Engine: Real-time non-destructive auto-quantize preview on the ScoreCanvas during MIDI recording, keyboard bounce elimination (<15 ticks), same-pitch overlap trimming, and clean take commit upon stopping. - Bidirectional REAPER Track Arming & MIDI Input Selector: Arm/disarm any REAPER track directly from the right-click Record Modal with automatic MIDI Overdub (I_RECMODE = 7), input monitoring, and hardware/virtual MIDI input device & channel selection. - Filter Irregular Notes Feature: Dedicated modal dialog under Tools Drawer to detect and isolate unquantized/humanized recorded MIDI notes with adjustable tolerance (0-50 ticks), triplet detection, yellow score canvas highlight preview, and regular note ghosting. - Polyphonic Rest Consolidation & Gould Compliance: Centered shared rests for simultaneous rests across voices, inactive voice rest suppression, and strict cross-voice note collision prevention. - Multi-Monitor Window Position & Maximization Persistence: Saves and restores window coordinates, dimensions, monitor target, and maximization state across sessions with HiDPI scaling support. ]]> https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/reaper_native_notator.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/LICENSE https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/README.md https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/bin/notator_timer_x64.dll https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/constants.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/state.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/version.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/chord_item.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/dynamic.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/dynamic_text.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/fermata.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/glissando_mark.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/hairpin.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/item.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/note.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/octave_line.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/pedal_mark.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/portamento_mark.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/rehearsal_mark.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/tempo_marker.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/text_item.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/classes/track.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/input/keyboard_handler.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/input/mouse_handler.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/canvas_context_menus.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/canvas_decorations.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/canvas_pedal_renderer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/engraver.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/font_manager.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/score_canvas.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/rendering/system_engraver.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/audio_preview.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/clipboard_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/divisio_vocum_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/dynamic_text_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/dynamics_engine.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/fermata_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/filter_notes_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/frame_timer_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/glissando_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/hairpin_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/json_helper.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/key_signature_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/midi_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/musicxml_export_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/musicxml_import_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/octave_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/path_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/pattern_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/pedal_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/portamento_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/quantize_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/reaticulate_parser.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/record_quantize_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/rehearsal_mark_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/repeat_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/scale_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/selection_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/shortcut_manager.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/slur_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/tempo_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/services/text_item_service.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/articulations_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/bank_picker_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/bottom_bar.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/clef_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/divisio_vocum_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/dynamics_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/filter_irregular_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/help_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/key_signature_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/midi_editor_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/musicxml_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/pattern_browser.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/quantize_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/record_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/scale_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/settings_modal.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/sidebar.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/tempo_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/tools_drawer.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/top_bar.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/modules/ui/track_picker.lua https://raw.githubusercontent.com/A-intheCode/ReaperNotator/main/Bravura.otf