├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── Builds
├── Doxyfile
├── build.sh
├── doxygen_autogen.py
├── linux
│ └── gmake
│ │ ├── Makefile
│ │ ├── kmeter_standalone_stereo.make
│ │ ├── kmeter_standalone_surround.make
│ │ ├── kmeter_vst2_stereo.make
│ │ └── kmeter_vst2_surround.make
├── premake5.lua
├── render_templates.bat
├── render_templates.sh
├── settings.template
└── windows
│ └── vs2017
│ ├── kmeter.sln
│ ├── kmeter_standalone_stereo.vcxproj
│ ├── kmeter_standalone_stereo.vcxproj.filters
│ ├── kmeter_standalone_surround.vcxproj
│ ├── kmeter_standalone_surround.vcxproj.filters
│ ├── kmeter_vst2_stereo.vcxproj
│ ├── kmeter_vst2_stereo.vcxproj.filters
│ ├── kmeter_vst2_surround.vcxproj
│ ├── kmeter_vst2_surround.vcxproj.filters
│ ├── kmeter_vst3_stereo.vcxproj
│ ├── kmeter_vst3_stereo.vcxproj.filters
│ ├── kmeter_vst3_surround.vcxproj
│ └── kmeter_vst3_surround.vcxproj.filters
├── CODE_OF_CONDUCT.markdown
├── JuceLibraryCode
├── AppConfig.h
├── JuceHeader.h
├── ReadMe.txt
├── include_juce_audio_basics.cpp
├── include_juce_audio_basics.mm
├── include_juce_audio_devices.cpp
├── include_juce_audio_devices.mm
├── include_juce_audio_formats.cpp
├── include_juce_audio_formats.mm
├── include_juce_audio_plugin_client_AAX.cpp
├── include_juce_audio_plugin_client_AAX.mm
├── include_juce_audio_plugin_client_AU.r
├── include_juce_audio_plugin_client_AU_1.mm
├── include_juce_audio_plugin_client_AU_2.mm
├── include_juce_audio_plugin_client_AUv3.mm
├── include_juce_audio_plugin_client_RTAS.r
├── include_juce_audio_plugin_client_RTAS_1.cpp
├── include_juce_audio_plugin_client_RTAS_2.cpp
├── include_juce_audio_plugin_client_RTAS_3.cpp
├── include_juce_audio_plugin_client_RTAS_4.cpp
├── include_juce_audio_plugin_client_RTAS_utils.cpp
├── include_juce_audio_plugin_client_RTAS_utils.mm
├── include_juce_audio_plugin_client_Standalone.cpp
├── include_juce_audio_plugin_client_Unity.cpp
├── include_juce_audio_plugin_client_VST2.cpp
├── include_juce_audio_plugin_client_VST3.cpp
├── include_juce_audio_plugin_client_VST_utils.mm
├── include_juce_audio_plugin_client_utils.cpp
├── include_juce_audio_processors.cpp
├── include_juce_audio_processors.mm
├── include_juce_audio_utils.cpp
├── include_juce_audio_utils.mm
├── include_juce_core.cpp
├── include_juce_core.mm
├── include_juce_cryptography.cpp
├── include_juce_cryptography.mm
├── include_juce_data_structures.cpp
├── include_juce_data_structures.mm
├── include_juce_events.cpp
├── include_juce_events.mm
├── include_juce_graphics.cpp
├── include_juce_graphics.mm
├── include_juce_gui_basics.cpp
├── include_juce_gui_basics.mm
├── include_juce_gui_extra.cpp
├── include_juce_gui_extra.mm
├── include_juce_video.cpp
└── include_juce_video.mm
├── K-Meter.jucer
├── LICENSE
├── README.markdown
├── Source
├── .ackrc
├── .astylerc
├── audio_file_player.cpp
├── audio_file_player.h
├── average_level_filtered.cpp
├── average_level_filtered.h
├── filter_design
│ ├── filter_design_itu.R
│ ├── filter_design_itu.pdf
│ ├── filter_design_rms.R
│ └── filter_design_rms.pdf
├── format_code.bat
├── format_code.sh
├── frut
│ ├── .astylerc
│ ├── .sublimelinterrc
│ ├── FrutHeader.h
│ ├── amalgamated
│ │ ├── include_frut_audio.cpp
│ │ ├── include_frut_audio.h
│ │ ├── include_frut_dsp.cpp
│ │ ├── include_frut_dsp.h
│ │ ├── include_frut_math.cpp
│ │ ├── include_frut_math.h
│ │ ├── include_frut_parameters.cpp
│ │ ├── include_frut_parameters.h
│ │ ├── include_frut_skin.cpp
│ │ ├── include_frut_skin.h
│ │ ├── include_frut_widgets.cpp
│ │ └── include_frut_widgets.h
│ ├── audio
│ │ ├── buffer_position.cpp
│ │ ├── buffer_position.h
│ │ ├── ring_buffer.cpp
│ │ └── ring_buffer.h
│ ├── dsp
│ │ ├── biquad_filter.cpp
│ │ ├── biquad_filter.h
│ │ ├── dither.cpp
│ │ ├── dither.h
│ │ ├── fftw_runner.cpp
│ │ ├── fftw_runner.h
│ │ ├── filter_chebyshev.cpp
│ │ ├── filter_chebyshev.h
│ │ ├── filter_chebyshev_stage.cpp
│ │ ├── filter_chebyshev_stage.h
│ │ ├── fir_filter_box.cpp
│ │ ├── fir_filter_box.h
│ │ ├── iir_filter_box.cpp
│ │ ├── iir_filter_box.h
│ │ ├── rate_converter.cpp
│ │ ├── rate_converter.h
│ │ ├── true_peak_meter.cpp
│ │ └── true_peak_meter.h
│ ├── format_code.bat
│ ├── format_code.sh
│ ├── jinja
│ │ ├── copy_vst.macros
│ │ ├── copy_vst.template
│ │ ├── finalise_binaries.macros
│ │ ├── finalise_binaries.template
│ │ ├── package_releases.macros
│ │ ├── package_releases.template
│ │ ├── premake5.macros
│ │ ├── premake5.template
│ │ ├── render_templates.py
│ │ └── settings.template
│ ├── lint.sh
│ ├── math
│ │ ├── averager.cpp
│ │ ├── averager.h
│ │ └── simple_math.h
│ ├── parameters
│ │ ├── juggler.cpp
│ │ ├── juggler.h
│ │ ├── par_boolean.cpp
│ │ ├── par_boolean.h
│ │ ├── par_combined.cpp
│ │ ├── par_combined.h
│ │ ├── par_continuous.cpp
│ │ ├── par_continuous.h
│ │ ├── par_string.cpp
│ │ ├── par_string.h
│ │ ├── par_switch.cpp
│ │ ├── par_switch.h
│ │ ├── parameter.cpp
│ │ └── parameter.h
│ ├── skin
│ │ ├── look_and_feel_v3.cpp
│ │ ├── look_and_feel_v3.h
│ │ ├── skin.cpp
│ │ └── skin.h
│ └── widgets
│ │ ├── channel_slider.cpp
│ │ ├── channel_slider.h
│ │ ├── meter_bar.cpp
│ │ ├── meter_bar.h
│ │ ├── meter_segment.cpp
│ │ ├── meter_segment.h
│ │ ├── meter_segment_continuous.cpp
│ │ ├── meter_segment_continuous.h
│ │ ├── meter_segment_discrete.cpp
│ │ ├── meter_segment_discrete.h
│ │ ├── needle_meter.cpp
│ │ ├── needle_meter.h
│ │ ├── orientation.h
│ │ ├── resources
│ │ ├── COPYRIGHT
│ │ ├── button_gpl_down.svg
│ │ ├── button_gpl_normal.svg
│ │ ├── convert_resources.sh
│ │ ├── output
│ │ │ ├── button_gpl_down.png
│ │ │ └── button_gpl_normal.png
│ │ ├── resources.cpp
│ │ └── resources.h
│ │ ├── signal_led.cpp
│ │ ├── signal_led.h
│ │ ├── slider.h
│ │ ├── slider_combined.cpp
│ │ ├── slider_combined.h
│ │ ├── slider_continuous.cpp
│ │ ├── slider_continuous.h
│ │ ├── slider_switch.cpp
│ │ ├── slider_switch.h
│ │ ├── slider_switch_linear_bar.cpp
│ │ ├── slider_switch_linear_bar.h
│ │ ├── state_label.cpp
│ │ ├── state_label.h
│ │ ├── window_about_content.cpp
│ │ ├── window_about_content.h
│ │ ├── window_settings_content.cpp
│ │ ├── window_settings_content.h
│ │ ├── window_skin_content.cpp
│ │ ├── window_skin_content.h
│ │ ├── window_validation_content.cpp
│ │ └── window_validation_content.h
├── kmeter.cpp
├── kmeter.h
├── lint.sh
├── meter_ballistics.cpp
├── meter_ballistics.h
├── meter_bar.cpp
├── meter_bar.h
├── overflow_meter.cpp
├── overflow_meter.h
├── peak_label.cpp
├── peak_label.h
├── plugin_editor.cpp
├── plugin_editor.h
├── plugin_parameters.cpp
├── plugin_parameters.h
├── plugin_processor.cpp
├── plugin_processor.h
├── skin.cpp
├── skin.h
├── window_validation_content.cpp
└── window_validation_content.h
├── bin
├── copy_vst.bat
├── final
│ ├── README
│ ├── kmeter
│ └── kmeter.pdf
├── finalise_binaries.sh
├── package_releases.sh
├── standalone
│ ├── kmeter.pdf
│ └── kmeter
│ │ ├── doc
│ │ ├── CC-BY-SA-4.0
│ │ ├── CONTRIBUTORS
│ │ ├── HISTORY
│ │ └── LICENSE
│ │ ├── fftw
│ │ ├── COPYRIGHT
│ │ ├── LICENSE
│ │ ├── libfftw3f-3.dll
│ │ └── libfftw3f-3_x64.dll
│ │ └── skins
├── vst2
│ ├── kmeter
│ └── kmeter.pdf
└── vst3
│ ├── kmeter
│ └── kmeter.pdf
├── doc
├── .gitignore
├── CC-BY-SA-4.0
├── CONTRIBUTORS
├── HISTORY
├── LICENSE
├── TODO
├── include
│ ├── cc-by-sa-4.0.tex
│ ├── gpl_v3.tex
│ ├── hyphenation.sty
│ ├── images
│ │ ├── VST_Compatible_Logo_Steinberg_negative.png
│ │ ├── button_about_off.png
│ │ ├── button_about_on.png
│ │ ├── button_averaging_selection.png
│ │ ├── button_dim_off.png
│ │ ├── button_dim_on.png
│ │ ├── button_discrete_off.png
│ │ ├── button_discrete_on.png
│ │ ├── button_expand_meter_off.png
│ │ ├── button_expand_meter_on.png
│ │ ├── button_flip_off.png
│ │ ├── button_flip_on.png
│ │ ├── button_gpl_off.png
│ │ ├── button_gpl_on.png
│ │ ├── button_meter_selection.png
│ │ ├── button_mono_off.png
│ │ ├── button_mono_on.png
│ │ ├── button_mute_off.png
│ │ ├── button_mute_on.png
│ │ ├── button_peak_hold_off.png
│ │ ├── button_peak_hold_on.png
│ │ ├── button_peak_meter_off.png
│ │ ├── button_peak_meter_on.png
│ │ ├── button_reset_off.png
│ │ ├── button_reset_on.png
│ │ ├── button_skin_off.png
│ │ ├── button_skin_on.png
│ │ ├── button_validate_off.png
│ │ ├── button_validate_on.png
│ │ ├── cc-by-sa.png
│ │ ├── dialog_validation.png
│ │ ├── fft_192khz-freq-fx_path.png
│ │ ├── fft_192khz-freq-itu_r.png
│ │ ├── fft_192khz-freq-rms.png
│ │ ├── fft_192khz-freq_zoomed-itu_r.png
│ │ ├── fft_192khz-freq_zoomed-rms.png
│ │ ├── fft_192khz-phase-fx_path.png
│ │ ├── fft_192khz-phase-itu_r.png
│ │ ├── fft_192khz-phase-rms.png
│ │ ├── kmeter.png
│ │ ├── kmeter_normal_scale.png
│ │ ├── level_meter_itu_continuous.png
│ │ ├── level_meter_rms_discrete.png
│ │ ├── maximum_peak_clipped.png
│ │ ├── maximum_peak_normal.png
│ │ ├── maximum_true_peak_clipped.png
│ │ ├── maximum_true_peak_normal.png
│ │ ├── overload_counter_clipped.png
│ │ ├── overload_counter_normal.png
│ │ ├── phase_correlation_meter.png
│ │ └── stereo_meter.png
│ └── settings.sty
├── kmeter.pdf
├── kmeter.tex
├── licensing
│ ├── vst_id_registration_1.pdf
│ └── vst_id_registration_2.pdf
└── specifications
│ ├── ITU-R BS.1770-1 (Filters).pdf
│ └── ITU-R BS.1770.txt
├── libraries
├── fftw
├── fftw-3.3.5-dll32.zip
├── fftw-3.3.5-dll64.zip
├── fftw-3.3.5.tar.gz
├── juce
├── juce_5.4.7.zip
├── vst2
└── vst3
├── skins
├── Default.skin
├── Default
│ ├── Default.svg
│ ├── LICENSE
│ ├── backgrounds
│ │ ├── itu
│ │ │ ├── background_itu_stereo_no_peaks.png
│ │ │ ├── background_itu_stereo_peaks.png
│ │ │ ├── background_itu_surround_no_peaks.png
│ │ │ ├── background_itu_surround_peaks.png
│ │ │ ├── graduation_itu_k12.png
│ │ │ ├── graduation_itu_k12_expanded.png
│ │ │ ├── graduation_itu_k14.png
│ │ │ ├── graduation_itu_k14_expanded.png
│ │ │ ├── graduation_itu_k20.png
│ │ │ ├── graduation_itu_k20_expanded.png
│ │ │ ├── graduation_itu_normal.png
│ │ │ └── graduation_itu_normal_expanded.png
│ │ └── rms
│ │ │ ├── background_rms_stereo_no_peaks.png
│ │ │ ├── background_rms_stereo_peaks.png
│ │ │ ├── background_rms_surround_no_peaks.png
│ │ │ ├── background_rms_surround_peaks.png
│ │ │ ├── graduation_rms_k12.png
│ │ │ ├── graduation_rms_k12_expanded.png
│ │ │ ├── graduation_rms_k14.png
│ │ │ ├── graduation_rms_k14_expanded.png
│ │ │ ├── graduation_rms_k20.png
│ │ │ ├── graduation_rms_k20_expanded.png
│ │ │ ├── graduation_rms_normal.png
│ │ │ └── graduation_rms_normal_expanded.png
│ ├── buttons
│ │ ├── button_about_off.png
│ │ ├── button_about_on.png
│ │ ├── button_about_over.png
│ │ ├── button_dim_off.png
│ │ ├── button_dim_on.png
│ │ ├── button_dim_over.png
│ │ ├── button_discrete_off.png
│ │ ├── button_discrete_on.png
│ │ ├── button_discrete_over.png
│ │ ├── button_expand_off.png
│ │ ├── button_expand_on.png
│ │ ├── button_expand_over.png
│ │ ├── button_flip_off.png
│ │ ├── button_flip_on.png
│ │ ├── button_flip_over.png
│ │ ├── button_hold_off.png
│ │ ├── button_hold_on.png
│ │ ├── button_hold_over.png
│ │ ├── button_itu_off.png
│ │ ├── button_itu_on.png
│ │ ├── button_itu_over.png
│ │ ├── button_k12_off.png
│ │ ├── button_k12_on.png
│ │ ├── button_k12_over.png
│ │ ├── button_k14_off.png
│ │ ├── button_k14_on.png
│ │ ├── button_k14_over.png
│ │ ├── button_k20_off.png
│ │ ├── button_k20_on.png
│ │ ├── button_k20_over.png
│ │ ├── button_mono_off.png
│ │ ├── button_mono_on.png
│ │ ├── button_mono_over.png
│ │ ├── button_mute_off.png
│ │ ├── button_mute_on.png
│ │ ├── button_mute_over.png
│ │ ├── button_normal_off.png
│ │ ├── button_normal_on.png
│ │ ├── button_normal_over.png
│ │ ├── button_peaks_off.png
│ │ ├── button_peaks_on.png
│ │ ├── button_peaks_over.png
│ │ ├── button_reset_off.png
│ │ ├── button_reset_on.png
│ │ ├── button_reset_over.png
│ │ ├── button_rms_off.png
│ │ ├── button_rms_on.png
│ │ ├── button_rms_over.png
│ │ ├── button_skin_off.png
│ │ ├── button_skin_on.png
│ │ ├── button_skin_over.png
│ │ ├── button_validate_off.png
│ │ ├── button_validate_on.png
│ │ └── button_validate_over.png
│ ├── labels
│ │ ├── label_debug.png
│ │ ├── label_over_off.png
│ │ ├── label_over_on.png
│ │ ├── label_peak_off.png
│ │ ├── label_peak_on.png
│ │ ├── label_true_peak_off.png
│ │ └── label_true_peak_on.png
│ └── meters
│ │ ├── meter_kmeter_itu_k12.png
│ │ ├── meter_kmeter_itu_k12_expanded.png
│ │ ├── meter_kmeter_itu_k14.png
│ │ ├── meter_kmeter_itu_k14_expanded.png
│ │ ├── meter_kmeter_itu_k20.png
│ │ ├── meter_kmeter_itu_k20_expanded.png
│ │ ├── meter_kmeter_itu_normal.png
│ │ ├── meter_kmeter_itu_normal_expanded.png
│ │ ├── meter_kmeter_rms_k12.png
│ │ ├── meter_kmeter_rms_k12_expanded.png
│ │ ├── meter_kmeter_rms_k14.png
│ │ ├── meter_kmeter_rms_k14_expanded.png
│ │ ├── meter_kmeter_rms_k20.png
│ │ ├── meter_kmeter_rms_k20_expanded.png
│ │ ├── meter_kmeter_rms_normal.png
│ │ ├── meter_kmeter_rms_normal_expanded.png
│ │ ├── meter_phase_correlation.png
│ │ ├── meter_phase_correlation_needle.png
│ │ ├── meter_stereo.png
│ │ └── meter_stereo_needle.png
├── Slim Buttons.skin
├── Slim Buttons.zip
├── Slim Buttons
│ ├── LICENSE
│ ├── Slim Buttons.svg
│ ├── backgrounds
│ │ ├── itu
│ │ │ ├── background_itu_stereo_no_peaks.png
│ │ │ ├── background_itu_stereo_peaks.png
│ │ │ ├── background_itu_surround_no_peaks.png
│ │ │ ├── background_itu_surround_peaks.png
│ │ │ ├── graduation_itu_k12.png
│ │ │ ├── graduation_itu_k12_expanded.png
│ │ │ ├── graduation_itu_k14.png
│ │ │ ├── graduation_itu_k14_expanded.png
│ │ │ ├── graduation_itu_k20.png
│ │ │ ├── graduation_itu_k20_expanded.png
│ │ │ ├── graduation_itu_normal.png
│ │ │ └── graduation_itu_normal_expanded.png
│ │ └── rms
│ │ │ ├── background_rms_stereo_no_peaks.png
│ │ │ ├── background_rms_stereo_peaks.png
│ │ │ ├── background_rms_surround_no_peaks.png
│ │ │ ├── background_rms_surround_peaks.png
│ │ │ ├── graduation_rms_k12.png
│ │ │ ├── graduation_rms_k12_expanded.png
│ │ │ ├── graduation_rms_k14.png
│ │ │ ├── graduation_rms_k14_expanded.png
│ │ │ ├── graduation_rms_k20.png
│ │ │ ├── graduation_rms_k20_expanded.png
│ │ │ ├── graduation_rms_normal.png
│ │ │ └── graduation_rms_normal_expanded.png
│ ├── buttons
│ │ ├── button_about_off.png
│ │ ├── button_about_on.png
│ │ ├── button_about_over.png
│ │ ├── button_dim_off.png
│ │ ├── button_dim_on.png
│ │ ├── button_dim_over.png
│ │ ├── button_discrete_off.png
│ │ ├── button_discrete_on.png
│ │ ├── button_discrete_over.png
│ │ ├── button_expand_off.png
│ │ ├── button_expand_on.png
│ │ ├── button_expand_over.png
│ │ ├── button_flip_off.png
│ │ ├── button_flip_on.png
│ │ ├── button_flip_over.png
│ │ ├── button_hold_off.png
│ │ ├── button_hold_on.png
│ │ ├── button_hold_over.png
│ │ ├── button_itu_off.png
│ │ ├── button_itu_on.png
│ │ ├── button_itu_over.png
│ │ ├── button_k12_off.png
│ │ ├── button_k12_on.png
│ │ ├── button_k12_over.png
│ │ ├── button_k14_off.png
│ │ ├── button_k14_on.png
│ │ ├── button_k14_over.png
│ │ ├── button_k20_off.png
│ │ ├── button_k20_on.png
│ │ ├── button_k20_over.png
│ │ ├── button_mono_off.png
│ │ ├── button_mono_on.png
│ │ ├── button_mono_over.png
│ │ ├── button_mute_off.png
│ │ ├── button_mute_on.png
│ │ ├── button_mute_over.png
│ │ ├── button_normal_off.png
│ │ ├── button_normal_on.png
│ │ ├── button_normal_over.png
│ │ ├── button_peaks_off.png
│ │ ├── button_peaks_on.png
│ │ ├── button_peaks_over.png
│ │ ├── button_reset_off.png
│ │ ├── button_reset_on.png
│ │ ├── button_reset_over.png
│ │ ├── button_rms_off.png
│ │ ├── button_rms_on.png
│ │ ├── button_rms_over.png
│ │ ├── button_skin_off.png
│ │ ├── button_skin_on.png
│ │ ├── button_skin_over.png
│ │ ├── button_validate_off.png
│ │ ├── button_validate_on.png
│ │ └── button_validate_over.png
│ ├── labels
│ │ ├── label_debug.png
│ │ ├── label_over_off.png
│ │ ├── label_over_on.png
│ │ ├── label_peak_off.png
│ │ ├── label_peak_on.png
│ │ ├── label_true_peak_off.png
│ │ └── label_true_peak_on.png
│ └── meters
│ │ ├── meter_kmeter_itu_k12.png
│ │ ├── meter_kmeter_itu_k12_expanded.png
│ │ ├── meter_kmeter_itu_k14.png
│ │ ├── meter_kmeter_itu_k14_expanded.png
│ │ ├── meter_kmeter_itu_k20.png
│ │ ├── meter_kmeter_itu_k20_expanded.png
│ │ ├── meter_kmeter_itu_normal.png
│ │ ├── meter_kmeter_itu_normal_expanded.png
│ │ ├── meter_kmeter_rms_k12.png
│ │ ├── meter_kmeter_rms_k12_expanded.png
│ │ ├── meter_kmeter_rms_k14.png
│ │ ├── meter_kmeter_rms_k14_expanded.png
│ │ ├── meter_kmeter_rms_k20.png
│ │ ├── meter_kmeter_rms_k20_expanded.png
│ │ ├── meter_kmeter_rms_normal.png
│ │ ├── meter_kmeter_rms_normal_expanded.png
│ │ ├── meter_phase_correlation.png
│ │ ├── meter_phase_correlation_needle.png
│ │ ├── meter_stereo.png
│ │ └── meter_stereo_needle.png
└── include
│ └── dtd
│ └── kmeter-skin.dtd
└── validation
├── .gitignore
├── R-REP-BS.2217-1
├── Ardour R-REP-BS.2217-1
│ └── Ardour R-REP-BS.2217-1.ardour
└── Reaper R-REP-BS.2217-1.RPP
├── ebu_tech_3341.pdf
├── itu-r_bs2217.pdf
├── meter_ballistics.flac
├── meter_ballistics.pdf
├── meter_ballistics.py
├── new
├── kmeter_sine.flac
├── true_peak_1023.flac
└── true_peak_1024.flac
├── open_document
├── ebu_tech_3341.odt
├── itu-r_bs2217.odt
├── meter_ballistics.odt
├── overflow.odt
├── peak_meter.odt
├── phase_correlation_meter.odt
├── pink_noise_bandlimited.odt
├── rms_sweeps.odt
└── stereo_meter.odt
├── overflow.flac
├── overflow.pdf
├── peak_meter.flac
├── peak_meter.pdf
├── phase_correlation_meter.R
├── phase_correlation_meter.flac
├── phase_correlation_meter.pdf
├── pink_noise_bandlimited.flac
├── pink_noise_bandlimited.pdf
├── rms_sweeps.flac
├── rms_sweeps.pdf
├── stereo_meter.flac
└── stereo_meter.pdf
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: 'Bug: '
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | ### Describe the bug
11 |
12 | A *clear and concise* description of what the bug is.
13 |
14 |
15 | ### Steps to reproduce
16 |
17 | List *all* steps to reproduce the behavior:
18 |
19 | 1. [ start Reaper ]
20 | 2. [ create a new song ]
21 | 3. [ open the mixer ]
22 | 4. [ add a stereo track ]
23 | 5. [ add *K-Meter Stereo* to the track's first plug-in slot ]
24 | 6. [ see error ... ]
25 |
26 |
27 | ### Expected behavior
28 |
29 | A *clear and concise* description of what you expected to happen.
30 |
31 |
32 | ### Screenshots
33 |
34 | If applicable, add screenshots to help explain your problem.
35 |
36 |
37 | ### Environment (please complete the following information)
38 |
39 | - OS: [ Windows 10 (64-bit), Linux AV v2020.4.10 (32-bit) ]
40 | - DAW: [ Reaper v6.0.8 (32-bit), Ardour v5.12.0 (32-bit) ]
41 | - Plug-in: [ K-Meter v2.8.1 VST2 (64-bit), K-Meter v2.8.1 stand-alone (64-bit) ]
42 |
43 | Did you compile K-Meter yourself? [no]
44 |
45 |
46 | ### Tool set (if you compiled the plug-in yourself)
47 |
48 | You only need to add the tools you actually used:
49 |
50 | - Build automation: [ premake v5.0.0 alpha14 ]
51 | - Compiler: [ Visual Studio 2017, Clang v6.0.0, gcc Ubuntu v7.5.0 ]
52 | - JUCE: [ v5.4.7 ]
53 | - SDK: [ VST2 2.4 (from SDK v3.6.10), VST3 3.6.14, stand-alone ]
54 | - ...
55 |
56 |
57 | ### Additional context
58 |
59 | Add any other context about the problem here.
60 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: 'Feature request: '
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | ### Is your feature request related to a problem? If so, please describe.
11 |
12 | A *clear and concise* description of what the problem is. (I'm always frustrated when ...)
13 |
14 |
15 | ### Describe the solution you'd like
16 |
17 | A *clear and concise* description of what you want to happen.
18 |
19 |
20 | ### Describe alternatives you've considered
21 |
22 | A *clear and concise* description of any alternative solutions or features you've considered.
23 |
24 |
25 | ### Additional context
26 |
27 | Add any other context or screenshots about the feature request here.
28 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | .*~
3 | *.db
4 | *.log
5 | *.ncb
6 | *.pdb
7 | *.sdf
8 | *.suo
9 | *.vcproj.*.user
10 | *.vcxproj.user
11 |
12 | .vs
13 | .Rhistory
14 |
15 | bin/.intermediate_*
16 |
17 | bin/standalone/K-Meter*.exe
18 | bin/standalone/kmeter_*
19 |
20 | bin/vst2/K-Meter*.dll
21 | bin/vst2/kmeter_*.so
22 |
23 | bin/vst3/K-Meter*.vst3
24 | bin/vst3/kmeter_*.so
25 |
26 | skins/default_skin.ini
27 |
28 | Source/api/
29 |
30 | final/
31 | ignore/
32 | releases/
33 |
34 | ipch/
35 | Debug/
36 | Release/
37 |
--------------------------------------------------------------------------------
/Builds/render_templates.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | @rem ---------------------------------------------------------------------------
4 | @rem
5 | @rem Squeezer
6 | @rem ========
7 | @rem Flexible general-purpose audio compressor with a touch of citrus
8 | @rem
9 | @rem Copyright (c) 2013-2020 Martin Zuther (http://www.mzuther.de/)
10 | @rem
11 | @rem This program is free software: you can redistribute it and/or modify
12 | @rem it under the terms of the GNU General Public License as published by
13 | @rem the Free Software Foundation, either version 3 of the License, or
14 | @rem (at your option) any later version.
15 | @rem
16 | @rem This program is distributed in the hope that it will be useful,
17 | @rem but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | @rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | @rem GNU General Public License for more details.
20 | @rem
21 | @rem You should have received a copy of the GNU General Public License
22 | @rem along with this program. If not, see .
23 | @rem
24 | @rem Thank you for using free software!
25 | @rem
26 | @rem ---------------------------------------------------------------------------
27 |
28 | @echo.
29 | @echo "=== Rendering templates ==="
30 | python.exe "../Source/frut/jinja/render_templates.py"
31 |
32 |
33 | @echo.
34 | @premake5 --os=windows vs2017
35 |
36 | @echo.
37 | @premake5 --cc=clang --os=linux gmake
38 | @rem premake5 --cc=gcc --os=linux gmake
39 |
40 | @echo.
41 | @pause
42 |
--------------------------------------------------------------------------------
/Builds/render_templates.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # ----------------------------------------------------------------------------
4 | #
5 | # Squeezer
6 | # ========
7 | # Flexible general-purpose audio compressor with a touch of citrus
8 | #
9 | # Copyright (c) 2013-2020 Martin Zuther (http://www.mzuther.de/)
10 | #
11 | # This program is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 3 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # This program is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more details.
20 | #
21 | # You should have received a copy of the GNU General Public License
22 | # along with this program. If not, see .
23 | #
24 | # Thank you for using free software!
25 | #
26 | # ----------------------------------------------------------------------------
27 |
28 | cd "$(dirname "$0")" || exit
29 |
30 | echo
31 | echo "=== Rendering templates ==="
32 | python3 "../Source/frut/jinja/render_templates.py"
33 |
34 |
35 | echo
36 | premake5 --os=windows vs2017
37 |
38 | echo
39 | premake5 --cc=clang --os=linux gmake
40 | # premake5 --cc=gcc --os=linux gmake
41 |
42 | echo
43 |
--------------------------------------------------------------------------------
/JuceLibraryCode/ReadMe.txt:
--------------------------------------------------------------------------------
1 |
2 | Important Note!!
3 | ================
4 |
5 | The purpose of this folder is to contain files that are auto-generated by the Projucer,
6 | and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
7 | the Projucer saves your project.
8 |
9 | Therefore, it's a bad idea to make any manual changes to the files in here, or to
10 | put any of your own files in here if you don't want to lose them. (Of course you may choose
11 | to add the folder's contents to your version-control system so that you can re-merge your own
12 | modifications after the Projucer has saved its changes).
13 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_basics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_devices.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_devices.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_formats.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_formats.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AAX.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AAX.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AU.r:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_AUv3.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS.r:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_1.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_2.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_3.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_4.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_RTAS_utils.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_Unity.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_VST3.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_processors.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_processors.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_utils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_audio_utils.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_core.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_core.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_cryptography.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_cryptography.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_data_structures.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_data_structures.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_events.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_events.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_graphics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_graphics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_basics.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_basics.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_extra.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_gui_extra.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_video.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/JuceLibraryCode/include_juce_video.mm:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | IMPORTANT! This file is auto-generated each time you save your
4 | project - if you alter its contents, your changes may be overwritten!
5 |
6 | */
7 |
8 | #include "AppConfig.h"
9 | #include
10 |
--------------------------------------------------------------------------------
/Source/.ackrc:
--------------------------------------------------------------------------------
1 | # ignore documentation directory
2 | --ignore-dir=api
3 |
--------------------------------------------------------------------------------
/Source/.astylerc:
--------------------------------------------------------------------------------
1 | # indent using given number of spaces
2 | --indent=spaces=4
3 |
4 | # indent C++ comments beginning in column one
5 | --indent-col1-comments
6 |
7 | # pad empty lines around header blocks ('if', 'for', 'while'...)
8 | --break-blocks
9 |
10 |
11 |
12 | # break brackets from their pre-block statements
13 | --style=break
14 |
15 | # add brackets to one line conditional statements ('if', 'for', 'while'...)
16 | --add-brackets
17 |
18 |
19 |
20 | # remove extra space padding around parentheses
21 | --unpad-paren
22 |
23 | # insert space padding after paren headers only ('if', 'for', 'while'...)
24 | --pad-header
25 |
26 | # insert space padding around operators
27 | --pad-oper
28 |
29 | # attach pointer or reference operators (* or &) to the variable name (right)
30 | --align-pointer=name
31 |
32 |
33 |
34 | # display optional information
35 | --verbose
36 |
37 | # only display changed files
38 | --formatted
39 |
40 | # force Linux-style line endings (LF)
41 | --lineend=linux
42 |
43 | # append given suffix to the original file name
44 | --suffix=.astyle~
45 |
--------------------------------------------------------------------------------
/Source/filter_design/filter_design_itu.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/Source/filter_design/filter_design_itu.pdf
--------------------------------------------------------------------------------
/Source/filter_design/filter_design_rms.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/Source/filter_design/filter_design_rms.pdf
--------------------------------------------------------------------------------
/Source/format_code.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | rem ----------------------------------------------------------------------------
4 | rem
5 | rem K-Meter
6 | rem =======
7 | rem Implementation of a K-System meter according to Bob Katz' specifications
8 | rem
9 | rem Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | rem
11 | rem This program is free software: you can redistribute it and/or modify
12 | rem it under the terms of the GNU General Public License as published by
13 | rem the Free Software Foundation, either version 3 of the License, or
14 | rem (at your option) any later version.
15 | rem
16 | rem This program is distributed in the hope that it will be useful,
17 | rem but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | rem GNU General Public License for more details.
20 | rem
21 | rem You should have received a copy of the GNU General Public License
22 | rem along with this program. If not, see .
23 | rem
24 | rem Thank you for using free software!
25 | rem
26 | rem ----------------------------------------------------------------------------
27 |
28 | @AStyle --recursive --exclude="resources" --options=./.astylerc "*.cpp" "*.h"
29 | @pause
30 |
--------------------------------------------------------------------------------
/Source/format_code.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # ----------------------------------------------------------------------------
4 | #
5 | # K-Meter
6 | # =======
7 | # Implementation of a K-System meter according to Bob Katz' specifications
8 | #
9 | # Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | #
11 | # This program is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 3 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # This program is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more details.
20 | #
21 | # You should have received a copy of the GNU General Public License
22 | # along with this program. If not, see .
23 | #
24 | # Thank you for using free software!
25 | #
26 | # ----------------------------------------------------------------------------
27 |
28 | astyle --recursive --exclude="resources" --options=./.astylerc \
29 | "*.cpp" \
30 | "*.h"
31 |
--------------------------------------------------------------------------------
/Source/frut/.astylerc:
--------------------------------------------------------------------------------
1 | ../.astylerc
--------------------------------------------------------------------------------
/Source/frut/.sublimelinterrc:
--------------------------------------------------------------------------------
1 | {
2 | "@python": 3,
3 | "linters":
4 | {
5 | "clang": {
6 | "args":
7 | [
8 | "-std=c++14",
9 | "-include",
10 | "${project}/Source/frut/FrutHeader.h"
11 | ]
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_audio.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_AUDIO_CPP
27 | #define FRUT_AMALGAMATED_AUDIO_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../audio/buffer_position.cpp"
33 | #include "../audio/ring_buffer.cpp"
34 |
35 |
36 | #endif // FRUT_AMALGAMATED_AUDIO_CPP
37 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_audio.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_AUDIO_H
27 | #define FRUT_AMALGAMATED_AUDIO_H
28 |
29 |
30 | // normal includes
31 | #include "../audio/buffer_position.h"
32 | #include "../audio/ring_buffer.h"
33 |
34 |
35 | #endif // FRUT_AMALGAMATED_AUDIO_H
36 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_dsp.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_DSP_CPP
27 | #define FRUT_AMALGAMATED_DSP_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../dsp/biquad_filter.cpp"
33 | #include "../dsp/dither.cpp"
34 | #include "../dsp/fftw_runner.cpp"
35 | #include "../dsp/filter_chebyshev.cpp"
36 | #include "../dsp/filter_chebyshev_stage.cpp"
37 | #include "../dsp/fir_filter_box.cpp"
38 | #include "../dsp/iir_filter_box.cpp"
39 | #include "../dsp/rate_converter.cpp"
40 | #include "../dsp/true_peak_meter.cpp"
41 |
42 |
43 | #endif // FRUT_AMALGAMATED_DSP_CPP
44 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_dsp.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_DSP_H
27 | #define FRUT_AMALGAMATED_DSP_H
28 |
29 |
30 | // special includes
31 | #include
32 | #include
33 |
34 | #if FRUT_DSP_USE_FFTW
35 | #include "fftw/api/fftw3.h"
36 | #endif // FRUT_DSP_USE_FFTW
37 |
38 | // normal includes
39 | #include "../dsp/biquad_filter.h"
40 | #include "../dsp/dither.h"
41 | #include "../dsp/fftw_runner.h"
42 | #include "../dsp/filter_chebyshev_stage.h"
43 | #include "../dsp/fir_filter_box.h"
44 | #include "../dsp/iir_filter_box.h"
45 | #include "../dsp/rate_converter.h"
46 | #include "../dsp/true_peak_meter.h"
47 |
48 | // post includes
49 | #include "../dsp/filter_chebyshev.h"
50 |
51 |
52 | #endif // FRUT_AMALGAMATED_DSP_H
53 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_math.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_MATH_CPP
27 | #define FRUT_AMALGAMATED_MATH_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../math/averager.cpp"
33 |
34 |
35 | #endif // FRUT_AMALGAMATED_MATH_CPP
36 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_math.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_MATH_H
27 | #define FRUT_AMALGAMATED_MATH_H
28 |
29 |
30 | // normal includes
31 | #include "../math/averager.h"
32 | #include "../math/simple_math.h"
33 |
34 |
35 | #endif // FRUT_AMALGAMATED_MATH_H
36 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_parameters.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_PARAMETERS_CPP
27 | #define FRUT_AMALGAMATED_PARAMETERS_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../parameters/juggler.cpp"
33 | #include "../parameters/par_boolean.cpp"
34 | #include "../parameters/par_combined.cpp"
35 | #include "../parameters/par_continuous.cpp"
36 | #include "../parameters/par_string.cpp"
37 | #include "../parameters/par_switch.cpp"
38 | #include "../parameters/parameter.cpp"
39 |
40 |
41 | #endif // FRUT_AMALGAMATED_PARAMETERS_CPP
42 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_parameters.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_PARAMETERS_H
27 | #define FRUT_AMALGAMATED_PARAMETERS_H
28 |
29 |
30 | // pre includes
31 | #include "../parameters/parameter.h"
32 |
33 | // normal includes
34 | #include "../parameters/par_boolean.h"
35 | #include "../parameters/par_continuous.h"
36 | #include "../parameters/par_string.h"
37 | #include "../parameters/par_switch.h"
38 |
39 | // post includes
40 | #include "../parameters/par_combined.h"
41 | #include "../parameters/juggler.h"
42 |
43 |
44 | #endif // FRUT_AMALGAMATED_PARAMETERS_H
45 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_skin.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_SKIN_CPP
27 | #define FRUT_AMALGAMATED_SKIN_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../skin/look_and_feel_v3.cpp"
33 | #include "../skin/skin.cpp"
34 |
35 |
36 | #endif // FRUT_AMALGAMATED_SKIN_CPP
37 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_skin.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_SKIN_H
27 | #define FRUT_AMALGAMATED_SKIN_H
28 |
29 |
30 | // normal includes
31 | #include "../skin/look_and_feel_v3.h"
32 | #include "../skin/skin.h"
33 |
34 |
35 | #endif // FRUT_AMALGAMATED_SKIN_H
36 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_widgets.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_WIDGETS_CPP
27 | #define FRUT_AMALGAMATED_WIDGETS_CPP
28 |
29 |
30 | #include "../FrutHeader.h"
31 |
32 | #include "../widgets/channel_slider.cpp"
33 | #include "../widgets/meter_bar.cpp"
34 | #include "../widgets/meter_segment.cpp"
35 | #include "../widgets/meter_segment_continuous.cpp"
36 | #include "../widgets/meter_segment_discrete.cpp"
37 | #include "../widgets/needle_meter.cpp"
38 | #include "../widgets/resources/resources.cpp"
39 | #include "../widgets/signal_led.cpp"
40 | #include "../widgets/slider_combined.cpp"
41 | #include "../widgets/slider_continuous.cpp"
42 | #include "../widgets/slider_switch.cpp"
43 | #include "../widgets/slider_switch_linear_bar.cpp"
44 | #include "../widgets/state_label.cpp"
45 | #include "../widgets/window_about_content.cpp"
46 | #include "../widgets/window_settings_content.cpp"
47 | #include "../widgets/window_skin_content.cpp"
48 | #include "../widgets/window_validation_content.cpp"
49 |
50 |
51 | #endif // FRUT_AMALGAMATED_WIDGETS_CPP
52 |
--------------------------------------------------------------------------------
/Source/frut/amalgamated/include_frut_widgets.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_AMALGAMATED_WIDGETS_H
27 | #define FRUT_AMALGAMATED_WIDGETS_H
28 |
29 |
30 | // pre includes
31 | #include "../widgets/orientation.h"
32 | #include "../widgets/resources/resources.h"
33 | #include "../widgets/slider.h"
34 |
35 | // normal includes
36 | #include "../widgets/channel_slider.h"
37 | #include "../widgets/meter_segment.h"
38 | #include "../widgets/meter_segment_continuous.h"
39 | #include "../widgets/meter_segment_discrete.h"
40 | #include "../widgets/needle_meter.h"
41 | #include "../widgets/signal_led.h"
42 | #include "../widgets/slider_combined.h"
43 | #include "../widgets/slider_continuous.h"
44 | #include "../widgets/slider_switch.h"
45 | #include "../widgets/slider_switch_linear_bar.h"
46 | #include "../widgets/state_label.h"
47 | #include "../widgets/window_about_content.h"
48 | #include "../widgets/window_settings_content.h"
49 | #include "../widgets/window_skin_content.h"
50 | #include "../widgets/window_validation_content.h"
51 |
52 | // post includes
53 | #include "../widgets/meter_bar.h"
54 |
55 |
56 | #endif // FRUT_AMALGAMATED_WIDGETS_H
57 |
--------------------------------------------------------------------------------
/Source/frut/dsp/filter_chebyshev.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_DSP_FILTER_CHEBYSHEV_H
27 | #define FRUT_DSP_FILTER_CHEBYSHEV_H
28 |
29 | namespace frut
30 | {
31 | namespace dsp
32 | {
33 |
34 | class FilterChebyshev
35 | {
36 | public:
37 | FilterChebyshev(double RelativeCutoffFrequency,
38 | bool IsHighPass,
39 | double PercentRipple,
40 | int NumberOfPoles);
41 |
42 | void changeParameters(double RelativeCutoffFrequency,
43 | bool IsHighPass);
44 |
45 | void reset();
46 |
47 | double filterSample(double InputCurrent);
48 | void testAlgorithm(bool IsHighPass);
49 |
50 | private:
51 | OwnedArray FilterStages_;
52 |
53 | int NumberOfPoles_;
54 | double PercentRipple_;
55 | };
56 |
57 | }
58 | }
59 |
60 | #endif // FRUT_DSP_FILTER_CHEBYSHEV_H
61 |
--------------------------------------------------------------------------------
/Source/frut/dsp/filter_chebyshev_stage.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_DSP_FILTER_CHEBYSHEV_STAGE_H
27 | #define FRUT_DSP_FILTER_CHEBYSHEV_STAGE_H
28 |
29 | namespace frut
30 | {
31 | namespace dsp
32 | {
33 |
34 | class FilterChebyshevStage
35 | {
36 | public:
37 | FilterChebyshevStage();
38 |
39 | void changeParameters(double RelativeCutoffFrequency,
40 | bool IsHighPass,
41 | double PercentRipple,
42 | int NumberOfPoles,
43 | int PolePair);
44 |
45 | void reset();
46 | double filterSample(double InputCurrent);
47 |
48 | String testAlgorithm(double RelativeCutoffFrequency,
49 | bool IsHighPass,
50 | double PercentRipple);
51 | String getCoefficients();
52 |
53 | private:
54 | double RelativeCutoffFrequency_;
55 | bool IsHighPass_;
56 |
57 | double Coeff_A0_;
58 | double Coeff_A1_;
59 | double Coeff_A2_;
60 |
61 | double Coeff_B1_;
62 | double Coeff_B2_;
63 |
64 | double InputPrevious_1_;
65 | double InputPrevious_2_;
66 |
67 | double OutputPrevious_1_;
68 | double OutputPrevious_2_;
69 | };
70 |
71 | }
72 | }
73 |
74 | #endif // FRUT_DSP_FILTER_CHEBYSHEV_STAGE_H
75 |
--------------------------------------------------------------------------------
/Source/frut/dsp/fir_filter_box.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #if FRUT_DSP_USE_FFTW
27 |
28 | #ifndef FRUT_DSP_FIR_FILTER_BOX_H
29 | #define FRUT_DSP_FIR_FILTER_BOX_H
30 |
31 | namespace frut
32 | {
33 | namespace dsp
34 | {
35 |
36 | class FIRFilterBox :
37 | public FftwRunner
38 | {
39 | public:
40 | FIRFilterBox(const int numberOfChannels,
41 | const int fftBufferSize);
42 |
43 | virtual ~FIRFilterBox();
44 |
45 | virtual void reset();
46 | void calculateKernelWindowedSincLPF(
47 | const double relativeCutoffFrequency);
48 |
49 | private:
50 | JUCE_LEAK_DETECTOR(FIRFilterBox);
51 | };
52 |
53 | }
54 | }
55 |
56 | #endif // FRUT_DSP_FIR_FILTER_BOX_H
57 |
58 | #endif // FRUT_DSP_USE_FFTW
59 |
--------------------------------------------------------------------------------
/Source/frut/dsp/rate_converter.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #if FRUT_DSP_USE_FFTW
27 |
28 | #ifndef FRUT_DSP_RATE_CONVERTER_H
29 | #define FRUT_DSP_RATE_CONVERTER_H
30 |
31 | namespace frut
32 | {
33 | namespace dsp
34 | {
35 |
36 | class RateConverter :
37 | public frut::dsp::FIRFilterBox
38 | {
39 | public:
40 | RateConverter(
41 | const int numberOfChannels,
42 | const int originalFftBufferSize,
43 | const int upsamplingFactor);
44 |
45 | virtual ~RateConverter();
46 | virtual void reset();
47 |
48 | protected:
49 | void calculateFilterKernel();
50 | void upsample();
51 |
52 | int upsamplingFactor_;
53 | int originalFftBufferSize_;
54 |
55 | AudioBuffer sampleBufferOriginal_;
56 |
57 | private:
58 | JUCE_LEAK_DETECTOR(RateConverter);
59 | };
60 |
61 | }
62 | }
63 |
64 | #endif // FRUT_DSP_RATE_CONVERTER_H
65 |
66 | #endif // FRUT_DSP_USE_FFTW
67 |
--------------------------------------------------------------------------------
/Source/frut/dsp/true_peak_meter.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #if FRUT_DSP_USE_FFTW
27 |
28 | #ifndef FRUT_DSP_TRUE_PEAK_METER_H
29 | #define FRUT_DSP_TRUE_PEAK_METER_H
30 |
31 | namespace frut
32 | {
33 | namespace dsp
34 | {
35 |
36 | class TruePeakMeter :
37 | public frut::dsp::RateConverter
38 | {
39 | public:
40 | TruePeakMeter(const int numberOfChannels,
41 | const int originalFftBufferSize,
42 | const int upsamplingFactor);
43 |
44 | virtual ~TruePeakMeter();
45 | virtual void reset();
46 |
47 | float getLevel(const int channel);
48 |
49 | void copyFrom(const AudioBuffer &source,
50 | const int numberOfSamples);
51 |
52 | protected:
53 | void processInput();
54 |
55 | Array truePeakLevels_;
56 |
57 | private:
58 | JUCE_LEAK_DETECTOR(TruePeakMeter);
59 | };
60 |
61 | }
62 | }
63 |
64 | #endif // FRUT_DSP_TRUE_PEAK_METER_H
65 |
66 | #endif // FRUT_DSP_USE_FFTW
67 |
--------------------------------------------------------------------------------
/Source/frut/format_code.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | @rem ---------------------------------------------------------------------------
4 | @rem
5 | @rem FrutJUCE
6 | @rem ========
7 | @rem Common classes for use with the JUCE library
8 | @rem
9 | @rem Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | @rem
11 | @rem This program is free software: you can redistribute it and/or modify
12 | @rem it under the terms of the GNU General Public License as published by
13 | @rem the Free Software Foundation, either version 3 of the License, or
14 | @rem (at your option) any later version.
15 | @rem
16 | @rem This program is distributed in the hope that it will be useful,
17 | @rem but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | @rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | @rem GNU General Public License for more details.
20 | @rem
21 | @rem You should have received a copy of the GNU General Public License
22 | @rem along with this program. If not, see .
23 | @rem
24 | @rem Thank you for using free software!
25 | @rem
26 | @rem ---------------------------------------------------------------------------
27 |
28 | @AStyle --recursive --exclude="resources" --options=./.astylerc "*.cpp" "*.h"
29 | @pause
30 |
--------------------------------------------------------------------------------
/Source/frut/format_code.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # ----------------------------------------------------------------------------
4 | #
5 | # FrutJUCE
6 | # ========
7 | # Common classes for use with the JUCE library
8 | #
9 | # Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | #
11 | # This program is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 3 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # This program is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more details.
20 | #
21 | # You should have received a copy of the GNU General Public License
22 | # along with this program. If not, see .
23 | #
24 | # Thank you for using free software!
25 | #
26 | # ----------------------------------------------------------------------------
27 |
28 | astyle --recursive --exclude="resources" --options=./.astylerc \
29 | "*.cpp" \
30 | "*.h"
31 |
--------------------------------------------------------------------------------
/Source/frut/jinja/render_templates.py:
--------------------------------------------------------------------------------
1 | #! /usr/bin/python3
2 |
3 | # ----------------------------------------------------------------------------
4 | #
5 | # FrutJUCE
6 | # ========
7 | # Common classes for use with the JUCE library
8 | #
9 | # Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | #
11 | # This program is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 3 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # This program is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more details.
20 | #
21 | # You should have received a copy of the GNU General Public License
22 | # along with this program. If not, see .
23 | #
24 | # Thank you for using free software!
25 | #
26 | # ----------------------------------------------------------------------------
27 |
28 | import os
29 | import jinja2
30 |
31 | script_path = os.path.dirname(os.path.abspath(__file__))
32 | os.chdir(script_path)
33 |
34 |
35 | def cache_templates(searchpath):
36 | templateLoader = jinja2.FileSystemLoader(searchpath=searchpath)
37 | return jinja2.Environment(loader=templateLoader, trim_blocks=True)
38 |
39 |
40 | def render_template(templates, template_file, output_file):
41 | print('{:30s} --> {}'.format(template_file, output_file))
42 |
43 | with open(output_file, 'w') as f:
44 | template = templates.get_template(template_file)
45 | output = template.render()
46 |
47 | f.write(output)
48 |
49 |
50 | if __name__ == '__main__':
51 | templates = cache_templates('.')
52 |
53 | render_template(
54 | templates,
55 | 'premake5.template',
56 | '../../../Builds/premake5.lua')
57 |
58 | render_template(
59 | templates,
60 | 'copy_vst.template',
61 | '../../../bin/copy_vst.bat')
62 |
63 | render_template(
64 | templates,
65 | 'finalise_binaries.template',
66 | '../../../bin/finalise_binaries.sh')
67 |
68 | render_template(
69 | templates,
70 | 'package_releases.template',
71 | '../../../bin/package_releases.sh')
72 |
--------------------------------------------------------------------------------
/Source/frut/jinja/settings.template:
--------------------------------------------------------------------------------
1 | ../../../Builds/settings.template
--------------------------------------------------------------------------------
/Source/frut/lint.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | project_home=$(pwd)/../..
4 |
5 |
6 | function lint_file
7 | {
8 | filename="$1"
9 | dirname=$(dirname "$1")
10 | echo $filename
11 |
12 | cat $filename | /usr/bin/clang -x c++ - \
13 | -include $project_home/Source/frut/FrutHeader.h \
14 | -I $project_home/JuceLibraryCode \
15 | -I $project_home/libraries \
16 | -I $project_home/libraries/juce/modules \
17 | -I $project_home/Source \
18 | -I $project_home/Source/frut \
19 | -I $project_home/Source/frut/amalgamated \
20 | -I $dirname \
21 | -fsyntax-only \
22 | -fno-caret-diagnostics \
23 | -std=c++14 \
24 | -Wall
25 |
26 | /usr/bin/cppcheck \
27 | --template=gcc \
28 | --enable=style \
29 | --include=$project_home/Source/frut/FrutHeader.h \
30 | --inline-suppr \
31 | --language=c++ \
32 | --quiet \
33 | $filename
34 |
35 | # find error-like codetags
36 | GREP_COLORS="mt=01;31" \
37 | /bin/egrep \
38 | --colour \
39 | '\<(FIXME|BUG)\>' \
40 | $filename
41 |
42 | # find warning-like codetags
43 | GREP_COLORS="mt=01;33" \
44 | /bin/egrep \
45 | --colour \
46 | '\<(TODO|@todo)\>' \
47 | $filename
48 | }
49 |
50 |
51 | echo
52 |
53 | find . \( -iname "*.cpp" -or -iname "*.h" \) -print | sort | while read filename
54 | do
55 | lint_file $filename \;
56 | done
57 |
58 | echo
59 |
--------------------------------------------------------------------------------
/Source/frut/math/averager.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | namespace frut
27 | {
28 | namespace math
29 | {
30 |
31 | Averager::Averager(int number_of_samples, float initial_value)
32 | {
33 | jassert(number_of_samples > 2);
34 |
35 | bIsValid = false;
36 | nNumberOfSamples = number_of_samples;
37 | fNumberOfSamples = float(nNumberOfSamples);
38 | nCurrentSample = 0;
39 |
40 | for (int n = 0; n < nNumberOfSamples; ++n)
41 | {
42 | fSamples.insert(n, initial_value);
43 | }
44 |
45 | fSum = initial_value * fNumberOfSamples;
46 | }
47 |
48 |
49 | void Averager::addSample(float newSample)
50 | {
51 | fSum -= fSamples[nCurrentSample];
52 | fSamples.set(nCurrentSample, newSample);
53 | fSum += fSamples[nCurrentSample];
54 |
55 | ++nCurrentSample;
56 |
57 | if (nCurrentSample >= nNumberOfSamples)
58 | {
59 | bIsValid = true;
60 | nCurrentSample = 0;
61 | }
62 | }
63 |
64 |
65 | bool Averager::isValid()
66 | {
67 | return bIsValid;
68 | }
69 |
70 |
71 | float Averager::getSimpleMovingAverage()
72 | {
73 | return fSum / fNumberOfSamples;
74 | }
75 |
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/Source/frut/math/averager.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_MATH_AVERAGER_H
27 | #define FRUT_MATH_AVERAGER_H
28 |
29 | namespace frut
30 | {
31 | namespace math
32 | {
33 |
34 |
35 | class Averager
36 | {
37 | public:
38 | Averager(int number_of_samples, float initial_value);
39 |
40 | void addSample(float newSample);
41 | bool isValid();
42 | float getSimpleMovingAverage();
43 |
44 | private:
45 | JUCE_LEAK_DETECTOR(Averager);
46 |
47 | bool bIsValid;
48 | int nNumberOfSamples;
49 | float fNumberOfSamples;
50 | int nCurrentSample;
51 | float fSum;
52 |
53 | Array fSamples;
54 | };
55 |
56 | }
57 | }
58 |
59 | #endif // FRUT_MATH_AVERAGER_H
60 |
--------------------------------------------------------------------------------
/Source/frut/parameters/par_boolean.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_PARAMETER_PARBOOLEAN_H
27 | #define FRUT_PARAMETER_PARBOOLEAN_H
28 |
29 | namespace frut
30 | {
31 | namespace parameters
32 | {
33 |
34 | /// Plug-in parameter for storing a Boolean value.
35 | ///
36 | /// The methods of this class may be called on the audio thread, so
37 | /// they are absolutely time-critical!
38 | ///
39 | class ParBoolean : virtual public Parameter
40 | {
41 | public:
42 | ParBoolean(const String &state_true, const String &state_false);
43 |
44 | void toggleState();
45 |
46 | virtual void setDefaultRealFloat(float newRealValue, bool updateParameter) override;
47 | void setDefaultBoolean(bool newValue, bool updateParameter);
48 |
49 | virtual void setFloat(float newValue) override;
50 | virtual void setRealFloat(float newRealValue) override;
51 | void setBoolean(bool newValue);
52 |
53 | virtual float getFloatFromText(const String &newValue) override;
54 | virtual const String getTextFromFloat(float newValue) override;
55 |
56 | private:
57 | JUCE_LEAK_DETECTOR(ParBoolean);
58 |
59 | String labelTrue;
60 | String labelFalse;
61 | };
62 |
63 | }
64 | }
65 |
66 | #endif // FRUT_PARAMETER_PARBOOLEAN_H
67 |
--------------------------------------------------------------------------------
/Source/frut/parameters/par_string.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_PARAMETER_PARSTRING_H
27 | #define FRUT_PARAMETER_PARSTRING_H
28 |
29 | namespace frut
30 | {
31 | namespace parameters
32 | {
33 |
34 | /// Plug-in parameter for storing a String value.
35 | ///
36 | /// The methods of this class may be called on the audio thread, so
37 | /// they are absolutely time-critical!
38 | ///
39 | class ParString : virtual public Parameter
40 | {
41 | public:
42 | explicit ParString(const String &newValue);
43 |
44 | virtual void setDefaultRealFloat(float newRealValue, bool updateParameter) override;
45 | virtual void setFloat(float newValue) override;
46 | virtual void setRealFloat(float newRealValue) override;
47 |
48 | virtual const String getText() override;
49 | virtual void setText(const String &newValue) override;
50 |
51 | virtual float getFloatFromText(const String &newValue) override;
52 | virtual const String getTextFromFloat(float newValue) override;
53 |
54 | virtual void loadFromXml(XmlElement *xmlDocument) override;
55 | virtual void storeAsXml(XmlElement *xmlDocument) override;
56 |
57 | private:
58 | JUCE_LEAK_DETECTOR(ParString);
59 |
60 | String textValue;
61 | };
62 |
63 | }
64 | }
65 |
66 | #endif // FRUT_PARAMETER_PARSTRING_H
67 |
--------------------------------------------------------------------------------
/Source/frut/parameters/par_switch.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_PARAMETER_PARSWITCH_H
27 | #define FRUT_PARAMETER_PARSWITCH_H
28 |
29 | namespace frut
30 | {
31 | namespace parameters
32 | {
33 |
34 | /// Plug-in parameter for storing a floating-point value (filled with
35 | /// arbitrary preset values).
36 | ///
37 | /// The methods of this class may be called on the audio thread, so
38 | /// they are absolutely time-critical!
39 | ///
40 | class ParSwitch : virtual public Parameter
41 | {
42 | public:
43 | ParSwitch();
44 |
45 | void addPreset(const float newRealValue, const String &newLabel);
46 | int getNumberOfSteps();
47 | float getStepSize();
48 |
49 | float toRealFloat(float newValue);
50 | float toInternalFloat(float newRealValue);
51 |
52 | virtual void setDefaultRealFloat(float newRealValue, bool updateParameter) override;
53 |
54 | virtual void setFloat(float newValue) override;
55 | virtual void setRealFloat(float newRealValue) override;
56 |
57 | virtual float getFloatFromText(const String &newValue) override;
58 | virtual const String getTextFromFloat(float newValue) override;
59 |
60 | private:
61 | JUCE_LEAK_DETECTOR(ParSwitch);
62 |
63 | Array arrRealValues;
64 | StringArray arrLabels;
65 |
66 | float stepSize;
67 | };
68 |
69 | }
70 | }
71 |
72 | #endif // FRUT_PARAMETER_PARSWITCH_H
73 |
--------------------------------------------------------------------------------
/Source/frut/skin/look_and_feel_v3.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_SKIN_LOOK_AND_FEEL_V3_H
27 | #define FRUT_SKIN_LOOK_AND_FEEL_V3_H
28 |
29 | namespace frut
30 | {
31 | namespace skin
32 | {
33 |
34 | class LookAndFeel_Frut_V3 :
35 | public LookAndFeel_V3
36 | {
37 | public:
38 | LookAndFeel_Frut_V3() {};
39 | ~LookAndFeel_Frut_V3() {};
40 |
41 | void drawRotarySlider(Graphics &g, int x, int y, int width, int height,
42 | float sliderPosProportional, float rotaryStartAngle,
43 | float rotaryEndAngle, Slider &) override;
44 |
45 | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(LookAndFeel_Frut_V3)
46 | };
47 |
48 | }
49 | }
50 |
51 | #endif // FRUT_SKIN_LOOK_AND_FEEL_V3_H
52 |
--------------------------------------------------------------------------------
/Source/frut/widgets/channel_slider.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_CHANNEL_SLIDER_H
27 | #define FRUT_WIDGETS_CHANNEL_SLIDER_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | /// Slider component for selecting an audio channel. This component
35 | /// can either select a distinct channel or all channels at once.
36 | ///
37 | class ChannelSlider :
38 | public Slider
39 | {
40 | public:
41 | ChannelSlider();
42 |
43 | int getNumberOfChannels();
44 | void setNumberOfChannels(int numberOfChannels);
45 |
46 | double getDouble();
47 | float getFloat();
48 |
49 | virtual double getValueFromText(const String &inputString);
50 | virtual String getTextFromValue(double inputValue);
51 |
52 | protected:
53 | int numberOfChannels_;
54 |
55 | private:
56 | JUCE_LEAK_DETECTOR(ChannelSlider);
57 | };
58 |
59 | }
60 | }
61 |
62 | #endif // FRUT_WIDGETS_CHANNEL_SLIDER_H
63 |
--------------------------------------------------------------------------------
/Source/frut/widgets/needle_meter.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_NEEDLE_METER_H
27 | #define FRUT_WIDGETS_NEEDLE_METER_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | /// Meter component with a needle that moves according to the input.
35 | ///
36 | class NeedleMeter :
37 | public Component
38 | {
39 | public:
40 | NeedleMeter();
41 |
42 | void setImages(const Image &imageBackground,
43 | const Image &imageNeedle,
44 | int needleSpacingLeft,
45 | int needleSpacingTop);
46 |
47 | void setValue(float value);
48 |
49 | virtual void paint(Graphics &g);
50 | virtual void resized();
51 |
52 | protected:
53 | int needlePosition_;
54 | int needleTravelPath_;
55 | bool isVerticalMeter_;
56 |
57 | int needleSpacingLeft_;
58 | int needleSpacingTop_;
59 |
60 | Image imageBackground_;
61 | Image imageNeedle_;
62 |
63 | private:
64 | JUCE_LEAK_DETECTOR(NeedleMeter);
65 | };
66 |
67 | }
68 | }
69 |
70 | #endif // FRUT_WIDGETS_NEEDLE_METER_H
71 |
--------------------------------------------------------------------------------
/Source/frut/widgets/orientation.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_ORIENTATION_H
27 | #define FRUT_WIDGETS_ORIENTATION_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | /// Orientation for widgets.
35 | ///
36 | enum Orientation
37 | {
38 | /// horizontal widget (bottom to top)
39 | horizontal = 0,
40 |
41 | /// inverted horizontal widget (top to bottom)
42 | horizontalInverted,
43 |
44 | /// vertical widget (left to right)
45 | vertical,
46 |
47 | /// inverted vertical widget (right to left)
48 | verticalInverted
49 | };
50 |
51 | }
52 | }
53 |
54 | #endif // FRUT_WIDGETS_ORIENTATION_H
55 |
--------------------------------------------------------------------------------
/Source/frut/widgets/resources/COPYRIGHT:
--------------------------------------------------------------------------------
1 | * button_gpl_down.svg
2 | * button_gpl_normal.svg
3 |
4 | Obtained September 2014 from http://www.gnu.org/graphics/gpl-v3-logo.svg
5 | with permission:
6 |
7 | If you are releasing work under version 3 of the GNU GPL, LGPL, or
8 | AGPL, feel free to use these buttons on your site or in your
9 | application to advertise the license. These logos are immediately
10 | recognizable, and will assure your users that their freedom is being
11 | protected.
12 |
13 | (http://www.gnu.org/graphics/license-logos.html)
14 |
15 | Changed to match application colour and indicate mouse hovering and
16 | button clicks.
17 |
--------------------------------------------------------------------------------
/Source/frut/widgets/resources/convert_resources.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # ----------------------------------------------------------------------------
4 | #
5 | # FrutJUCE
6 | # ========
7 | # Common classes for use with the JUCE library
8 | #
9 | # Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
10 | #
11 | # This program is free software: you can redistribute it and/or modify
12 | # it under the terms of the GNU General Public License as published by
13 | # the Free Software Foundation, either version 3 of the License, or
14 | # (at your option) any later version.
15 | #
16 | # This program is distributed in the hope that it will be useful,
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | # GNU General Public License for more details.
20 | #
21 | # You should have received a copy of the GNU General Public License
22 | # along with this program. If not, see .
23 | #
24 | # Thank you for using free software!
25 | #
26 | # ----------------------------------------------------------------------------
27 |
28 | BINARY_BUILDER_DIR=../../../../libraries/juce/extras/binarybuilder/Builds/LinuxMakefile/build
29 | OUTPUT_DIR=.
30 |
31 | if [ ! -x "$BINARY_BUILDER_DIR/BinaryBuilder" ]; then
32 | echo
33 | echo "BinaryBuilder not found in $BINARY_BUILDER_DIR"
34 | echo
35 | exit 1
36 | fi
37 |
38 | cd $(dirname $0)
39 | "$BINARY_BUILDER_DIR/BinaryBuilder" output "$OUTPUT_DIR" resources '*.png'
40 |
41 | echo
42 | echo --------------------------------------------------------------------------------
43 | echo
44 |
45 | cat "$OUTPUT_DIR/resources.h"
46 |
47 | echo
48 | echo --------------------------------------------------------------------------------
49 | echo
50 |
--------------------------------------------------------------------------------
/Source/frut/widgets/resources/output/button_gpl_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/Source/frut/widgets/resources/output/button_gpl_down.png
--------------------------------------------------------------------------------
/Source/frut/widgets/resources/output/button_gpl_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/Source/frut/widgets/resources/output/button_gpl_normal.png
--------------------------------------------------------------------------------
/Source/frut/widgets/resources/resources.h:
--------------------------------------------------------------------------------
1 | /* (Auto-generated binary data file). */
2 |
3 | #ifndef FRUT_WIDGETS_RESOURCES_H
4 | #define FRUT_WIDGETS_RESOURCES_H
5 |
6 | namespace resources
7 | {
8 | extern const char* button_gpl_normal_png;
9 | const int button_gpl_normal_pngSize = 2521;
10 |
11 | extern const char* button_gpl_down_png;
12 | const int button_gpl_down_pngSize = 2715;
13 |
14 | }
15 |
16 | #endif // FRUT_WIDGETS_RESOURCES_H
17 |
--------------------------------------------------------------------------------
/Source/frut/widgets/signal_led.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SIGNAL_LED_H
27 | #define FRUT_WIDGETS_SIGNAL_LED_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | /// Signal LED component. This widget loads three images of the same
35 | /// size which will be displayed according to the meter's level.
36 | ///
37 | /// | %Level | %Display |
38 | /// | :--------: | ----------------------------------- |
39 | /// | <= 0.0 | *imageOff* |
40 | /// | in between | blend of *imageLow* and *imageHigh* |
41 | /// | >= 1.0 | *imageHigh* |
42 | ///
43 | class SignalLed :
44 | public Component
45 | {
46 | public:
47 | SignalLed();
48 |
49 | virtual void paint(Graphics &g);
50 |
51 | void setLevel(float level);
52 | void setImages(const Image &imageOff,
53 | const Image &imageLow,
54 | const Image &imageHigh);
55 |
56 | protected:
57 | float level_;
58 |
59 | Image imageOff_;
60 | Image imageLow_;
61 | Image imageHigh_;
62 |
63 | private:
64 | JUCE_LEAK_DETECTOR(SignalLed);
65 | };
66 |
67 | }
68 | }
69 |
70 | #endif // FRUT_WIDGETS_SIGNAL_LED_H
71 |
--------------------------------------------------------------------------------
/Source/frut/widgets/slider.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SLIDER_H
27 | #define FRUT_WIDGETS_SLIDER_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | class FrutSlider :
35 | public Slider
36 | {
37 | public:
38 | virtual void setSliderColour(const Colour &colour) = 0;
39 | };
40 |
41 | }
42 | }
43 |
44 | #endif // FRUT_WIDGETS_SLIDER_H
45 |
--------------------------------------------------------------------------------
/Source/frut/widgets/slider_combined.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SLIDER_COMBINED_H
27 | #define FRUT_WIDGETS_SLIDER_COMBINED_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | class SliderCombined :
35 | virtual public FrutSlider
36 | {
37 | public:
38 | SliderCombined(parameters::Juggler *pParameters, int nParameterIndex, int nParameterIndexSwitch);
39 |
40 | void visibilityChanged();
41 | void resized();
42 |
43 | virtual void setSliderColour(const Colour &colour);
44 | void setToggleSwitchColour(const Colour &colour);
45 |
46 | void addButtonListener(Button::Listener *newListener);
47 | void removeListener(Button::Listener *listener);
48 |
49 | void updateMode();
50 |
51 | float getRealFloat();
52 | bool getBoolean();
53 | int getRealInteger();
54 |
55 | double getValueFromText(const String &strText);
56 | String getTextFromValue(double dValue);
57 | private:
58 | JUCE_LEAK_DETECTOR(SliderCombined);
59 |
60 | std::unique_ptr toggleButton;
61 | Colour colourRotary;
62 | Colour colourToggleSwitch;
63 |
64 | parameters::ParCombined *pCombined;
65 | parameters::ParBoolean *pModeSwitch;
66 | };
67 |
68 | }
69 | }
70 |
71 | #endif // FRUT_WIDGETS_SLIDER_COMBINED_H
72 |
--------------------------------------------------------------------------------
/Source/frut/widgets/slider_continuous.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SLIDER_CONTINUOUS_H
27 | #define FRUT_WIDGETS_SLIDER_CONTINUOUS_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | class SliderContinuous :
35 | virtual public FrutSlider
36 | {
37 | public:
38 | SliderContinuous(parameters::Juggler *pParameters, int parameterIndex);
39 |
40 | virtual void visibilityChanged();
41 | virtual void resized();
42 | virtual void setSliderColour(const Colour &colour);
43 |
44 | float getRealFloat();
45 | bool getBoolean();
46 | int getRealInteger();
47 |
48 | virtual double getValueFromText(const String &strText);
49 | virtual String getTextFromValue(double dValue);
50 |
51 | protected:
52 | Colour colourRotary_;
53 | parameters::ParContinuous *parameter_;
54 |
55 | private:
56 | JUCE_LEAK_DETECTOR(SliderContinuous);
57 | };
58 |
59 | }
60 | }
61 |
62 | #endif // FRUT_WIDGETS_SLIDER_CONTINUOUS_H
63 |
--------------------------------------------------------------------------------
/Source/frut/widgets/slider_switch.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SLIDER_SWITCH_H
27 | #define FRUT_WIDGETS_SLIDER_SWITCH_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | class SliderSwitch :
35 | virtual public FrutSlider
36 | {
37 | public:
38 | SliderSwitch(parameters::Juggler *pParameters, int nParameterIndex);
39 |
40 | void visibilityChanged();
41 | void resized();
42 | virtual void setSliderColour(const Colour &colour);
43 |
44 | float getRealFloat();
45 | bool getBoolean();
46 | int getRealInteger();
47 |
48 | double getValueFromText(const String &strText);
49 | String getTextFromValue(double dValue);
50 | private:
51 | JUCE_LEAK_DETECTOR(SliderSwitch);
52 |
53 | Colour colourRotary;
54 | parameters::ParSwitch *pSwitch;
55 | };
56 |
57 | }
58 | }
59 |
60 | #endif // FRUT_WIDGETS_SLIDER_SWITCH_H
61 |
--------------------------------------------------------------------------------
/Source/frut/widgets/slider_switch_linear_bar.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_SLIDER_SWITCH_LINEAR_BAR_H
27 | #define FRUT_WIDGETS_SLIDER_SWITCH_LINEAR_BAR_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | class SliderSwitchLinearBar :
35 | public FrutSlider
36 | {
37 | public:
38 | SliderSwitchLinearBar(parameters::Juggler *pParameters, int nParameterIndex);
39 |
40 | void visibilityChanged();
41 | void setSliderColour(const Colour &colour);
42 |
43 | float getRealFloat();
44 | bool getBoolean();
45 | int getRealInteger();
46 |
47 | double getValueFromText(const String &strText);
48 | String getTextFromValue(double dValue);
49 | private:
50 | JUCE_LEAK_DETECTOR(SliderSwitchLinearBar);
51 |
52 | Colour colourThumb;
53 | parameters::ParSwitch *pSwitch;
54 | };
55 |
56 | }
57 | }
58 |
59 | #endif // FRUT_WIDGETS_SLIDER_SWITCH_LINEAR_BAR_H
60 |
--------------------------------------------------------------------------------
/Source/frut/widgets/window_settings_content.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | FrutJUCE
4 | ========
5 | Common classes for use with the JUCE library
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef FRUT_WIDGETS_WINDOW_SETTINGS_CONTENT_H
27 | #define FRUT_WIDGETS_WINDOW_SETTINGS_CONTENT_H
28 |
29 | namespace frut
30 | {
31 | namespace widgets
32 | {
33 |
34 | /// Dialog window for displaying plugin-settings.
35 | ///
36 | class WindowSettingsContent :
37 | public Component,
38 | public Button::Listener
39 | {
40 | public:
41 | WindowSettingsContent();
42 |
43 | static DialogWindow *createDialogWindow(AudioProcessorEditor *pluginEditor,
44 | int componentWidth,
45 | int componentHeight,
46 | const String &pluginSettings);
47 |
48 | virtual void buttonClicked(Button *button);
49 |
50 | virtual void closeButtonPressed();
51 |
52 | virtual void applySkin();
53 |
54 | virtual void initialise(int componentWidth,
55 | int componentHeight,
56 | const String &pluginSettings);
57 |
58 | protected:
59 | TextEditor textEditor_;
60 | TextButton buttonClose_;
61 |
62 | private:
63 | JUCE_LEAK_DETECTOR(WindowSettingsContent);
64 | };
65 |
66 | }
67 | }
68 |
69 | #endif // FRUT_WIDGETS_WINDOW_SETTINGS_CONTENT_H
70 |
--------------------------------------------------------------------------------
/Source/kmeter.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef KMETER_KMETER_H
27 | #define KMETER_KMETER_H
28 |
29 | #include "FrutHeader.h"
30 | #include "meter_ballistics.h"
31 | #include "meter_bar.h"
32 | #include "overflow_meter.h"
33 | #include "peak_label.h"
34 | #include "skin.h"
35 |
36 |
37 | class Kmeter :
38 | public Component
39 | {
40 | public:
41 | static const int KMETER_STEREO_WIDTH = 106;
42 | static const int KMETER_STEREO_WIDTH_2 = KMETER_STEREO_WIDTH / 2;
43 |
44 | virtual void create(int numberOfInputChannels);
45 |
46 | virtual void applySkin(Skin *skin,
47 | int crestFactor,
48 | bool discreteMeter,
49 | bool isExpanded,
50 | bool isHorizontal,
51 | bool displayPeakMeter);
52 |
53 | virtual void setLevels(std::shared_ptr meterBallistics);
54 |
55 | virtual void resized();
56 |
57 | protected:
58 | OwnedArray levelMeters_;
59 | OwnedArray overflowMeters_;
60 | OwnedArray maximumPeakLabels_;
61 | OwnedArray maximumTruePeakLabels_;
62 |
63 | int numberOfInputChannels_;
64 | bool displayPeakMeter_;
65 |
66 | private:
67 | JUCE_LEAK_DETECTOR(Kmeter);
68 | };
69 |
70 | #endif // KMETER_KMETER_H
71 |
--------------------------------------------------------------------------------
/Source/lint.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | project_home=$(pwd)/..
4 |
5 |
6 | function lint_file
7 | {
8 | filename="$1"
9 | dirname=$(dirname "$1")
10 | echo $filename
11 |
12 | cat $filename | /usr/bin/clang -x c++ - \
13 | -include $project_home/Source/frut/FrutHeader.h \
14 | -I $project_home/JuceLibraryCode \
15 | -I $project_home/libraries \
16 | -I $project_home/libraries/juce/modules \
17 | -I $project_home/Source \
18 | -I $project_home/Source/frut \
19 | -I $project_home/Source/frut/amalgamated \
20 | -I $dirname \
21 | -fsyntax-only \
22 | -fno-caret-diagnostics \
23 | -std=c++14 \
24 | -Wall
25 |
26 | /usr/bin/cppcheck \
27 | --template=gcc \
28 | --enable=style \
29 | --include=$project_home/Source/frut/FrutHeader.h \
30 | --inline-suppr \
31 | --language=c++ \
32 | --quiet \
33 | $filename
34 |
35 | # find error-like codetags
36 | GREP_COLORS="mt=01;31" \
37 | /bin/egrep \
38 | --colour \
39 | '\<(FIXME|BUG)\>' \
40 | $filename
41 |
42 | # find warning-like codetags
43 | GREP_COLORS="mt=01;33" \
44 | /bin/egrep \
45 | --colour \
46 | '\<(TODO|@todo)\>' \
47 | $filename
48 | }
49 |
50 |
51 | echo
52 |
53 | find . -maxdepth 1 \( -iname "*.cpp" -or -iname "*.h" \) -print | sort | while read filename
54 | do
55 | lint_file $filename \;
56 | done
57 |
58 | echo
59 |
60 | find ./frut/amalgamated -maxdepth 1 \( -iname "*.cpp" -or -iname "*.h" \) -print | sort | while read filename
61 | do
62 | lint_file $filename \;
63 | done
64 |
65 | echo
66 |
--------------------------------------------------------------------------------
/Source/meter_bar.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef KMETER_METER_BAR_H
27 | #define KMETER_METER_BAR_H
28 |
29 | #include "FrutHeader.h"
30 |
31 |
32 | class MeterBar :
33 | public frut::widgets::MeterBar
34 | {
35 | public:
36 | using frut::widgets::MeterBar::create;
37 | virtual void create(int crestFactor,
38 | bool discreteMeter,
39 | bool isExpanded,
40 | frut::widgets::Orientation orientation,
41 | int mainSegmentHeight,
42 | const Array &segmentColours);
43 |
44 | protected:
45 | /// Colour ID selector for meter segments.
46 | enum colourSelector // protected namespace
47 | {
48 | /// reddish
49 | red = 0,
50 |
51 | /// yellowish
52 | amber,
53 |
54 | /// greenish
55 | green,
56 |
57 | /// colourish :)
58 | nonLinear
59 | };
60 |
61 | private:
62 | JUCE_LEAK_DETECTOR(MeterBar);
63 | };
64 |
65 | #endif // KMETER_METER_BAR_H
66 |
--------------------------------------------------------------------------------
/Source/overflow_meter.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #include "overflow_meter.h"
27 |
28 |
29 | OverflowMeter::OverflowMeter()
30 | {
31 | nOverflows = 0;
32 |
33 | setLabelColour(Colours::white);
34 | setLabelText(String(nOverflows));
35 | }
36 |
37 |
38 | void OverflowMeter::setOverflows(int Overflows)
39 | {
40 | int nOverflowsOld = nOverflows;
41 | nOverflows = Overflows;
42 |
43 | if (nOverflows != nOverflowsOld)
44 | {
45 | setLabelText(String(nOverflows));
46 |
47 | if (nOverflows == 0)
48 | {
49 | setState(frut::widgets::StateLabel::State::off);
50 | }
51 | else
52 | {
53 | setState(frut::widgets::StateLabel::State::on);
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/Source/overflow_meter.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef KMETER_OVERFLOW_METER_H
27 | #define KMETER_OVERFLOW_METER_H
28 |
29 | #include "FrutHeader.h"
30 |
31 |
32 | class OverflowMeter :
33 | public frut::widgets::StateLabel
34 | {
35 | public:
36 | OverflowMeter();
37 |
38 | void setOverflows(int Overflows);
39 |
40 | private:
41 | JUCE_LEAK_DETECTOR(OverflowMeter);
42 |
43 | int nOverflows;
44 | };
45 |
46 | #endif // KMETER_OVERFLOW_METER_H
47 |
--------------------------------------------------------------------------------
/Source/peak_label.cpp:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #include "peak_label.h"
27 |
28 |
29 | PeakLabel::PeakLabel(int nCrestFactor)
30 | {
31 | nMeterCrestFactor = nCrestFactor;
32 | setLabelColour(Colours::white);
33 |
34 | resetLevel();
35 | }
36 |
37 |
38 | void PeakLabel::resetLevel()
39 | {
40 | float fMaximumCrestFactor = 20.0f; // i.e. K-20
41 | float fMeterMinimumDecibel = -(fMaximumCrestFactor + 90.0f);
42 |
43 | // reset level
44 | fMaximumLevel = fMeterMinimumDecibel;
45 |
46 | // ensure peak label update on next call of updateLevel()
47 | fMaximumLevel -= 0.1f;
48 | }
49 |
50 |
51 | void PeakLabel::updateLevel(float newLevel)
52 | {
53 | if (newLevel == fMaximumLevel)
54 | {
55 | return;
56 | }
57 |
58 | fMaximumLevel = newLevel;
59 | float fCorrectedLevel = fMaximumLevel + nMeterCrestFactor;
60 |
61 | if (fCorrectedLevel < 0.0f)
62 | {
63 | setLabelText(String(fCorrectedLevel, 1));
64 | }
65 | else
66 | {
67 | setLabelText("+" + String(fCorrectedLevel, 1));
68 | }
69 |
70 | if (fMaximumLevel < -0.20f)
71 | {
72 | setState(false);
73 | }
74 | else
75 | {
76 | setState(true);
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/Source/peak_label.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef KMETER_PEAK_LABEL_H
27 | #define KMETER_PEAK_LABEL_H
28 |
29 | #include "FrutHeader.h"
30 |
31 |
32 | class PeakLabel :
33 | public frut::widgets::StateLabel
34 | {
35 | public:
36 | explicit PeakLabel(int nCrestFactor);
37 |
38 | void resetLevel();
39 | void updateLevel(float newLevel);
40 |
41 | private:
42 | JUCE_LEAK_DETECTOR(PeakLabel);
43 |
44 | int nMeterCrestFactor;
45 | float fMaximumLevel;
46 | };
47 |
48 | #endif // KMETER_PEAK_LABEL_H
49 |
--------------------------------------------------------------------------------
/Source/skin.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------------
2 |
3 | K-Meter
4 | =======
5 | Implementation of a K-System meter according to Bob Katz' specifications
6 |
7 | Copyright (c) 2010-2020 Martin Zuther (http://www.mzuther.de/)
8 |
9 | This program is free software: you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation, either version 3 of the License, or
12 | (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program. If not, see .
21 |
22 | Thank you for using free software!
23 |
24 | ---------------------------------------------------------------------------- */
25 |
26 | #ifndef KMETER_SKIN_H
27 | #define KMETER_SKIN_H
28 |
29 | #include "FrutHeader.h"
30 | #include "plugin_parameters.h"
31 |
32 |
33 | class Skin :
34 | public frut::skin::Skin
35 | {
36 | public:
37 | bool loadSkin(File &skinFile,
38 | int numberOfChannels,
39 | int crestFactor,
40 | int averageAlgorithm,
41 | bool isExpanded,
42 | bool displayPeakMeter);
43 |
44 | void updateSkin(int numberOfChannels,
45 | int crestFactor,
46 | int averageAlgorithm,
47 | bool isExpanded,
48 | bool displayPeakMeter);
49 |
50 | private:
51 | JUCE_LEAK_DETECTOR(Skin);
52 | };
53 |
54 | #endif // KMETER_SKIN_H
55 |
--------------------------------------------------------------------------------
/bin/final/README:
--------------------------------------------------------------------------------
1 | Please do NOT place any intermediate binaries here. This directory is
2 | reserved for the current stable build.
3 |
--------------------------------------------------------------------------------
/bin/final/kmeter:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter
--------------------------------------------------------------------------------
/bin/final/kmeter.pdf:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter.pdf
--------------------------------------------------------------------------------
/bin/standalone/kmeter.pdf:
--------------------------------------------------------------------------------
1 | ../../doc/kmeter.pdf
--------------------------------------------------------------------------------
/bin/standalone/kmeter/doc/CC-BY-SA-4.0:
--------------------------------------------------------------------------------
1 | ../../../../doc/CC-BY-SA-4.0
--------------------------------------------------------------------------------
/bin/standalone/kmeter/doc/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | ../../../../doc/CONTRIBUTORS
--------------------------------------------------------------------------------
/bin/standalone/kmeter/doc/HISTORY:
--------------------------------------------------------------------------------
1 | ../../../../doc/HISTORY
--------------------------------------------------------------------------------
/bin/standalone/kmeter/doc/LICENSE:
--------------------------------------------------------------------------------
1 | ../../../../doc/LICENSE
--------------------------------------------------------------------------------
/bin/standalone/kmeter/fftw/COPYRIGHT:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2003, 2007-14 Matteo Frigo
3 | * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
4 | *
5 | * This program is free software; you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation; either version 2 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program; if not, write to the Free Software
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 | *
19 | */
20 |
--------------------------------------------------------------------------------
/bin/standalone/kmeter/fftw/libfftw3f-3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/bin/standalone/kmeter/fftw/libfftw3f-3.dll
--------------------------------------------------------------------------------
/bin/standalone/kmeter/fftw/libfftw3f-3_x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/bin/standalone/kmeter/fftw/libfftw3f-3_x64.dll
--------------------------------------------------------------------------------
/bin/standalone/kmeter/skins:
--------------------------------------------------------------------------------
1 | ../../../skins/
--------------------------------------------------------------------------------
/bin/vst2/kmeter:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter
--------------------------------------------------------------------------------
/bin/vst2/kmeter.pdf:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter.pdf
--------------------------------------------------------------------------------
/bin/vst3/kmeter:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter
--------------------------------------------------------------------------------
/bin/vst3/kmeter.pdf:
--------------------------------------------------------------------------------
1 | ../standalone/kmeter.pdf
--------------------------------------------------------------------------------
/doc/.gitignore:
--------------------------------------------------------------------------------
1 | auto/
2 | *.aux
3 | *.log
4 | *.out
5 | *.toc
6 |
--------------------------------------------------------------------------------
/doc/CONTRIBUTORS:
--------------------------------------------------------------------------------
1 | Project owner
2 | =============
3 |
4 | * Martin Zuther a.k.a. radix (http://www.mzuther.de/)
5 |
6 |
7 |
8 | Contributors
9 | ============
10 |
11 | * Bob Katz (http://www.digido.com/)
12 |
13 | Creator of the K-System Meter. Also a decent mastering engineer... :)
14 |
15 |
16 | * Tod Gentille (http://syncor.blogspot.com/)
17 |
18 | Mac version of K-Meter.
19 |
20 |
21 | * Jan Kokemüller a.k.a. Raiden (https://github.com/jiixyj)
22 |
23 | Paper "ITU-R BS.1770-1 filter specifications (unofficial)", 2011.
24 |
25 |
26 | * Bram de Jong (http://bram.smartelectronix.com/)
27 |
28 | Envelope follower with different attack and release.
29 |
30 |
31 |
32 | Beta testing and ideas
33 | ======================
34 |
35 | * Rickard (http://www.interfearingsounds.com/)
36 |
37 | * David Tkaczuk
38 |
39 |
40 | (note: do not forget to update "src/window_about.cpp"!)
41 |
--------------------------------------------------------------------------------
/doc/TODO:
--------------------------------------------------------------------------------
1 |
2 | o [mzuther] rename internal "variables_" (get rid of "newVariable")
3 |
4 | o [mzuther] get rid of Hungarian notation
5 |
6 | o [mzuther] mark virtual functions as "virtual"
7 |
8 | o [mzuther] use explicit casts: static_cast
9 |
10 | o [mzuther] add const to methods variables
11 |
12 | o [mzuther] pretty-print and document code
13 |
14 | * single-order HP filter for DC removal
15 |
16 | * use JUCE namespace explicitly
17 |
18 |
--------------------------------------------------------------------------------
/doc/include/hyphenation.sty:
--------------------------------------------------------------------------------
1 | \hyphenation{
2 | }
3 |
--------------------------------------------------------------------------------
/doc/include/images/VST_Compatible_Logo_Steinberg_negative.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/VST_Compatible_Logo_Steinberg_negative.png
--------------------------------------------------------------------------------
/doc/include/images/button_about_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_about_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_about_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_about_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_averaging_selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_averaging_selection.png
--------------------------------------------------------------------------------
/doc/include/images/button_dim_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_dim_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_dim_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_dim_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_discrete_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_discrete_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_discrete_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_discrete_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_expand_meter_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_expand_meter_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_expand_meter_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_expand_meter_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_flip_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_flip_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_flip_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_flip_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_gpl_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_gpl_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_gpl_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_gpl_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_meter_selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_meter_selection.png
--------------------------------------------------------------------------------
/doc/include/images/button_mono_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_mono_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_mono_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_mono_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_mute_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_mute_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_mute_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_mute_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_peak_hold_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_peak_hold_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_peak_hold_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_peak_hold_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_peak_meter_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_peak_meter_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_peak_meter_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_peak_meter_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_reset_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_reset_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_reset_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_reset_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_skin_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_skin_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_skin_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_skin_on.png
--------------------------------------------------------------------------------
/doc/include/images/button_validate_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_validate_off.png
--------------------------------------------------------------------------------
/doc/include/images/button_validate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/button_validate_on.png
--------------------------------------------------------------------------------
/doc/include/images/cc-by-sa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/cc-by-sa.png
--------------------------------------------------------------------------------
/doc/include/images/dialog_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/dialog_validation.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-freq-fx_path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-freq-fx_path.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-freq-itu_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-freq-itu_r.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-freq-rms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-freq-rms.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-freq_zoomed-itu_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-freq_zoomed-itu_r.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-freq_zoomed-rms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-freq_zoomed-rms.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-phase-fx_path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-phase-fx_path.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-phase-itu_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-phase-itu_r.png
--------------------------------------------------------------------------------
/doc/include/images/fft_192khz-phase-rms.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/fft_192khz-phase-rms.png
--------------------------------------------------------------------------------
/doc/include/images/kmeter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/kmeter.png
--------------------------------------------------------------------------------
/doc/include/images/kmeter_normal_scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/kmeter_normal_scale.png
--------------------------------------------------------------------------------
/doc/include/images/level_meter_itu_continuous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/level_meter_itu_continuous.png
--------------------------------------------------------------------------------
/doc/include/images/level_meter_rms_discrete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/level_meter_rms_discrete.png
--------------------------------------------------------------------------------
/doc/include/images/maximum_peak_clipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/maximum_peak_clipped.png
--------------------------------------------------------------------------------
/doc/include/images/maximum_peak_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/maximum_peak_normal.png
--------------------------------------------------------------------------------
/doc/include/images/maximum_true_peak_clipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/maximum_true_peak_clipped.png
--------------------------------------------------------------------------------
/doc/include/images/maximum_true_peak_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/maximum_true_peak_normal.png
--------------------------------------------------------------------------------
/doc/include/images/overload_counter_clipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/overload_counter_clipped.png
--------------------------------------------------------------------------------
/doc/include/images/overload_counter_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/overload_counter_normal.png
--------------------------------------------------------------------------------
/doc/include/images/phase_correlation_meter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/phase_correlation_meter.png
--------------------------------------------------------------------------------
/doc/include/images/stereo_meter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/include/images/stereo_meter.png
--------------------------------------------------------------------------------
/doc/kmeter.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/kmeter.pdf
--------------------------------------------------------------------------------
/doc/licensing/vst_id_registration_1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/licensing/vst_id_registration_1.pdf
--------------------------------------------------------------------------------
/doc/licensing/vst_id_registration_2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/licensing/vst_id_registration_2.pdf
--------------------------------------------------------------------------------
/doc/specifications/ITU-R BS.1770-1 (Filters).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/doc/specifications/ITU-R BS.1770-1 (Filters).pdf
--------------------------------------------------------------------------------
/doc/specifications/ITU-R BS.1770.txt:
--------------------------------------------------------------------------------
1 | Please download the latest ITU recommendation BS.1770 from here:
2 |
3 | http://www.itu.int/rec/R-REC-BS.1770
4 |
--------------------------------------------------------------------------------
/libraries/fftw:
--------------------------------------------------------------------------------
1 | ../../libraries/fftw_3.3.5
--------------------------------------------------------------------------------
/libraries/fftw-3.3.5-dll32.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/libraries/fftw-3.3.5-dll32.zip
--------------------------------------------------------------------------------
/libraries/fftw-3.3.5-dll64.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/libraries/fftw-3.3.5-dll64.zip
--------------------------------------------------------------------------------
/libraries/fftw-3.3.5.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/libraries/fftw-3.3.5.tar.gz
--------------------------------------------------------------------------------
/libraries/juce:
--------------------------------------------------------------------------------
1 | ../../libraries/juce_5.4.7
--------------------------------------------------------------------------------
/libraries/juce_5.4.7.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/libraries/juce_5.4.7.zip
--------------------------------------------------------------------------------
/libraries/vst2:
--------------------------------------------------------------------------------
1 | ../../libraries/vstsdk_3.6.10
--------------------------------------------------------------------------------
/libraries/vst3:
--------------------------------------------------------------------------------
1 | ../../libraries/vstsdk_3.6.14
--------------------------------------------------------------------------------
/skins/Default/LICENSE:
--------------------------------------------------------------------------------
1 | This skin by Martin Zuther (http://www.mzuther.de/) is licensed under
2 | a Creative Commons Attribution-ShareAlike 4.0 International License
3 | (http://creativecommons.org/licenses/by-sa/4.0/).
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/background_itu_stereo_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/background_itu_stereo_no_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/background_itu_stereo_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/background_itu_stereo_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/background_itu_surround_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/background_itu_surround_no_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/background_itu_surround_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/background_itu_surround_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k12.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k14.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k20.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_normal.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/itu/graduation_itu_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/itu/graduation_itu_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/background_rms_stereo_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/background_rms_stereo_no_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/background_rms_stereo_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/background_rms_stereo_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/background_rms_surround_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/background_rms_surround_no_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/background_rms_surround_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/background_rms_surround_peaks.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k12.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k14.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k20.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_normal.png
--------------------------------------------------------------------------------
/skins/Default/backgrounds/rms/graduation_rms_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/backgrounds/rms/graduation_rms_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_about_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_about_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_about_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_about_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_about_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_about_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_dim_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_dim_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_dim_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_dim_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_dim_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_dim_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_discrete_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_discrete_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_discrete_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_discrete_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_discrete_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_discrete_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_expand_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_expand_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_expand_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_expand_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_expand_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_expand_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_flip_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_flip_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_flip_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_flip_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_flip_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_flip_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_hold_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_hold_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_hold_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_hold_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_hold_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_hold_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_itu_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_itu_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_itu_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_itu_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_itu_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_itu_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k12_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k12_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k12_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k12_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k12_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k12_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k14_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k14_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k14_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k14_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k14_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k14_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k20_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k20_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k20_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k20_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_k20_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_k20_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mono_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mono_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mono_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mono_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mono_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mono_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mute_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mute_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mute_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mute_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_mute_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_mute_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_normal_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_normal_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_normal_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_normal_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_normal_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_normal_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_peaks_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_peaks_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_peaks_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_peaks_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_peaks_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_peaks_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_reset_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_reset_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_reset_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_reset_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_reset_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_reset_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_rms_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_rms_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_rms_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_rms_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_rms_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_rms_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_skin_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_skin_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_skin_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_skin_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_skin_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_skin_over.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_validate_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_validate_off.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_validate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_validate_on.png
--------------------------------------------------------------------------------
/skins/Default/buttons/button_validate_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/buttons/button_validate_over.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_debug.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_over_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_over_off.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_over_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_over_on.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_peak_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_peak_off.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_peak_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_peak_on.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_true_peak_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_true_peak_off.png
--------------------------------------------------------------------------------
/skins/Default/labels/label_true_peak_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/labels/label_true_peak_on.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k12.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k14.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k20.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_normal.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_itu_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_itu_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k12.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k14.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k20.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_normal.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_kmeter_rms_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_kmeter_rms_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_phase_correlation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_phase_correlation.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_phase_correlation_needle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_phase_correlation_needle.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_stereo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_stereo.png
--------------------------------------------------------------------------------
/skins/Default/meters/meter_stereo_needle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Default/meters/meter_stereo_needle.png
--------------------------------------------------------------------------------
/skins/Slim Buttons.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons.zip
--------------------------------------------------------------------------------
/skins/Slim Buttons/LICENSE:
--------------------------------------------------------------------------------
1 | This skin by Martin Zuther (http://www.mzuther.de/) is licensed under
2 | a Creative Commons Attribution-ShareAlike 4.0 International License
3 | (http://creativecommons.org/licenses/by-sa/4.0/).
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/background_itu_stereo_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/background_itu_stereo_no_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/background_itu_stereo_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/background_itu_stereo_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/background_itu_surround_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/background_itu_surround_no_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/background_itu_surround_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/background_itu_surround_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k12.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k14.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k20.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_normal.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/itu/graduation_itu_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/itu/graduation_itu_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/background_rms_stereo_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/background_rms_stereo_no_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/background_rms_stereo_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/background_rms_stereo_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/background_rms_surround_no_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/background_rms_surround_no_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/background_rms_surround_peaks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/background_rms_surround_peaks.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k12.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k14.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k20.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_normal.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/backgrounds/rms/graduation_rms_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/backgrounds/rms/graduation_rms_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_about_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_about_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_about_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_about_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_about_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_about_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_dim_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_dim_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_dim_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_dim_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_dim_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_dim_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_discrete_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_discrete_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_discrete_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_discrete_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_discrete_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_discrete_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_expand_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_expand_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_expand_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_expand_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_expand_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_expand_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_flip_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_flip_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_flip_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_flip_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_flip_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_flip_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_hold_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_hold_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_hold_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_hold_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_hold_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_hold_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_itu_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_itu_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_itu_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_itu_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_itu_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_itu_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k12_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k12_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k12_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k12_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k12_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k12_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k14_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k14_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k14_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k14_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k14_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k14_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k20_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k20_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k20_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k20_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_k20_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_k20_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mono_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mono_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mono_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mono_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mono_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mono_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mute_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mute_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mute_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mute_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_mute_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_mute_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_normal_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_normal_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_normal_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_normal_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_normal_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_normal_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_peaks_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_peaks_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_peaks_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_peaks_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_peaks_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_peaks_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_reset_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_reset_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_reset_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_reset_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_reset_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_reset_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_rms_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_rms_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_rms_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_rms_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_rms_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_rms_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_skin_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_skin_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_skin_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_skin_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_skin_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_skin_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_validate_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_validate_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_validate_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_validate_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/buttons/button_validate_over.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/buttons/button_validate_over.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_debug.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_over_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_over_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_over_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_over_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_peak_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_peak_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_peak_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_peak_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_true_peak_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_true_peak_off.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/labels/label_true_peak_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/labels/label_true_peak_on.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k12.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k14.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k20.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_normal.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_itu_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_itu_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k12.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k12_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k12_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k14.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k14_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k14_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k20.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_k20_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_k20_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_normal.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_kmeter_rms_normal_expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_kmeter_rms_normal_expanded.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_phase_correlation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_phase_correlation.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_phase_correlation_needle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_phase_correlation_needle.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_stereo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_stereo.png
--------------------------------------------------------------------------------
/skins/Slim Buttons/meters/meter_stereo_needle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/skins/Slim Buttons/meters/meter_stereo_needle.png
--------------------------------------------------------------------------------
/validation/.gitignore:
--------------------------------------------------------------------------------
1 | *.wav
2 |
3 | R-REP-BS.2217-1/
4 | ebu_loudness_test_set_v05/
5 | qualis_test_suite/
6 |
--------------------------------------------------------------------------------
/validation/ebu_tech_3341.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/ebu_tech_3341.pdf
--------------------------------------------------------------------------------
/validation/itu-r_bs2217.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/itu-r_bs2217.pdf
--------------------------------------------------------------------------------
/validation/meter_ballistics.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/meter_ballistics.flac
--------------------------------------------------------------------------------
/validation/meter_ballistics.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/meter_ballistics.pdf
--------------------------------------------------------------------------------
/validation/new/kmeter_sine.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/new/kmeter_sine.flac
--------------------------------------------------------------------------------
/validation/new/true_peak_1023.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/new/true_peak_1023.flac
--------------------------------------------------------------------------------
/validation/new/true_peak_1024.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/new/true_peak_1024.flac
--------------------------------------------------------------------------------
/validation/open_document/ebu_tech_3341.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/ebu_tech_3341.odt
--------------------------------------------------------------------------------
/validation/open_document/itu-r_bs2217.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/itu-r_bs2217.odt
--------------------------------------------------------------------------------
/validation/open_document/meter_ballistics.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/meter_ballistics.odt
--------------------------------------------------------------------------------
/validation/open_document/overflow.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/overflow.odt
--------------------------------------------------------------------------------
/validation/open_document/peak_meter.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/peak_meter.odt
--------------------------------------------------------------------------------
/validation/open_document/phase_correlation_meter.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/phase_correlation_meter.odt
--------------------------------------------------------------------------------
/validation/open_document/pink_noise_bandlimited.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/pink_noise_bandlimited.odt
--------------------------------------------------------------------------------
/validation/open_document/rms_sweeps.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/rms_sweeps.odt
--------------------------------------------------------------------------------
/validation/open_document/stereo_meter.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/open_document/stereo_meter.odt
--------------------------------------------------------------------------------
/validation/overflow.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/overflow.flac
--------------------------------------------------------------------------------
/validation/overflow.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/overflow.pdf
--------------------------------------------------------------------------------
/validation/peak_meter.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/peak_meter.flac
--------------------------------------------------------------------------------
/validation/peak_meter.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/peak_meter.pdf
--------------------------------------------------------------------------------
/validation/phase_correlation_meter.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/phase_correlation_meter.flac
--------------------------------------------------------------------------------
/validation/phase_correlation_meter.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/phase_correlation_meter.pdf
--------------------------------------------------------------------------------
/validation/pink_noise_bandlimited.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/pink_noise_bandlimited.flac
--------------------------------------------------------------------------------
/validation/pink_noise_bandlimited.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/pink_noise_bandlimited.pdf
--------------------------------------------------------------------------------
/validation/rms_sweeps.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/rms_sweeps.flac
--------------------------------------------------------------------------------
/validation/rms_sweeps.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/rms_sweeps.pdf
--------------------------------------------------------------------------------
/validation/stereo_meter.flac:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/stereo_meter.flac
--------------------------------------------------------------------------------
/validation/stereo_meter.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mzuther/K-Meter/f6f1a748c970db48b32cdd87d98d5bd330c555e0/validation/stereo_meter.pdf
--------------------------------------------------------------------------------