Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,22 @@ if(FELITRONICS_APPKIT_TESTS_WITH_JUCE)
endif()
add_test(NAME appkit_level_meter_falsify_tests COMMAND appkit_level_meter_falsify_tests)

add_executable(appkit_level_history_falsify_tests tests/LevelHistoryFalsifyTests.cpp)
target_link_libraries(appkit_level_history_falsify_tests PRIVATE
felitronics::appkit
juce::juce_audio_basics juce::juce_gui_basics
juce::juce_recommended_warning_flags)
target_compile_definitions(appkit_level_history_falsify_tests PRIVATE
JUCE_STANDALONE_APPLICATION=1
JUCE_USE_CURL=0
JUCE_WEB_BROWSER=0
JUCE_MODAL_LOOPS_PERMITTED=1)
target_compile_features(appkit_level_history_falsify_tests PRIVATE cxx_std_20)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU")
target_compile_options(appkit_level_history_falsify_tests PRIVATE -Werror)
endif()
add_test(NAME appkit_level_history_falsify_tests COMMAND appkit_level_history_falsify_tests)

add_executable(appkit_icon_button_falsify_tests tests/IconButtonFalsifyTests.cpp)
target_link_libraries(appkit_icon_button_falsify_tests PRIVATE
felitronics::appkit
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ Header-only. The CMake target adds an include path and nothing else — **the co
| `felitronics/appkit/DeviceSpec.h` | `juce_core` | The parsed "device" spec model — tube/BJT/FET/DSP/diode with counts, hybrids like `"tube:1,pnp:1"`; malformed input drops entries, never garbage. Pure data, unit-tested here. |
| `felitronics/appkit/DeviceGlyph.h` | `juce_gui_basics` | Schematic device glyphs (triode, PNP, JFET, chip, diode) + the glowing `DeviceStrip` row, per-family stroke/glow colours. Moved verbatim from OrbitCab. |
| `felitronics/appkit/Flicker.h` | `juce_core` | The shared one-pole "heater glow" shimmer kernel: two detuned sines + jitter, one-pole smoothed. Drives `DeviceStrip` (and OrbitCab's power-tube heaters) so the whole family flickers the same way. |
| `felitronics/appkit/LevelMeter.h` | `juce_audio_basics`, `juce_gui_basics` | Thin vertical dBFS peak meter (from OrbitCab): instant-attack/smooth-release ballistics + peak-hold, zoomable range (`setRange`), scale ticks/labels. Fed on the message thread — a GUI timer (~30 Hz) reads the processor's atomic per-block peak and calls `setLevel`. |
| `felitronics/appkit/LevelMeter.h` | `juce_audio_basics`, `juce_gui_basics` | Thin vertical dBFS peak meter (from OrbitCab): instant-attack/smooth-release ballistics + peak-hold, zoomable range (`setRange`), scale ticks/labels. Fed on the message thread — a GUI timer (~30 Hz) reads the processor's atomic per-block peak and calls `setLevel`. Calibrator extras: `setGreenZone`/`zone` target corridor, `setClipCeiling` warn-band, `setRefLines` fixed grid, clickable clip lamp (`setClipLatched`/`onClipClick`). |
| `felitronics/appkit/LevelHistory.h` | `juce_audio_basics`, `juce_gui_basics` | Scrolling peak-history strip (dBFS), generalized from OrbitCapture's MicHistory. `push` scrolls one column per GUI tick; visible window = `capacityTicks` / feed rate. Two overlays tint the trace: `setRefLines` (fixed dashed calibration grid, the primary surface) or `setGreenZone` (moving corridor); `setNoiseFloor` draws a room-quiet line, `setCurrentDb` a live corner readout, `setClipCeiling` full-height red bars for over-ceiling columns. `peakDb` holds ~1.5 s then decays. |
| `felitronics/appkit/CallOut.h` | `juce_gui_basics` | `launchCallOut`: a CallOutBox parented to the editor, not the desktop — a desktop call-out orphans on screen when the plugin window closes. |
| `felitronics/appkit/VersionBadge.h` | `juce_gui_basics` | The clickable "vX.Y.Z / format" corner badge + update popover (brand mark, full build stamp with GitHub links, opt-in "Check for updates"). Fronts the product's `UpdateChecker` adapter; identity/build-stamp/dependency-line in its `Config`. |
| `felitronics/appkit/PerfBadge.h` | `juce_gui_basics` | The clickable "latency · CPU%" badge + live per-stage DSP-load popover; the product's stage rows (label + colour) are `Config` data, stats pushed as snapshots. |
Expand Down
Loading
Loading