Move scroll buttons to title bar, add build info status bar

- Replace broken bottom waveform scroll buttons with title bar < > buttons
- Add scrollLeft()/scrollRight() methods to WaveformDisplay
- Add status bar showing git branch, commit, dirty state, and build timestamp
- Inject git version info via CMake at configure time
- Enable COPY_PLUGIN_AFTER_BUILD
- Increase baseHeight by 20px for status bar
This commit is contained in:
Armin 2026-07-22 13:27:26 +02:00
commit 93c8c73399
5 changed files with 93 additions and 24 deletions

View file

@ -17,7 +17,7 @@ juce_add_plugin(Monoslicer
NEEDS_MIDI_OUTPUT FALSE
IS_MIDI_EFFECT FALSE
EDITOR_WANTS_KEYBOARD_FOCUS TRUE
COPY_PLUGIN_AFTER_BUILD FALSE
COPY_PLUGIN_AFTER_BUILD TRUE
VST3_CATEGORIES Instrument Sampler
)
@ -29,10 +29,54 @@ target_sources(Monoslicer PRIVATE
Source/PianoRollDisplay.cpp
)
execute_process(
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if(NOT GIT_COMMIT_HASH)
set(GIT_COMMIT_HASH "unknown")
endif()
execute_process(
COMMAND git symbolic-ref --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND git diff --quiet HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
RESULT_VARIABLE GIT_DIRTY_RESULT
)
execute_process(
COMMAND git diff --cached --quiet
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
RESULT_VARIABLE GIT_CACHED_DIRTY_RESULT
)
set(GIT_DIRTY "")
if(NOT GIT_DIRTY_RESULT EQUAL 0 OR NOT GIT_CACHED_DIRTY_RESULT EQUAL 0)
set(GIT_DIRTY "-dirty")
endif()
if(GIT_BRANCH)
set(GIT_VERSION "${GIT_BRANCH} @ ${GIT_COMMIT_HASH}${GIT_DIRTY}")
else()
set(GIT_VERSION "detached @ ${GIT_COMMIT_HASH}${GIT_DIRTY}")
endif()
target_compile_definitions(Monoslicer PUBLIC
JUCE_WEB_BROWSER=0
JUCE_USE_CURL=0
JUCE_VST3_CAN_REPLACE_VST2=0
GIT_VERSION="${GIT_VERSION}"
)
target_link_libraries(Monoslicer