mirror of
https://github.com/LMMS/lmms.git
synced 2026-03-12 11:07:13 -04:00
* extremly basic slicer, note playback and gui works * very simple peak detection working * basic phase vocoder implementation, no effects yet * phase vocoder slight rewrite * pitch shifting works more or less * basic timeshift working * PV timeshift working (no pitch shift) * basic functions work (UI, editing, playback) * slice editor Ui working * fundamental functionality done * Everything basic works fully * cleanup and code guidelines * more file cleanup * Tried fixing multi slice playback (still broken) * remove includes, add license * code factoring issues * more code factoring * fixed multinote playback and bpm check * UI performance improvments + code style * initial UI changes + more code style * threadsafe(maybe) + UI finished * preparing for dinamic timeshifting * dynamic timeshifting start * realtime time scaling (no stereo) * stereo added, very slow * playback performance improvments * Roxas new UI start * fixed cmake * Waveform UI finished * Roxas UI knobs + layout * Spectral flux onset detection * build + PV fixes * clang-format formatting * slice snap + better defaults * windows build fixes * windows build fixes part 2 * Fixed slice bug + Waveform code cleanup * UI button text + reorder + file cleanup * Added knob colors * comments + code cleanup * var names fit convention * PV better windowing * waveform zoom * Minor style fixes. * Initial artistic rebalancing of the plugin artwork. * PV phase ghosting fix * Use base note as keyboard slice start * Good draft of Artwork, renamed bg to artwork * Removed soft glow. * Fixed load crashes + findSlices cleanup * Added sync button * added pitch shifting, sometimes crashes * pitch fixes * MacOs build fixes * use linear interpolation * copyright + div by 0 fixes * Fixed rare crash + name changes + license * review: memcpy, no array, LMMS header, name change * static constexpr added * static vars to public + LMMS guards * remove references in classes * remove constexpr and parent pointer in waveform * std::array for fft * fixed wrong name in style * remove c style casts * use src_process * use note vector for return * Moved PhaseVocoder into core * removed PV from plugin * remove pointers in waveform * clang-format again * Use std:: + review suggestions Co-authored-by: Dalton Messmer <33463986+messmerd@users.noreply.github.com> Co-authored-by: saker <sakertooth@gmail.com> * More review changes * new signal slot + more review * Fixed pitch shifting * Fixed buffer overflow in PV * Fixed mouse bug + better empty screen * Small editor refactor + improvments * Editor playback visual + small fixes * Roxas UI improvments * initial timeshift removing * Remove timeshift + slice refactor * Removed unused files * Fix export bug * Fix zoom bug * Review changes SakerTooth#2 * Remove most comments * Performance + click to load * update PlaybackState + zerocross snapping * Fix windows build issue * Review + version * Fixed fade out bug * Use cosine interpolation * Apply suggestions from code review Co-authored-by: Dalton Messmer <33463986+messmerd@users.noreply.github.com> * More review changes * Renamed files * Full sample only at base note * Fix memory leak Co-authored-by: Dalton Messmer <33463986+messmerd@users.noreply.github.com> * Style fixes --------- Co-authored-by: Katherine Pratt <consolegrl@gmail.com> Co-authored-by: Dalton Messmer <33463986+messmerd@users.noreply.github.com> Co-authored-by: saker <sakertooth@gmail.com>
112 lines
2.1 KiB
CMake
112 lines
2.1 KiB
CMake
# Provides a fast mechanism for filtering the plugins used at build-time
|
|
SET(PLUGIN_LIST "" CACHE STRING "List of plug-ins to build")
|
|
STRING(REPLACE " " ";" PLUGIN_LIST "${PLUGIN_LIST}")
|
|
OPTION(LMMS_MINIMAL "Build a minimal list of plug-ins" OFF)
|
|
OPTION(LIST_PLUGINS "Lists the available plugins for building" OFF)
|
|
|
|
SET(MINIMAL_LIST
|
|
AudioFileProcessor
|
|
Kicker
|
|
TripleOscillator
|
|
)
|
|
|
|
IF(LMMS_MINIMAL)
|
|
IF("${PLUGIN_LIST}" STREQUAL "")
|
|
STRING(REPLACE ";" " " MINIMAL_LIST_STRING "${MINIMAL_LIST}")
|
|
MESSAGE(
|
|
"-- Using minimal plug-ins: ${MINIMAL_LIST_STRING}\n"
|
|
" Note: You can specify specific plug-ins using -DPLUGIN_LIST=\"foo bar\""
|
|
)
|
|
ENDIF()
|
|
SET(PLUGIN_LIST ${MINIMAL_LIST} ${PLUGIN_LIST})
|
|
ENDIF()
|
|
|
|
SET(LMMS_PLUGIN_LIST
|
|
${MINIMAL_LIST}
|
|
Amplifier
|
|
BassBooster
|
|
BitInvader
|
|
Bitcrush
|
|
CarlaBase
|
|
CarlaPatchbay
|
|
CarlaRack
|
|
Compressor
|
|
CrossoverEQ
|
|
Delay
|
|
Dispersion
|
|
DualFilter
|
|
DynamicsProcessor
|
|
Eq
|
|
Flanger
|
|
HydrogenImport
|
|
LadspaBrowser
|
|
LadspaEffect
|
|
LOMM
|
|
Lv2Effect
|
|
Lv2Instrument
|
|
Lb302
|
|
MidiImport
|
|
MidiExport
|
|
MultitapEcho
|
|
Monstro
|
|
Nes
|
|
OpulenZ
|
|
Organic
|
|
FreeBoy
|
|
Patman
|
|
PeakControllerEffect
|
|
GigPlayer
|
|
ReverbSC
|
|
Sf2Player
|
|
Sfxr
|
|
Sid
|
|
SlicerT
|
|
SpectrumAnalyzer
|
|
StereoEnhancer
|
|
StereoMatrix
|
|
Stk
|
|
TapTempo
|
|
VstBase
|
|
Vestige
|
|
VstEffect
|
|
Watsyn
|
|
WaveShaper
|
|
Vectorscope
|
|
Vibed
|
|
Xpressive
|
|
ZynAddSubFx
|
|
)
|
|
|
|
IF("${PLUGIN_LIST}" STREQUAL "")
|
|
SET(PLUGIN_LIST ${LMMS_PLUGIN_LIST})
|
|
ENDIF()
|
|
|
|
MACRO(LIST_ALL_PLUGINS)
|
|
MESSAGE("\n\nAll possible -DPLUGIN_LIST values")
|
|
MESSAGE("\n KEYWORD:")
|
|
MESSAGE(" -DLMMS_MINIMAL=True")
|
|
FOREACH(item IN LISTS MINIMAL_LIST)
|
|
MESSAGE(" ${item}")
|
|
ENDFOREACH()
|
|
MESSAGE("\n NAME:")
|
|
FOREACH(item IN LISTS LMMS_PLUGIN_LIST)
|
|
MESSAGE(" ${item}")
|
|
ENDFOREACH()
|
|
MESSAGE("\nNote: This value also impacts the fetching of git submodules.\n")
|
|
MESSAGE(FATAL_ERROR "Information was requested, aborting build!")
|
|
ENDMACRO()
|
|
|
|
IF(LIST_PLUGINS)
|
|
UNSET(LIST_PLUGINS CACHE)
|
|
LIST_ALL_PLUGINS()
|
|
ENDIF()
|
|
|
|
IF(MSVC)
|
|
SET(MSVC_INCOMPATIBLE_PLUGINS
|
|
LadspaEffect
|
|
)
|
|
message(WARNING "Compiling with MSVC. The following plugins are not available: ${MSVC_INCOMPATIBLE_PLUGINS}")
|
|
LIST(REMOVE_ITEM PLUGIN_LIST ${MSVC_INCOMPATIBLE_PLUGINS})
|
|
ENDIF()
|
|
|