├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── feature_request.md
│ └── questions-and-feedbacks.md
├── actions
│ ├── set-suffix
│ │ └── action.yml
│ └── upload
│ │ └── action.yml
└── workflows
│ └── build.yml
├── .gitignore
├── .gitmodules
├── Blux.jucer
├── Builds
├── LinuxMakefile
│ ├── Blux.AppDir
│ │ ├── .DirIcon
│ │ ├── AppRun
│ │ ├── blux.desktop
│ │ ├── blux.png
│ │ └── usr
│ │ │ └── lib
│ │ │ ├── libServus.so
│ │ │ ├── libServus.so.1.6.0
│ │ │ ├── libServus.so.6
│ │ │ ├── libartnet.so
│ │ │ ├── libartnet.so.1
│ │ │ └── libartnet.so.1.0.0
│ └── Makefile
├── MacOSX_CI
│ ├── Blux.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ ├── Icon.icns
│ ├── Info-App.plist
│ └── RecentFilesMenuTemplate.nib
├── Raspberry
│ ├── Blux.AppDir
│ │ ├── .DirIcon
│ │ ├── AppRun
│ │ ├── blux.desktop
│ │ ├── blux.png
│ │ └── usr
│ │ │ └── lib
│ │ │ ├── libBLT.2.5.so.8.6
│ │ │ ├── libBLTlite.2.5.so.8.6
│ │ │ ├── libSDL2-2.0.so.0
│ │ │ ├── libSDL2-2.0.so.0.10.0
│ │ │ ├── libSDL2.a
│ │ │ ├── libSDL2.so
│ │ │ ├── libSDL2main.a
│ │ │ ├── libServus.so
│ │ │ ├── libServus.so.1.6.0
│ │ │ ├── libServus.so.6
│ │ │ ├── libartnet.so
│ │ │ ├── libartnet.so.1
│ │ │ ├── libartnet.so.1.0.0
│ │ │ ├── libbcm_host.so
│ │ │ ├── libhidapi-hidraw.so
│ │ │ ├── libhidapi-hidraw.so.0
│ │ │ ├── libhidapi-hidraw.so.0.0.0
│ │ │ ├── libvchiq_arm.so
│ │ │ └── libvcos.so
│ └── Makefile
├── Raspberry64
│ ├── Blux.AppDir
│ │ ├── .DirIcon
│ │ ├── AppRun
│ │ ├── blux.desktop
│ │ ├── blux.png
│ │ └── usr
│ │ │ └── lib
│ │ │ ├── libSDL2-2.0.so.0
│ │ │ ├── libSDL2-2.0.so.0.9.0
│ │ │ ├── libSDL2.so
│ │ │ ├── libServus.so
│ │ │ ├── libServus.so.6
│ │ │ ├── libbluetooth.so.3
│ │ │ ├── libbluetooth.so.3.18.16
│ │ │ ├── libhidapi-hidraw.so
│ │ │ ├── libhidapi-hidraw.so.0
│ │ │ └── libhidapi-hidraw.so.0.0.0
│ └── Makefile
├── VisualStudio2022
│ ├── Blux.sln
│ ├── Blux_App.vcxproj
│ ├── Blux_App.vcxproj.filters
│ ├── icon.ico
│ ├── packages.config
│ └── resources.rc
└── VisualStudio2022_CI
│ ├── Blux.sln
│ ├── Blux_App.vcxproj
│ ├── Blux_App.vcxproj.filters
│ ├── icon.ico
│ ├── packages.config
│ ├── packages
│ └── Microsoft.Web.WebView2.1.0.902.49
│ │ ├── .signature.p7s
│ │ ├── LICENSE.txt
│ │ ├── Microsoft.Web.WebView2.1.0.902.49.nupkg
│ │ ├── WebView2.idl
│ │ ├── WebView2.tlb
│ │ ├── build
│ │ ├── Common.targets
│ │ ├── Microsoft.Web.WebView2.targets
│ │ └── native
│ │ │ ├── Microsoft.Web.WebView2.targets
│ │ │ ├── arm64
│ │ │ ├── WebView2Loader.dll
│ │ │ ├── WebView2Loader.dll.lib
│ │ │ └── WebView2LoaderStatic.lib
│ │ │ ├── include
│ │ │ ├── WebView2.h
│ │ │ └── WebView2EnvironmentOptions.h
│ │ │ ├── x64
│ │ │ ├── WebView2Loader.dll
│ │ │ ├── WebView2Loader.dll.lib
│ │ │ └── WebView2LoaderStatic.lib
│ │ │ └── x86
│ │ │ ├── WebView2Loader.dll
│ │ │ ├── WebView2Loader.dll.lib
│ │ │ └── WebView2LoaderStatic.lib
│ │ ├── lib
│ │ ├── net45
│ │ │ ├── Microsoft.Web.WebView2.Core.dll
│ │ │ ├── Microsoft.Web.WebView2.Core.xml
│ │ │ ├── Microsoft.Web.WebView2.WinForms.dll
│ │ │ ├── Microsoft.Web.WebView2.WinForms.xml
│ │ │ ├── Microsoft.Web.WebView2.Wpf.dll
│ │ │ └── Microsoft.Web.WebView2.Wpf.xml
│ │ └── netcoreapp3.0
│ │ │ ├── Microsoft.Web.WebView2.Core.dll
│ │ │ ├── Microsoft.Web.WebView2.Core.xml
│ │ │ ├── Microsoft.Web.WebView2.WinForms.dll
│ │ │ ├── Microsoft.Web.WebView2.WinForms.xml
│ │ │ ├── Microsoft.Web.WebView2.Wpf.dll
│ │ │ └── Microsoft.Web.WebView2.Wpf.xml
│ │ ├── runtimes
│ │ ├── win-arm64
│ │ │ └── native
│ │ │ │ └── WebView2Loader.dll
│ │ ├── win-x64
│ │ │ └── native
│ │ │ │ └── WebView2Loader.dll
│ │ └── win-x86
│ │ │ └── native
│ │ │ └── WebView2Loader.dll
│ │ └── tools
│ │ └── VisualStudioToolsManifest.xml
│ └── resources.rc
├── External
├── asio
│ ├── asio.cpp
│ ├── asio.h
│ ├── asiodrvr.cpp
│ ├── asiodrvr.h
│ ├── asiosys.h
│ ├── combase.cpp
│ ├── combase.h
│ ├── debugmessage.cpp
│ ├── dllentry.cpp
│ ├── iasiodrv.h
│ ├── register.cpp
│ └── wxdebug.h
├── dnssd
│ ├── include
│ │ └── dns_sd.h
│ └── lib
│ │ └── dnssd.lib
└── servus
│ ├── include
│ └── servus
│ │ ├── api.h
│ │ ├── avahi
│ │ └── servus.h
│ │ ├── defines.h
│ │ ├── definesDarwin.h
│ │ ├── definesDarwin.h.in
│ │ ├── definesLinux.h
│ │ ├── definesLinux.h.in
│ │ ├── definesWin32.h
│ │ ├── definesWin32.h.in
│ │ ├── dnssd
│ │ └── servus.h
│ │ ├── listener.h
│ │ ├── md5
│ │ └── md5.hh
│ │ ├── none
│ │ └── servus.h
│ │ ├── result.h
│ │ ├── serializable.h
│ │ ├── servus.h
│ │ ├── types.h
│ │ ├── uint128_t.h
│ │ ├── uri.h
│ │ └── version.h
│ └── lib
│ ├── linux
│ ├── libServus.so
│ ├── libServus.so.1.6.0
│ └── libServus.so.6
│ ├── osx
│ ├── debug
│ │ └── libServus.a
│ └── release
│ │ └── libServus.a
│ ├── raspberry
│ ├── libServus.so
│ ├── libServus.so.1.6.0
│ └── libServus.so.6
│ ├── raspberry64
│ └── libServus.so
│ ├── silicon
│ ├── debug
│ │ └── libServus.a
│ └── release
│ │ └── libServus.a
│ └── win
│ └── x64
│ ├── debug
│ └── Servus.lib
│ └── release
│ └── Servus.lib
├── JuceLibraryCode
├── AppConfig.h
├── BinaryData.cpp
├── BinaryData.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_processors.cpp
├── include_juce_audio_processors.mm
├── include_juce_audio_processors_ara.cpp
├── include_juce_audio_processors_lv2_libs.cpp
├── 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_dmx.cpp
├── 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_opengl.cpp
├── include_juce_opengl.mm
├── include_juce_organicui.cpp
├── include_juce_organicui2.cpp
├── include_juce_organicui2b.cpp
├── include_juce_organicui3.cpp
├── include_juce_organicui4.cpp
├── include_juce_osc.cpp
├── include_juce_serial.cpp
├── include_juce_simpleweb.cpp
├── include_juce_simpleweb2.cpp
└── include_juce_timeline.cpp
├── LICENSE
├── Package
├── Blux.pkgproj
└── bg.png
├── README.md
├── Resources
├── colorsource
│ ├── multipoint.png
│ ├── node.png
│ ├── patterns
│ │ ├── noise.png
│ │ ├── point.png
│ │ ├── rainbow.png
│ │ ├── solidcolor.png
│ │ └── strobe.png
│ ├── picture.png
│ ├── script.png
│ ├── timeline.png
│ └── video.png
├── crash.png
├── crash.psd
├── default.bluxlayout
├── fx.png
├── icon.png
├── icon128.png
├── icon2.png
├── icon3.png
├── link.png
└── seq.png
├── Source
├── Audio
│ ├── AudioManager.cpp
│ ├── AudioManager.h
│ └── ui
│ │ ├── AudioManagerHardwareEditor.cpp
│ │ └── AudioManagerHardwareEditor.h
├── ChainViz
│ ├── ChainViz.cpp
│ ├── ChainViz.h
│ ├── ChainVizTarget.cpp
│ └── ChainVizTarget.h
├── Color
│ ├── ColorIncludes.cpp
│ ├── ColorIncludes.h
│ ├── ColorSource
│ │ ├── ColorSource.cpp
│ │ ├── ColorSource.h
│ │ ├── ColorSourceFactory.cpp
│ │ ├── ColorSourceFactory.h
│ │ ├── ColorSourceLibrary.cpp
│ │ ├── ColorSourceLibrary.h
│ │ ├── sources
│ │ │ ├── node
│ │ │ │ ├── NodeColorSource.cpp
│ │ │ │ └── NodeColorSource.h
│ │ │ ├── pattern
│ │ │ │ ├── PatternColorSource.cpp
│ │ │ │ └── PatternColorSource.h
│ │ │ ├── picture
│ │ │ │ ├── PictureColorSource.cpp
│ │ │ │ └── PictureColorSource.h
│ │ │ ├── script
│ │ │ │ ├── ScriptColorSource.cpp
│ │ │ │ └── ScriptColorSource.h
│ │ │ └── video
│ │ │ │ ├── VideoColorSource.cpp
│ │ │ │ └── VideoColorSource.h
│ │ └── ui
│ │ │ ├── ColorSourceChooser.cpp
│ │ │ ├── ColorSourceChooser.h
│ │ │ ├── ColorSourceGridUI.cpp
│ │ │ ├── ColorSourceGridUI.h
│ │ │ ├── ColorSourceLibraryGridUI.cpp
│ │ │ ├── ColorSourceLibraryGridUI.h
│ │ │ ├── ColorViz.cpp
│ │ │ └── ColorViz.h
│ └── PixelShape
│ │ ├── PixelShape.cpp
│ │ ├── PixelShape.h
│ │ └── ui
│ │ ├── PixelShapeChooser.cpp
│ │ ├── PixelShapeChooser.h
│ │ ├── PixelShapeEditor.cpp
│ │ └── PixelShapeEditor.h
├── Common
│ ├── Action
│ │ ├── Action.cpp
│ │ ├── Action.h
│ │ ├── ActionManager.cpp
│ │ └── ActionManager.h
│ ├── CommonClasses
│ │ ├── ComponentType.h
│ │ └── SceneListener.h
│ ├── CommonIncludes.cpp
│ ├── CommonIncludes.h
│ ├── Helpers
│ │ ├── ColorHelpers.cpp
│ │ ├── ColorHelpers.h
│ │ ├── FastNoiseLite.h
│ │ ├── SceneHelpers.cpp
│ │ ├── SceneHelpers.h
│ │ ├── TimedEffectHiresTimer.cpp
│ │ └── TimedEffectHiresTimer.h
│ ├── MIDI
│ │ ├── MIDIDevice.cpp
│ │ ├── MIDIDevice.h
│ │ ├── MIDIDeviceParameter.cpp
│ │ ├── MIDIDeviceParameter.h
│ │ ├── MIDIManager.cpp
│ │ ├── MIDIManager.h
│ │ ├── MTCReceiver.cpp
│ │ ├── MTCReceiver.h
│ │ ├── MTCSender.cpp
│ │ ├── MTCSender.h
│ │ └── ui
│ │ │ ├── MIDIDeviceChooser.cpp
│ │ │ ├── MIDIDeviceChooser.h
│ │ │ ├── MIDIDeviceParameterUI.cpp
│ │ │ └── MIDIDeviceParameterUI.h
│ ├── ParameterLink
│ │ ├── ParameterLink.cpp
│ │ ├── ParameterLink.h
│ │ └── ui
│ │ │ ├── LinkableParameterEditor.cpp
│ │ │ └── LinkableParameterEditor.h
│ ├── Serial
│ │ └── lib
│ │ │ ├── cobs
│ │ │ ├── cobs.cpp
│ │ │ └── cobs.h
│ │ │ └── serial
│ │ │ ├── impl
│ │ │ ├── list_ports
│ │ │ │ ├── list_ports_linux.cc
│ │ │ │ ├── list_ports_osx.cc
│ │ │ │ └── list_ports_win.cc
│ │ │ ├── unix.cc
│ │ │ └── win.cc
│ │ │ └── serial.cc
│ ├── Spatializer
│ │ ├── SpatItem.cpp
│ │ ├── SpatItem.h
│ │ ├── SpatManager.cpp
│ │ ├── SpatManager.h
│ │ └── ui
│ │ │ ├── SpatItemViewUI.cpp
│ │ │ ├── SpatItemViewUI.h
│ │ │ ├── SpatManagerView.cpp
│ │ │ └── SpatManagerView.h
│ └── Zeroconf
│ │ ├── ZeroconfManager.cpp
│ │ └── ZeroconfManager.h
├── Effect
│ ├── Effect.cpp
│ ├── Effect.h
│ ├── EffectIncludes.cpp
│ ├── EffectIncludes.h
│ ├── EffectManager.cpp
│ ├── EffectManager.h
│ ├── Filter
│ │ ├── Filter.cpp
│ │ ├── Filter.h
│ │ ├── FilterManager.cpp
│ │ ├── FilterManager.h
│ │ ├── filters
│ │ │ ├── group
│ │ │ │ ├── GroupFilter.cpp
│ │ │ │ └── GroupFilter.h
│ │ │ ├── id
│ │ │ │ ├── IDFilter.cpp
│ │ │ │ └── IDFilter.h
│ │ │ └── layout
│ │ │ │ ├── LayoutFilter.cpp
│ │ │ │ ├── LayoutFilter.h
│ │ │ │ └── ui
│ │ │ │ ├── LayoutFilterStageView.cpp
│ │ │ │ ├── LayoutFilterStageView.h
│ │ │ │ ├── LayoutFilterStageViewUI.cpp
│ │ │ │ └── LayoutFilterStageViewUI.h
│ │ └── ui
│ │ │ ├── FilterEditor.cpp
│ │ │ ├── FilterEditor.h
│ │ │ ├── FilterManagerEditor.cpp
│ │ │ └── FilterManagerEditor.h
│ ├── GlobalEffectManager.cpp
│ ├── GlobalEffectManager.h
│ ├── actions
│ │ ├── EffectAction.cpp
│ │ └── EffectAction.h
│ ├── effects
│ │ ├── color
│ │ │ ├── ColorEffect.cpp
│ │ │ ├── ColorEffect.h
│ │ │ ├── gradientmap
│ │ │ │ ├── ColorGradientMapEffect.cpp
│ │ │ │ └── ColorGradientMapEffect.h
│ │ │ ├── hsv
│ │ │ │ ├── HSVAdjustEffect.cpp
│ │ │ │ └── HSVAdjustEffect.h
│ │ │ ├── override
│ │ │ │ ├── ColorSourceOverrideEffect.cpp
│ │ │ │ ├── ColorSourceOverrideEffect.h
│ │ │ │ └── ui
│ │ │ │ │ ├── ColorSourceOverrideEffectEditor.cpp
│ │ │ │ │ └── ColorSourceOverrideEffectEditor.h
│ │ │ └── remap
│ │ │ │ ├── ColorPositionRemapEffect.cpp
│ │ │ │ └── ColorPositionRemapEffect.h
│ │ ├── customcomponent
│ │ │ ├── CustomComponentEffect.cpp
│ │ │ └── CustomComponentEffect.h
│ │ ├── orientation
│ │ │ ├── OrientationEffect.cpp
│ │ │ └── OrientationEffect.h
│ │ ├── override
│ │ │ ├── CurveMapEffect.cpp
│ │ │ ├── CurveMapEffect.h
│ │ │ ├── FreezeEffect.cpp
│ │ │ ├── FreezeEffect.h
│ │ │ ├── OverrideEffect.cpp
│ │ │ ├── OverrideEffect.h
│ │ │ ├── PointEffect.cpp
│ │ │ └── PointEffect.h
│ │ ├── script
│ │ │ ├── ScriptEffect.cpp
│ │ │ └── ScriptEffect.h
│ │ ├── smooth
│ │ │ ├── DampingEffect.cpp
│ │ │ ├── DampingEffect.h
│ │ │ ├── SmoothingEffect.cpp
│ │ │ └── SmoothingEffect.h
│ │ └── time
│ │ │ ├── TimedEffect.cpp
│ │ │ ├── TimedEffect.h
│ │ │ ├── automation
│ │ │ ├── AutomationEffect.cpp
│ │ │ ├── AutomationEffect.h
│ │ │ └── ui
│ │ │ │ ├── AutomationEffectEditor.cpp
│ │ │ │ └── AutomationEffectEditor.h
│ │ │ └── noise
│ │ │ ├── NoiseEffect.cpp
│ │ │ └── NoiseEffect.h
│ └── ui
│ │ ├── EffectChainVizUI.cpp
│ │ ├── EffectChainVizUI.h
│ │ ├── EffectEditor.cpp
│ │ ├── EffectEditor.h
│ │ ├── EffectManagerEditor.cpp
│ │ ├── EffectManagerEditor.h
│ │ ├── GlobalEffectManagerUI.cpp
│ │ └── GlobalEffectManagerUI.h
├── Engine
│ ├── BluxEngine.cpp
│ ├── BluxEngine.h
│ ├── GenericAction.cpp
│ └── GenericAction.h
├── Interface
│ ├── Interface.cpp
│ ├── Interface.h
│ ├── InterfaceIncludes.cpp
│ ├── InterfaceIncludes.h
│ ├── InterfaceManager.cpp
│ ├── InterfaceManager.h
│ ├── interfaces
│ │ ├── bento
│ │ │ ├── BentoInterface.cpp
│ │ │ └── BentoInterface.h
│ │ ├── dmx
│ │ │ ├── DMXInterface.cpp
│ │ │ ├── DMXInterface.h
│ │ │ └── ui
│ │ │ │ ├── DMXChannelView.cpp
│ │ │ │ ├── DMXChannelView.h
│ │ │ │ ├── DMXInterfaceUI.cpp
│ │ │ │ └── DMXInterfaceUI.h
│ │ ├── midi
│ │ │ ├── MIDIInterface.cpp
│ │ │ ├── MIDIInterface.h
│ │ │ ├── MIDIMapping.cpp
│ │ │ ├── MIDIMapping.h
│ │ │ ├── MIDIMappingManager.cpp
│ │ │ ├── MIDIMappingManager.h
│ │ │ └── ui
│ │ │ │ ├── MIDIMappingEditor.cpp
│ │ │ │ └── MIDIMappingEditor.h
│ │ ├── osc
│ │ │ ├── OSCInterface.cpp
│ │ │ ├── OSCInterface.h
│ │ │ ├── custom
│ │ │ │ ├── CustomOSCInterface.cpp
│ │ │ │ └── CustomOSCInterface.h
│ │ │ └── ui
│ │ │ │ ├── OSCInputEditor.cpp
│ │ │ │ ├── OSCInputEditor.h
│ │ │ │ ├── OSCOutputEditor.cpp
│ │ │ │ └── OSCOutputEditor.h
│ │ └── serial
│ │ │ ├── SerialInterface.cpp
│ │ │ └── SerialInterface.h
│ └── ui
│ │ ├── InterfaceManagerUI.cpp
│ │ ├── InterfaceManagerUI.h
│ │ ├── InterfaceUI.cpp
│ │ └── InterfaceUI.h
├── Main.cpp
├── Main.h
├── MainComponent.cpp
├── MainComponent.h
├── MainComponentCommands.cpp
├── MainIncludes.cpp
├── MainIncludes.h
├── Object
│ ├── Component
│ │ ├── ComponentManager.cpp
│ │ ├── ComponentManager.h
│ │ ├── ObjectComponent.cpp
│ │ ├── ObjectComponent.h
│ │ ├── components
│ │ │ ├── color
│ │ │ │ ├── ColorComponent.cpp
│ │ │ │ ├── ColorComponent.h
│ │ │ │ └── ui
│ │ │ │ │ ├── ColorComponentEditor.cpp
│ │ │ │ │ └── ColorComponentEditor.h
│ │ │ ├── custom
│ │ │ │ ├── CustomComponent.cpp
│ │ │ │ └── CustomComponent.h
│ │ │ ├── dimmer
│ │ │ │ ├── DimmerComponent.cpp
│ │ │ │ └── DimmerComponent.h
│ │ │ ├── orientation
│ │ │ │ ├── Matrix3x3.hpp
│ │ │ │ ├── OrientationComponent.cpp
│ │ │ │ ├── OrientationComponent.h
│ │ │ │ ├── Quaternion.hpp
│ │ │ │ ├── Vector2.hpp
│ │ │ │ └── Vector3.hpp
│ │ │ └── shutter
│ │ │ │ ├── ShutterComponent.cpp
│ │ │ │ └── ShutterComponent.h
│ │ └── ui
│ │ │ ├── ComponentManagerEditor.cpp
│ │ │ ├── ComponentManagerEditor.h
│ │ │ ├── ObjectComponentEditor.cpp
│ │ │ └── ObjectComponentEditor.h
│ ├── Group
│ │ ├── Group.cpp
│ │ ├── Group.h
│ │ ├── GroupManager.cpp
│ │ ├── GroupManager.h
│ │ ├── groups
│ │ │ ├── object
│ │ │ │ ├── ObjectGroup.cpp
│ │ │ │ ├── ObjectGroup.h
│ │ │ │ └── ui
│ │ │ │ │ ├── ObjectGroupUI.cpp
│ │ │ │ │ └── ObjectGroupUI.h
│ │ │ └── virtual
│ │ │ │ ├── VirtualGroup.cpp
│ │ │ │ └── VirtualGroup.h
│ │ └── ui
│ │ │ ├── GroupManagerUI.cpp
│ │ │ ├── GroupManagerUI.h
│ │ │ ├── GroupUI.cpp
│ │ │ └── GroupUI.h
│ ├── Layout
│ │ ├── StageLayout.cpp
│ │ ├── StageLayout.h
│ │ ├── StageLayoutManager.cpp
│ │ ├── StageLayoutManager.h
│ │ └── ui
│ │ │ ├── Object2DView.cpp
│ │ │ ├── Object2DView.h
│ │ │ ├── StageLayout2DView.cpp
│ │ │ ├── StageLayout2DView.h
│ │ │ ├── StageLayoutManagerUI.cpp
│ │ │ ├── StageLayoutManagerUI.h
│ │ │ ├── StageLayoutUI.cpp
│ │ │ └── StageLayoutUI.h
│ ├── Object.cpp
│ ├── Object.h
│ ├── ObjectIncludes.cpp
│ ├── ObjectIncludes.h
│ ├── ObjectManager.cpp
│ ├── ObjectManager.h
│ ├── actions
│ │ ├── ObjectAction.cpp
│ │ └── ObjectAction.h
│ └── ui
│ │ ├── ObjectChainVizUI.cpp
│ │ ├── ObjectChainVizUI.h
│ │ ├── ObjectCustomView.cpp
│ │ ├── ObjectCustomView.h
│ │ ├── ObjectGridUI.cpp
│ │ ├── ObjectGridUI.h
│ │ ├── ObjectManagerGridUI.cpp
│ │ ├── ObjectManagerGridUI.h
│ │ ├── ObjectManagerUI.cpp
│ │ ├── ObjectManagerUI.h
│ │ ├── ObjectUI.cpp
│ │ └── ObjectUI.h
├── Scene
│ ├── Scene.cpp
│ ├── Scene.h
│ ├── SceneIncludes.cpp
│ ├── SceneIncludes.h
│ ├── SceneManager.cpp
│ ├── SceneManager.h
│ ├── actions
│ │ ├── SceneAction.cpp
│ │ └── SceneAction.h
│ └── ui
│ │ ├── SceneManagerUI.cpp
│ │ ├── SceneManagerUI.h
│ │ ├── SceneUI.cpp
│ │ └── SceneUI.h
├── Sequence
│ ├── BluxSequence.cpp
│ ├── BluxSequence.h
│ ├── BluxSequenceManager.cpp
│ ├── BluxSequenceManager.h
│ ├── GlobalSequenceManager.cpp
│ ├── GlobalSequenceManager.h
│ ├── SequenceIncludes.cpp
│ ├── SequenceIncludes.h
│ ├── actions
│ │ ├── SequenceAction.cpp
│ │ └── SequenceAction.h
│ ├── layers
│ │ ├── action
│ │ │ ├── ActionLayer.cpp
│ │ │ ├── ActionLayer.h
│ │ │ ├── ActionTrigger.cpp
│ │ │ └── ActionTrigger.h
│ │ ├── automation
│ │ │ ├── AutomationLayer.cpp
│ │ │ └── AutomationLayer.h
│ │ ├── colorsource
│ │ │ ├── ColorSourceLayer.cpp
│ │ │ └── ColorSourceLayer.h
│ │ ├── effect
│ │ │ ├── EffectBlock.cpp
│ │ │ ├── EffectBlock.h
│ │ │ ├── EffectBlockManager.cpp
│ │ │ ├── EffectBlockManager.h
│ │ │ ├── EffectLayer.cpp
│ │ │ ├── EffectLayer.h
│ │ │ └── ui
│ │ │ │ ├── EffectBlockManagerUI.cpp
│ │ │ │ ├── EffectBlockManagerUI.h
│ │ │ │ ├── EffectBlockUI.cpp
│ │ │ │ ├── EffectBlockUI.h
│ │ │ │ ├── EffectLayerTimeline.cpp
│ │ │ │ └── EffectLayerTimeline.h
│ │ └── rawdata
│ │ │ ├── RawDataBlock.cpp
│ │ │ ├── RawDataBlock.h
│ │ │ ├── RawDataBlockManager.cpp
│ │ │ ├── RawDataBlockManager.h
│ │ │ ├── RawDataLayer.cpp
│ │ │ ├── RawDataLayer.h
│ │ │ └── ui
│ │ │ ├── RawDataBlockManagerUI.cpp
│ │ │ ├── RawDataBlockManagerUI.h
│ │ │ ├── RawDataBlockUI.cpp
│ │ │ ├── RawDataBlockUI.h
│ │ │ ├── RawDataLayerPanel.cpp
│ │ │ ├── RawDataLayerPanel.h
│ │ │ ├── RawDataLayerTimeline.cpp
│ │ │ └── RawDataLayerTimeline.h
│ └── ui
│ │ ├── BluxSequenceChainVizUI.cpp
│ │ ├── BluxSequenceChainVizUI.h
│ │ ├── BluxSequenceEditor.cpp
│ │ ├── BluxSequenceEditor.h
│ │ ├── GlobalSequenceManagerUI.cpp
│ │ └── GlobalSequenceManagerUI.h
├── UI
│ ├── AssetManager.cpp
│ ├── AssetManager.h
│ ├── BluxInspector.cpp
│ └── BluxInspector.h
└── Viz
│ ├── Viz.cpp
│ └── Viz.h
├── install.iss
└── setup.ico
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: benkuper
2 | patreon: benkuper
3 | custom: ["https://www.paypal.me/benkuper"]
4 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Environment**
11 | - OS: [e.g. Windows 10, MacOS 10.14]
12 | - Version [e.g. 1.7.2]
13 |
14 | **Describe the bug**
15 | A clear and concise description of what the bug is.
16 |
17 | **To Reproduce**
18 | Steps to reproduce the behavior:
19 | 1.
20 | 2.
21 | 3.
22 | 4.
23 |
24 | **Expected behavior**
25 | A clear and concise description of what you expected to happen.
26 |
27 | **Additional context**
28 | Add any other context about the problem here.
29 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/questions-and-feedbacks.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Questions and Feedbacks
3 | about: General purpose issue
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/actions/set-suffix/action.yml:
--------------------------------------------------------------------------------
1 | name: 'Set Variables'
2 | description: 'Set app version suffix'
3 | inputs:
4 | os:
5 | description: 'OS designator'
6 | required: true
7 | outputs:
8 | suffix:
9 | description: 'Suffix for the compiled version'
10 | value: ${{ steps.main.outputs.suffix }}
11 |
12 | config:
13 | description: 'Config to use (Win only)'
14 | value: ${{ steps.main.outputs.config }}
15 |
16 | dep:
17 | description: 'Dependency file suffix'
18 | value: ${{ steps.main.outputs.dep }}
19 |
20 | runs:
21 | using: "composite"
22 | steps:
23 | - id: main
24 | run: |
25 | if [[ $GITHUB_REF == *"refs/tags/"* ]]
26 | then
27 | echo "Found Tag : ${GITHUB_REF#refs/tags/}"
28 | echo "::set-output name=suffix::${{ inputs.os }}-${GITHUB_REF#refs/tags/}"
29 | echo "::set-output name=config::Release"
30 | echo "::set-output name=dep::release"
31 | else
32 | echo "::set-output name=suffix::${{ inputs.os }}-bleedingedge"
33 | echo "::set-output name=config::Release"
34 | echo "::set-output name=dep::release"
35 | fi
36 | shell: bash
37 |
--------------------------------------------------------------------------------
/.github/actions/upload/action.yml:
--------------------------------------------------------------------------------
1 | name: 'Upload'
2 | description: 'Upload package to server'
3 | inputs:
4 | url:
5 | description: 'Upload URL'
6 | required: true
7 | pass:
8 | description: 'Upload password'
9 | required: true
10 | pkg-name:
11 | description: 'Name of the file to upload'
12 | required: true
13 |
14 | runs:
15 | using: "composite"
16 | steps:
17 | - run: curl -X POST -F "appFile=@${{ inputs.pkg-name }}" -F "pass=${{ inputs.pass }}" ${{ inputs.url }}
18 | shell: bash
19 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "Modules/juce_organicui"]
2 | path = Modules/juce_organicui
3 | url = http://github.com/benkuper/juce_organicui
4 | [submodule "Modules/juce_timeline"]
5 | path = Modules/juce_timeline
6 | url = http://github.com/benkuper/juce_timeline
7 | [submodule "Modules/juce_simpleweb"]
8 | path = Modules/juce_simpleweb
9 | url = http://github.com/benkuper/juce_simpleweb
10 | [submodule "Modules/juce_dmx"]
11 | path = Modules/juce_dmx
12 | url = https://github.com/benkuper/juce_dmx
13 | [submodule "Modules/juce_serial"]
14 | path = Modules/juce_serial
15 | url = https://github.com/benkuper/juce_serial
16 |
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/.DirIcon:
--------------------------------------------------------------------------------
1 | chataigne.png
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/AppRun:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/LinuxMakefile/Blux.AppDir/AppRun
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/blux.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=Blux
3 | Exec=Blux
4 | Icon=blux
5 | Type=Application
6 | Categories=AudioVideo;Art;
7 | Comment=Another way of playing with lights
8 | Comment[fr]=Une autre manière de jouer avec des lumières
9 | MimeType=text/blux;
10 | Name[en]=Blux
11 | Terminal=false
12 | StartupNotify=true
13 | NoDisplay=false
14 | Name[en_US]=blux.desktop
15 |
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/blux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/LinuxMakefile/Blux.AppDir/blux.png
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libServus.so:
--------------------------------------------------------------------------------
1 | libServus.so.6
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libServus.so.1.6.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libServus.so.1.6.0
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libServus.so.6:
--------------------------------------------------------------------------------
1 | libServus.so.1.6.0
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libartnet.so:
--------------------------------------------------------------------------------
1 | ELF
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libartnet.so.1:
--------------------------------------------------------------------------------
1 | ELF
--------------------------------------------------------------------------------
/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libartnet.so.1.0.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/LinuxMakefile/Blux.AppDir/usr/lib/libartnet.so.1.0.0
--------------------------------------------------------------------------------
/Builds/MacOSX_CI/Blux.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Builds/MacOSX_CI/Icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/MacOSX_CI/Icon.icns
--------------------------------------------------------------------------------
/Builds/MacOSX_CI/Info-App.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | NSAppTransportSecurity
7 |
8 | NSAllowsArbitraryLoads
9 |
10 |
11 | CFBundleExecutable
12 | ${EXECUTABLE_NAME}
13 | CFBundleIconFile
14 | Icon.icns
15 | CFBundleIdentifier
16 | benkuper.Blux
17 | CFBundleName
18 | Blux
19 | CFBundleDisplayName
20 | Blux
21 | CFBundlePackageType
22 | APPL
23 | CFBundleSignature
24 | ????
25 | CFBundleShortVersionString
26 | 1.2.1b8
27 | CFBundleVersion
28 | 1.2.1b8
29 | NSHumanReadableCopyright
30 | Ben Kuper
31 | NSHighResolutionCapable
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Builds/MacOSX_CI/RecentFilesMenuTemplate.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/MacOSX_CI/RecentFilesMenuTemplate.nib
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/.DirIcon:
--------------------------------------------------------------------------------
1 | chataigne.png
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/AppRun:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/AppRun
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/blux.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=Blux
3 | Exec=Blux
4 | Icon=blux
5 | Type=Application
6 | Categories=AudioVideo;Art;
7 | Comment=Another way of playing with lights
8 | Comment[fr]=Une autre manière de jouer avec des lumières
9 | MimeType=text/blux;
10 | Name[en]=Blux
11 | Terminal=false
12 | StartupNotify=true
13 | NoDisplay=false
14 | Name[en_US]=blux.desktop
15 |
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/blux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/blux.png
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libBLT.2.5.so.8.6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libBLT.2.5.so.8.6
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libBLTlite.2.5.so.8.6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libBLTlite.2.5.so.8.6
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2-2.0.so.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2-2.0.so.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2-2.0.so.0.10.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2-2.0.so.0.10.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2.a
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2.so
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2main.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libSDL2main.a
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so.1.6.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so.1.6.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so.6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libServus.so.6
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so.1
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so.1.0.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libartnet.so.1.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libbcm_host.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libbcm_host.so
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libhidapi-hidraw.so:
--------------------------------------------------------------------------------
1 | libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0:
--------------------------------------------------------------------------------
1 | libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0.0.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libvchiq_arm.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libvchiq_arm.so
--------------------------------------------------------------------------------
/Builds/Raspberry/Blux.AppDir/usr/lib/libvcos.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry/Blux.AppDir/usr/lib/libvcos.so
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/.DirIcon:
--------------------------------------------------------------------------------
1 | chataigne.png
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/AppRun:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/AppRun
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/blux.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=Blux
3 | Exec=Blux
4 | Icon=blux
5 | Type=Application
6 | Categories=AudioVideo;Art;
7 | Comment=Another way of playing with lights
8 | Comment[fr]=Une autre manière de jouer avec des lumières
9 | MimeType=text/blux;
10 | Name[en]=Blux
11 | Terminal=false
12 | StartupNotify=true
13 | NoDisplay=false
14 | Name[en_US]=blux.desktop
15 |
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/blux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/blux.png
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libSDL2-2.0.so.0:
--------------------------------------------------------------------------------
1 | libSDL2-2.0.so.0.9.0
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libSDL2-2.0.so.0.9.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/usr/lib/libSDL2-2.0.so.0.9.0
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libSDL2.so:
--------------------------------------------------------------------------------
1 | libSDL2-2.0.so.0.9.0
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libServus.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/usr/lib/libServus.so
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libServus.so.6:
--------------------------------------------------------------------------------
1 | libServus.so
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libbluetooth.so.3:
--------------------------------------------------------------------------------
1 | libbluetooth.so.3.18.16
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libbluetooth.so.3.18.16:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/usr/lib/libbluetooth.so.3.18.16
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libhidapi-hidraw.so:
--------------------------------------------------------------------------------
1 | libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0:
--------------------------------------------------------------------------------
1 | libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/Raspberry64/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0.0.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/Raspberry64/Blux.AppDir/usr/lib/libhidapi-hidraw.so.0.0.0
--------------------------------------------------------------------------------
/Builds/VisualStudio2022/Blux.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio Version 17
4 |
5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blux - App", "Blux_App.vcxproj", "{06571C71-5085-34F3-9DDC-62152A110C97}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|x64 = Debug|x64
10 | Release|x64 = Release|x64
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {06571C71-5085-34F3-9DDC-62152A110C97}.Debug|x64.ActiveCfg = Debug|x64
14 | {06571C71-5085-34F3-9DDC-62152A110C97}.Debug|x64.Build.0 = Debug|x64
15 | {06571C71-5085-34F3-9DDC-62152A110C97}.Release|x64.ActiveCfg = Release|x64
16 | {06571C71-5085-34F3-9DDC-62152A110C97}.Release|x64.Build.0 = Release|x64
17 | EndGlobalSection
18 | GlobalSection(SolutionProperties) = preSolution
19 | HideSolutionNode = FALSE
20 | EndGlobalSection
21 | EndGlobal
22 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022/icon.ico
--------------------------------------------------------------------------------
/Builds/VisualStudio2022/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022/resources.rc:
--------------------------------------------------------------------------------
1 | #pragma code_page(65001)
2 |
3 | #ifdef JUCE_USER_DEFINED_RC_FILE
4 | #include JUCE_USER_DEFINED_RC_FILE
5 | #else
6 |
7 | #undef WIN32_LEAN_AND_MEAN
8 | #define WIN32_LEAN_AND_MEAN
9 | #include
10 |
11 | VS_VERSION_INFO VERSIONINFO
12 | FILEVERSION 1,2,1b8,0
13 | BEGIN
14 | BLOCK "StringFileInfo"
15 | BEGIN
16 | BLOCK "040904E4"
17 | BEGIN
18 | VALUE "CompanyName", "Ben Kuper\0"
19 | VALUE "LegalCopyright", "Ben Kuper\0"
20 | VALUE "FileDescription", "Blux\0"
21 | VALUE "FileVersion", "1.2.1b8\0"
22 | VALUE "ProductName", "Blux\0"
23 | VALUE "ProductVersion", "1.2.1b8\0"
24 | END
25 | END
26 |
27 | BLOCK "VarFileInfo"
28 | BEGIN
29 | VALUE "Translation", 0x409, 1252
30 | END
31 | END
32 |
33 | #endif
34 |
35 | IDI_ICON1 ICON DISCARDABLE "icon.ico"
36 | IDI_ICON2 ICON DISCARDABLE "icon.ico"
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/Blux.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio Version 17
4 |
5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blux - App", "Blux_App.vcxproj", "{06571C71-5085-34F3-9DDC-62152A110C97}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|x64 = Debug|x64
10 | Release|x64 = Release|x64
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {06571C71-5085-34F3-9DDC-62152A110C97}.Debug|x64.ActiveCfg = Debug|x64
14 | {06571C71-5085-34F3-9DDC-62152A110C97}.Debug|x64.Build.0 = Debug|x64
15 | {06571C71-5085-34F3-9DDC-62152A110C97}.Release|x64.ActiveCfg = Release|x64
16 | {06571C71-5085-34F3-9DDC-62152A110C97}.Release|x64.Build.0 = Release|x64
17 | EndGlobalSection
18 | GlobalSection(SolutionProperties) = preSolution
19 | HideSolutionNode = FALSE
20 | EndGlobalSection
21 | EndGlobal
22 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/icon.ico
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/.signature.p7s
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/Microsoft.Web.WebView2.1.0.902.49.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/Microsoft.Web.WebView2.1.0.902.49.nupkg
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/WebView2.tlb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/WebView2.tlb
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/Common.targets:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/Common.targets
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/Microsoft.Web.WebView2.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 | managed
8 |
9 |
10 |
11 |
13 | $(MSBuildThisFileDirectory)..\
14 |
15 |
16 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/Microsoft.Web.WebView2.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | native
7 |
8 |
9 |
10 |
12 | $(MSBuildThisFileDirectory)..\..\
13 |
14 |
15 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2Loader.dll.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2Loader.dll.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2LoaderStatic.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/arm64/WebView2LoaderStatic.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2Loader.dll.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2Loader.dll.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2LoaderStatic.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x64/WebView2LoaderStatic.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2Loader.dll.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2Loader.dll.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2LoaderStatic.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/build/native/x86/WebView2LoaderStatic.lib
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.Core.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.WinForms.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.WinForms.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/net45/Microsoft.Web.WebView2.Wpf.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.Core.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.WinForms.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.WinForms.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.Wpf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/lib/netcoreapp3.0/Microsoft.Web.WebView2.Wpf.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-arm64/native/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-arm64/native/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-x64/native/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-x64/native/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-x86/native/WebView2Loader.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/runtimes/win-x86/native/WebView2Loader.dll
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/packages/Microsoft.Web.WebView2.1.0.902.49/tools/VisualStudioToolsManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Builds/VisualStudio2022_CI/resources.rc:
--------------------------------------------------------------------------------
1 | #pragma code_page(65001)
2 |
3 | #ifdef JUCE_USER_DEFINED_RC_FILE
4 | #include JUCE_USER_DEFINED_RC_FILE
5 | #else
6 |
7 | #undef WIN32_LEAN_AND_MEAN
8 | #define WIN32_LEAN_AND_MEAN
9 | #include
10 |
11 | VS_VERSION_INFO VERSIONINFO
12 | FILEVERSION 1,2,1b8,0
13 | BEGIN
14 | BLOCK "StringFileInfo"
15 | BEGIN
16 | BLOCK "040904E4"
17 | BEGIN
18 | VALUE "CompanyName", "Ben Kuper\0"
19 | VALUE "LegalCopyright", "Ben Kuper\0"
20 | VALUE "FileDescription", "Blux\0"
21 | VALUE "FileVersion", "1.2.1b8\0"
22 | VALUE "ProductName", "Blux\0"
23 | VALUE "ProductVersion", "1.2.1b8\0"
24 | END
25 | END
26 |
27 | BLOCK "VarFileInfo"
28 | BEGIN
29 | VALUE "Translation", 0x409, 1252
30 | END
31 | END
32 |
33 | #endif
34 |
35 | IDI_ICON1 ICON DISCARDABLE "icon.ico"
36 | IDI_ICON2 ICON DISCARDABLE "icon.ico"
--------------------------------------------------------------------------------
/External/asio/debugmessage.cpp:
--------------------------------------------------------------------------------
1 | #include "asiosys.h"
2 |
3 | #if DEBUG
4 | #if MAC
5 | #include
6 | void DEBUGGERMESSAGE(char *string)
7 | {
8 | c2pstr(string);
9 | DebugStr((unsigned char *)string);
10 | }
11 | #else
12 | #error debugmessage
13 | #endif
14 | #endif
15 |
--------------------------------------------------------------------------------
/External/dnssd/lib/dnssd.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/dnssd/lib/dnssd.lib
--------------------------------------------------------------------------------
/External/servus/include/servus/api.h:
--------------------------------------------------------------------------------
1 | // generated by CommonLibrary.cmake, do not edit.
2 |
3 | /**
4 | * @file include/servus/api.h
5 | * Defines export visibility macros for library Servus.
6 | */
7 |
8 | #ifndef SERVUS_API_H
9 | #define SERVUS_API_H
10 |
11 | #include
12 |
13 | #if defined(_MSC_VER) || defined(__declspec)
14 | # define SERVUS_DLLEXPORT __declspec(dllexport)
15 | # define SERVUS_DLLIMPORT __declspec(dllimport)
16 | #else // _MSC_VER
17 | # define SERVUS_DLLEXPORT
18 | # define SERVUS_DLLIMPORT
19 | #endif // _MSC_VER
20 |
21 | #if defined(SERVUS_STATIC)
22 | # define SERVUS_API
23 | #elif defined(SERVUS_SHARED)
24 | # define SERVUS_API SERVUS_DLLEXPORT
25 | #else
26 | # define SERVUS_API SERVUS_DLLIMPORT
27 | #endif
28 |
29 | #if defined(SERVUS_SHARED_INL)
30 | # define SERVUS_INL SERVUS_DLLEXPORT
31 | #else
32 | # define SERVUS_INL SERVUS_DLLIMPORT
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/External/servus/include/servus/defines.h:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | /**
4 | * @file include/servus/defines.h
5 | * Includes compile-time defines of Servus.
6 | */
7 |
8 | #ifndef SERVUS_DEFINES_H
9 | #define SERVUS_DEFINES_H
10 |
11 | #ifdef __APPLE__
12 | # include
13 | #elif defined (__linux__)
14 | # include
15 | #elif defined (_WIN32)
16 | # include
17 | #else
18 | # error Unknown OS
19 | #endif
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesDarwin.h:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Darwin_H
4 | #define Servus_DEFINES_Darwin_H
5 |
6 | #ifndef SERVUS_USE_DNSSD
7 | # define SERVUS_USE_DNSSD 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Darwin
13 | # define Darwin 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesDarwin.h.in:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Darwin_H
4 | #define Servus_DEFINES_Darwin_H
5 |
6 | #ifndef SERVUS_USE_DNSSD
7 | # define SERVUS_USE_DNSSD 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Darwin
13 | # define Darwin 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesLinux.h:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Linux_H
4 | #define Servus_DEFINES_Linux_H
5 |
6 | #ifndef SERVUS_USE_AVAHI_CLIENT
7 | # define SERVUS_USE_AVAHI_CLIENT 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Linux
13 | # define Linux 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesLinux.h.in:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Linux_H
4 | #define Servus_DEFINES_Linux_H
5 |
6 | #ifndef SERVUS_USE_AVAHI_CLIENT
7 | # define SERVUS_USE_AVAHI_CLIENT 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Linux
13 | # define Linux 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesWin32.h:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Win32_H
4 | #define Servus_DEFINES_Win32_H
5 |
6 | #ifndef SERVUS_USE_DNSSD
7 | # define SERVUS_USE_DNSSD 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Win32
13 | # define Win32 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/include/servus/definesWin32.h.in:
--------------------------------------------------------------------------------
1 | // generated by CommonFindPackage.cmake, do not edit.
2 |
3 | #ifndef Servus_DEFINES_Win32_H
4 | #define Servus_DEFINES_Win32_H
5 |
6 | #ifndef SERVUS_USE_DNSSD
7 | # define SERVUS_USE_DNSSD 1
8 | #endif
9 | #ifndef SERVUS_USE_THREADS
10 | # define SERVUS_USE_THREADS 1
11 | #endif
12 | #ifndef Win32
13 | # define Win32 1
14 | #endif
15 | #ifndef SERVUS_USE_CXX11
16 | # define SERVUS_USE_CXX11 1
17 | #endif
18 | #ifndef SERVUS_LITTLEENDIAN
19 | # define SERVUS_LITTLEENDIAN 1
20 | #endif
21 |
22 | #endif
23 |
--------------------------------------------------------------------------------
/External/servus/lib/linux/libServus.so:
--------------------------------------------------------------------------------
1 | libServus.so.6
--------------------------------------------------------------------------------
/External/servus/lib/linux/libServus.so.1.6.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/linux/libServus.so.1.6.0
--------------------------------------------------------------------------------
/External/servus/lib/linux/libServus.so.6:
--------------------------------------------------------------------------------
1 | libServus.so.1.6.0
--------------------------------------------------------------------------------
/External/servus/lib/osx/debug/libServus.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/osx/debug/libServus.a
--------------------------------------------------------------------------------
/External/servus/lib/osx/release/libServus.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/osx/release/libServus.a
--------------------------------------------------------------------------------
/External/servus/lib/raspberry/libServus.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/raspberry/libServus.so
--------------------------------------------------------------------------------
/External/servus/lib/raspberry/libServus.so.1.6.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/raspberry/libServus.so.1.6.0
--------------------------------------------------------------------------------
/External/servus/lib/raspberry/libServus.so.6:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/raspberry/libServus.so.6
--------------------------------------------------------------------------------
/External/servus/lib/raspberry64/libServus.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/raspberry64/libServus.so
--------------------------------------------------------------------------------
/External/servus/lib/silicon/debug/libServus.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/silicon/debug/libServus.a
--------------------------------------------------------------------------------
/External/servus/lib/silicon/release/libServus.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/silicon/release/libServus.a
--------------------------------------------------------------------------------
/External/servus/lib/win/x64/debug/Servus.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/win/x64/debug/Servus.lib
--------------------------------------------------------------------------------
/External/servus/lib/win/x64/release/Servus.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/External/servus/lib/win/x64/release/Servus.lib
--------------------------------------------------------------------------------
/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_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_processors_ara.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_lv2_libs.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.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_dmx.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.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_opengl.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_opengl.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_organicui.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_organicui2.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_organicui2b.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_organicui3.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_organicui4.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_osc.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_serial.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_simpleweb.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_simpleweb2.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_timeline.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 |
--------------------------------------------------------------------------------
/Package/bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Package/bg.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Blux
2 | A new way of controlling stage lights and other devices
3 |
4 | Official Website : https://benjamin.kuperberg.fr/blux
5 |
6 | Working on Windows x64, Mac OS, Linux x64 and Raspberry Pi
7 |
8 | ## Troubleshooting
9 | Blux is now on Discord, join and meet the community:
10 | https://discord.gg/mWH7fZvubm
11 |
12 | ## The Badge Zone
13 | Build Status : [](https://github.com/benkuper/Blux/actions/workflows/build.yml)
14 |
--------------------------------------------------------------------------------
/Resources/colorsource/multipoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/multipoint.png
--------------------------------------------------------------------------------
/Resources/colorsource/node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/node.png
--------------------------------------------------------------------------------
/Resources/colorsource/patterns/noise.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/patterns/noise.png
--------------------------------------------------------------------------------
/Resources/colorsource/patterns/point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/patterns/point.png
--------------------------------------------------------------------------------
/Resources/colorsource/patterns/rainbow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/patterns/rainbow.png
--------------------------------------------------------------------------------
/Resources/colorsource/patterns/solidcolor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/patterns/solidcolor.png
--------------------------------------------------------------------------------
/Resources/colorsource/patterns/strobe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/patterns/strobe.png
--------------------------------------------------------------------------------
/Resources/colorsource/picture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/picture.png
--------------------------------------------------------------------------------
/Resources/colorsource/script.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/script.png
--------------------------------------------------------------------------------
/Resources/colorsource/timeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/timeline.png
--------------------------------------------------------------------------------
/Resources/colorsource/video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/colorsource/video.png
--------------------------------------------------------------------------------
/Resources/crash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/crash.png
--------------------------------------------------------------------------------
/Resources/crash.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/crash.psd
--------------------------------------------------------------------------------
/Resources/fx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/fx.png
--------------------------------------------------------------------------------
/Resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/icon.png
--------------------------------------------------------------------------------
/Resources/icon128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/icon128.png
--------------------------------------------------------------------------------
/Resources/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/icon2.png
--------------------------------------------------------------------------------
/Resources/icon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/icon3.png
--------------------------------------------------------------------------------
/Resources/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/link.png
--------------------------------------------------------------------------------
/Resources/seq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Resources/seq.png
--------------------------------------------------------------------------------
/Source/Audio/AudioManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | AudioManager.h
5 | Created: 27 Apr 2018 12:03:27pm
6 | Author: Ben
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #define AUDIO_INPUT_GRAPH_ID AudioProcessorGraph::NodeID(1)
14 | #define AUDIO_OUTPUT_GRAPH_ID AudioProcessorGraph::NodeID(2)
15 |
16 | class AudioModuleHardwareSettings :
17 | public ControllableContainer
18 | {
19 | public:
20 | AudioModuleHardwareSettings(AudioDeviceManager * am);
21 | ~AudioModuleHardwareSettings() {}
22 | AudioDeviceManager * am;
23 |
24 | InspectableEditor * getEditorInternal(bool isRoot, Array inspectables = {}) override;
25 | };
26 |
27 | class AudioManager :
28 | public ControllableContainer
29 | {
30 | public:
31 | juce_DeclareSingleton(AudioManager, true);
32 |
33 | AudioManager();
34 | ~AudioManager();
35 |
36 | AudioModuleHardwareSettings hs;
37 | AudioDeviceManager am;
38 | AudioProcessorPlayer player;
39 | AudioProcessorGraph graph;
40 |
41 | var getJSONData() override;
42 | void loadJSONDataInternal(var data) override;
43 | };
44 |
--------------------------------------------------------------------------------
/Source/Audio/ui/AudioManagerHardwareEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | AudioManagerEditor.h
5 | Created: 27 Apr 2018 12:04:23pm
6 | Author: Ben
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "../AudioManager.h"
14 |
15 | class AudioManagerHardwareEditor :
16 | public GenericControllableContainerEditor
17 | {
18 | public:
19 | AudioManagerHardwareEditor(AudioModuleHardwareSettings * hs, bool isRoot);
20 | ~AudioManagerHardwareEditor();
21 |
22 | AudioModuleHardwareSettings * hs;
23 | AudioDeviceSelectorComponent selector;
24 |
25 | void setCollapsed(bool value, bool force = false, bool animate = true, bool doNotRebuild = false) override;
26 | void resizedInternalContent(Rectangle &r) override;
27 | };
--------------------------------------------------------------------------------
/Source/ChainViz/ChainVizTarget.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ChainVizTarget.cpp
5 | Created: 31 Oct 2020 10:49:00am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "ChainVizTarget.h"
12 | #include "ChainViz.h"
13 | #include "Object/ObjectIncludes.h"
14 |
15 | ChainVizTarget::~ChainVizTarget()
16 | {
17 | }
18 |
19 |
20 | ChainVizComponent* ChainVizTarget::createVizComponent(Object* o, ComponentType ct, ChainVizType type) {
21 | return new ChainVizComponent(this, o, ct, type);
22 | }
23 |
--------------------------------------------------------------------------------
/Source/ChainViz/ChainVizTarget.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ChainVizTarget.h
5 | Created: 31 Oct 2020 10:47:53am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "Common/CommonClasses/ComponentType.h"
14 |
15 | class ChainVizComponent;
16 | class Object;
17 |
18 | class ChainVizTarget
19 | {
20 | public:
21 | enum ChainVizType { OBJECT_START, OBJECT_END, OBJECT_EFFECT, SCENE_EFFECT, GROUP_EFFECT, GLOBAL_EFFECT, SEQUENCE_EFFECT, CHAINVIZ_TYPE_MAX };
22 |
23 | virtual ~ChainVizTarget();
24 | virtual ChainVizComponent* createVizComponent(Object * o, ComponentType ct, ChainVizType type);
25 | };
--------------------------------------------------------------------------------
/Source/Color/ColorIncludes.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorIncludes.cpp
5 | Created: 9 Sep 2021 7:04:56pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "ColorIncludes.h"
12 | #include "Object/ObjectIncludes.h"
13 |
14 | #include "ColorSource/ColorSource.cpp"
15 | #include "ColorSource/ColorSourceFactory.cpp"
16 | #include "ColorSource/ColorSourceLibrary.cpp"
17 | #include "ColorSource/sources/node/NodeColorSource.cpp"
18 | #include "ColorSource/sources/pattern/PatternColorSource.cpp"
19 | #include "ColorSource/sources/picture/PictureColorSource.cpp"
20 | #include "ColorSource/sources/script/ScriptColorSource.cpp"
21 | #include "ColorSource/sources/video/VideoColorSource.cpp"
22 | #include "ColorSource/ui/ColorSourceChooser.cpp"
23 | #include "ColorSource/ui/ColorSourceGridUI.cpp"
24 | #include "ColorSource/ui/ColorSourceLibraryGridUI.cpp"
25 | #include "ColorSource/ui/ColorViz.cpp"
26 | #include "PixelShape/PixelShape.cpp"
27 | #include "PixelShape/ui/PixelShapeChooser.cpp"
28 | #include "PixelShape/ui/PixelShapeEditor.cpp"
--------------------------------------------------------------------------------
/Source/Color/ColorIncludes.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorIncludes.h
5 | Created: 9 Sep 2021 7:04:56pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 | #include "JuceHeader.h"
13 |
14 | #include "Common/CommonIncludes.h"
15 | #include "ColorSource/ColorSource.h"
16 |
17 | #include "PixelShape/PixelShape.h"
18 | #include "PixelShape/ui/PixelShapeChooser.h"
19 | #include "PixelShape/ui/PixelShapeEditor.h"
20 |
21 | #include "ColorSource/sources/node/NodeColorSource.h"
22 | #include "ColorSource/sources/pattern/PatternColorSource.h"
23 | #include "ColorSource/sources/picture/PictureColorSource.h"
24 |
25 | #include "ColorSource/ColorSourceFactory.h"
26 | #include "ColorSource/ColorSourceLibrary.h"
27 |
28 | #include "ColorSource/sources/script/ScriptColorSource.h"
29 | #include "ColorSource/sources/video/VideoColorSource.h"
30 |
31 | #include "ColorSource/ui/ColorSourceChooser.h"
32 | #include "ColorSource/ui/ColorSourceGridUI.h"
33 | #include "ColorSource/ui/ColorSourceLibraryGridUI.h"
34 | #include "ColorSource/ui/ColorViz.h"
35 |
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ColorSourceFactory.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceFactory.h
5 | Created: 7 Nov 2020 5:26:47pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceFactory :
14 | public Factory
15 | {
16 | public:
17 | juce_DeclareSingleton(ColorSourceFactory, true)
18 |
19 | ColorSourceFactory();
20 | ~ColorSourceFactory();
21 |
22 | void updateDefinitions();
23 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ColorSourceLibrary.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceLibrary.cpp
5 | Created: 2 Nov 2020 7:13:43pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | juce_ImplementSingleton(ColorSourceLibrary)
12 |
13 |
14 | ColorSourceLibrary::ColorSourceLibrary() :
15 | BaseManager("Color Templates")
16 | {
17 | gridThumbSize = addIntParameter("Thumb Size", "Size of thumbnails in grid view", 64, 32, 256);
18 | managerFactory = ColorSourceFactory::getInstance();
19 | }
20 |
21 | ColorSourceLibrary::~ColorSourceLibrary()
22 | {
23 | }
24 |
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ColorSourceLibrary.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceLibrary.h
5 | Created: 2 Nov 2020 7:13:43pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceLibrary :
14 | public BaseManager
15 | {
16 | public:
17 | juce_DeclareSingleton(ColorSourceLibrary, true);
18 |
19 | ColorSourceLibrary();
20 | ~ColorSourceLibrary();
21 |
22 | //ui
23 | IntParameter* gridThumbSize;
24 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/sources/node/NodeColorSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | NodeColorSource.cpp
5 | Created: 2 Nov 2020 6:19:59pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | NodeColorSource::NodeColorSource(var params) :
12 | ColorSource(getTypeString(), params)
13 | {
14 | }
15 |
16 | NodeColorSource::~NodeColorSource()
17 | {
18 | }
19 |
20 | void NodeColorSource::fillColorsForObjectInternal(Array& colors, Object* o, ColorComponent* comp, int id, float time)
21 | {
22 | }
23 |
--------------------------------------------------------------------------------
/Source/Color/ColorSource/sources/node/NodeColorSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | NodeColorSource.h
5 | Created: 2 Nov 2020 6:19:59pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class NodeColorSource :
14 | public ColorSource
15 | {
16 | public:
17 | NodeColorSource(var params = var());
18 | ~NodeColorSource();
19 |
20 | //NodeManager nodeManager;
21 |
22 | virtual void fillColorsForObjectInternal(Array& colors, Object* o, ColorComponent* comp, int id, float time) override;
23 |
24 | String getTypeString() const override { return "Node"; }
25 | static NodeColorSource* create(var params) { return new NodeColorSource(params); }
26 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/sources/picture/PictureColorSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PictureColorSource.h
5 | Created: 2 Nov 2020 6:20:22pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class PictureColorSource :
14 | public TimedColorSource
15 | {
16 | public:
17 | PictureColorSource(var params = var());
18 | ~PictureColorSource();
19 |
20 | FloatParameter* brightness;
21 | FloatParameter* saturation;
22 | FloatParameter* hue;
23 | FileParameter* pictureFile;
24 | Image picture;
25 |
26 | void onContainerParameterChangedInternal(Parameter*) override;
27 | virtual void fillColorsForObjectTimeInternal(Array& colors, Object* o, ColorComponent* comp, int id, float time, float originalTime) override;
28 |
29 | String getTypeString() const override { return "Picture"; }
30 | static PictureColorSource* create(var params) { return new PictureColorSource(params); }
31 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/sources/script/ScriptColorSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ScriptColorSource.cpp
5 | Created: 2 Nov 2020 6:20:28pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | ScriptColorSource::ScriptColorSource(var params) :
12 | TimedColorSource(getTypeString(), params)
13 | {
14 | }
15 |
16 | ScriptColorSource::~ScriptColorSource()
17 | {
18 | }
19 |
20 | void ScriptColorSource::fillColorsForObjectTimeInternal(Array& colors, Object* o, ColorComponent* comp, int id, float time, float originalTime)
21 | {
22 | }
23 |
--------------------------------------------------------------------------------
/Source/Color/ColorSource/sources/script/ScriptColorSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ScriptColorSource.h
5 | Created: 2 Nov 2020 6:20:28pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ScriptColorSource :
14 | public TimedColorSource
15 | {
16 | public:
17 | ScriptColorSource(var params = var());
18 | ~ScriptColorSource();
19 |
20 | //NodeManager nodeManager;
21 |
22 | virtual void fillColorsForObjectTimeInternal(Array& colors, Object* o, ColorComponent* comp, int id, float time, float originalTime) override;
23 |
24 | String getTypeString() const override { return "Script"; }
25 | static ScriptColorSource* create(var params) { return new ScriptColorSource(params); }
26 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ui/ColorSourceChooser.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceChooser.h
5 | Created: 8 Nov 2020 10:04:28am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceChooser :
14 | public TextButton
15 | {
16 | public:
17 | ColorSourceChooser();
18 | ~ColorSourceChooser();
19 |
20 | void clicked() override;
21 |
22 | class ChooserListener
23 | {
24 | public:
25 | /** Destructor. */
26 | virtual ~ChooserListener() {}
27 | virtual void sourceChosen(const String &type, ColorSource * templateRef) {}
28 | };
29 |
30 | ListenerList chooserListeners;
31 | void addChooserListener(ChooserListener* newListener) { chooserListeners.add(newListener); }
32 | void removeChooserListener(ChooserListener* listener) { chooserListeners.remove(listener); }
33 |
34 | };
35 |
36 |
37 | class ColorSourceMenu :
38 | public PopupMenu
39 | {
40 | public:
41 | ColorSourceMenu();
42 | ~ColorSourceMenu() {}
43 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ui/ColorSourceGridUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceGridUI.h
5 | Created: 3 Nov 2020 11:22:38am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceGridUI :
14 | public BaseItemMinimalUI
15 | {
16 | public:
17 | ColorSourceGridUI(ColorSource* item);
18 | ~ColorSourceGridUI();
19 |
20 | Image img;
21 |
22 | void paint(Graphics &g) override;
23 |
24 | void mouseDown(const MouseEvent& e) override;
25 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ui/ColorSourceLibraryGridUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceLibraryGridUI.h
5 | Created: 3 Nov 2020 11:21:01am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceLibraryGridUI :
14 | public BaseManagerShapeShifterUI,
15 | public ContainerAsyncListener
16 | {
17 | public:
18 | ColorSourceLibraryGridUI(const String& name);
19 | ~ColorSourceLibraryGridUI();
20 |
21 | std::unique_ptr thumbSizeUI;
22 |
23 | void resizedInternalHeader(Rectangle& r) override;
24 | void resizedInternalContent(Rectangle &r) override;
25 |
26 | void newMessage(const ContainerAsyncEvent& e) override;
27 |
28 |
29 | static ColorSourceLibraryGridUI* create(const String& name) { return new ColorSourceLibraryGridUI(name); }
30 | };
--------------------------------------------------------------------------------
/Source/Color/ColorSource/ui/ColorViz.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceViz.h
5 | Created: 8 Nov 2020 10:01:59am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorViz :
14 | public InspectableEditor,
15 | public Timer
16 | {
17 | public:
18 | ColorViz(ColorComponent* comp); //replace with ColorProvider 2 children classes, one for Component and one for color source
19 | ~ColorViz();
20 |
21 | ColorComponent* comp;
22 |
23 | void paint(Graphics& g) override;
24 | void timerCallback() override;
25 |
26 | void visibilityChanged() override;
27 | };
--------------------------------------------------------------------------------
/Source/Color/PixelShape/ui/PixelShapeChooser.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PixelShapeChooser.cpp
5 | Created: 8 Nov 2020 10:06:49am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | PixelShapeChooser::PixelShapeChooser() :
12 | TextButton("No Shape")
13 | {
14 | }
15 |
16 | PixelShapeChooser::~PixelShapeChooser()
17 | {
18 | }
19 |
20 | void PixelShapeChooser::clicked()
21 | {
22 | PopupMenu m;
23 |
24 | const int numTypes = 3;
25 | const String typeNames[numTypes]{"Point", "Line", "Circle" };
26 | for (int i = 0; i < numTypes; i++) m.addItem(i + 1, typeNames[i]);
27 |
28 | m.showMenuAsync(PopupMenu::Options(), [this, typeNames](int result)
29 | {
30 | if (result == 0) return;
31 | this->chooserListeners.call(&ChooserListener::shapeChosen, typeNames[result - 1]);
32 | }
33 | );
34 | }
35 |
--------------------------------------------------------------------------------
/Source/Color/PixelShape/ui/PixelShapeChooser.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PixelShapeChooser.h
5 | Created: 8 Nov 2020 10:06:49am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class PixelShapeChooser :
14 | public TextButton
15 | {
16 | public:
17 | PixelShapeChooser();
18 | ~PixelShapeChooser();
19 |
20 | void clicked() override;
21 |
22 | class ChooserListener
23 | {
24 | public:
25 | /** Destructor. */
26 | virtual ~ChooserListener() {}
27 | virtual void shapeChosen(const String &type) {}
28 | };
29 |
30 | ListenerList chooserListeners;
31 | void addChooserListener(ChooserListener* newListener) { chooserListeners.add(newListener); }
32 | void removeChooserListener(ChooserListener* listener) { chooserListeners.remove(listener); }
33 | };
34 |
--------------------------------------------------------------------------------
/Source/Color/PixelShape/ui/PixelShapeEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PixelShapeEditor.cpp
5 | Created: 8 Nov 2020 10:06:45am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Color/PixelShape/ui/PixelShapeEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PixelShapeEditor.h
5 | Created: 8 Nov 2020 10:06:45am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Common/Action/Action.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Action.cpp
5 | Created: 8 Oct 2020 3:33:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | Action::Action(var params) :
12 | BaseItem(params.getProperty("type","Action").toString())
13 | {
14 | typeString = params.getProperty("type", "Action").toString();
15 | showInspectorOnSelect = false;
16 | }
17 |
18 | Action::~Action()
19 | {
20 |
21 | }
22 |
23 | void Action::trigger()
24 | {
25 | if (!enabled->boolValue()) return;
26 | triggerInternal();
27 | }
28 |
29 | void Action::setValue(var value)
30 | {
31 | if (!enabled->boolValue()) return;
32 | setValueInternal(value);
33 | }
34 |
--------------------------------------------------------------------------------
/Source/Common/Action/Action.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Action.h
5 | Created: 8 Oct 2020 3:33:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Action :
14 | public BaseItem
15 | {
16 | public:
17 | Action(var params = var());
18 | virtual ~Action();
19 |
20 | String typeString;
21 |
22 | void trigger();
23 | virtual void triggerInternal() {}
24 |
25 | void setValue(var value);
26 | virtual void setValueInternal(var value) {}
27 |
28 | String getTypeString() const override { return typeString; }
29 | };
--------------------------------------------------------------------------------
/Source/Common/Action/ActionManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ActionManager.h
5 | Created: 12 Oct 2020 10:55:26am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ActionFactory :
14 | public Factory
15 | {
16 | public:
17 | juce_DeclareSingleton(ActionFactory, true)
18 | ActionFactory();
19 |
20 | };
21 |
22 | class ActionManager :
23 | public BaseManager
24 | {
25 | public:
26 | ActionManager(const String &name = "Actions");
27 | ~ActionManager();
28 |
29 | void triggerAll();
30 | void setValueAll(var value);
31 | };
--------------------------------------------------------------------------------
/Source/Common/CommonClasses/ComponentType.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ComponentType.h
5 | Created: 9 Sep 2021 9:29:10pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "JuceHeader.h"
14 |
15 | enum ComponentType { DIMMER, COLOR, SHUTTER, ORIENTATION, CUSTOM, TYPES_MAX };
16 | const String componentTypeNames[TYPES_MAX]{ "Dimmer", "Color", "Shutter", "Orientation", "Custom" };
17 |
18 |
--------------------------------------------------------------------------------
/Source/Common/CommonClasses/SceneListener.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SceneListener.h
5 | Created: 10 Sep 2021 12:21:49pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Scene;
14 | class SceneListener
15 | {
16 | public:
17 | /** Destructor. */
18 | virtual ~SceneListener() {}
19 | virtual void askForLoadScene(Scene* i, float loadTime) {}
20 | };
21 |
22 | class SceneManagerEvent
23 | {
24 | public:
25 | enum Type { SCENE_LOAD_START, SCENE_LOAD_END };
26 |
27 | SceneManagerEvent(Type t) : type(t) {}
28 | Type type;
29 | };
30 |
31 | typedef QueuedNotifier::Listener AsyncSceneListener;
--------------------------------------------------------------------------------
/Source/Common/Helpers/ColorHelpers.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorHelpers.h
5 | Created: 11 Aug 2023 5:07:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 |
14 | class ColorHelpers
15 | {
16 | public:
17 | static HashMap temperatureColorMap;
18 | static void init();
19 | static Colour getColorForTemperature(float temperature);
20 |
21 | static var getRGBWFromRGB(Colour val, float temperature);
22 | static var getRGBWAFromRGB(Colour val, float temperature);
23 | };
--------------------------------------------------------------------------------
/Source/Common/Helpers/SceneHelpers.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SceneHelpers.h
5 | Created: 9 Oct 2020 10:10:15am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class SceneHelpers
14 | {
15 | public:
16 | static var getParamsSceneData(ControllableContainer * i, Array excludeParams = Array(), bool recursive = false);
17 | static void lerpSceneParams(ControllableContainer * i, var startData, var endData, float weight, bool recursive = false);
18 | static void lerpSceneParam(ControllableContainer* container, Parameter * p, var startData, var endData, float weight);
19 |
20 | };
--------------------------------------------------------------------------------
/Source/Common/Helpers/TimedEffectHiresTimer.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | TimedEffectHiresTimer.cpp
5 | Created: 12 Apr 2023 1:09:44pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Common/CommonIncludes.h"
12 |
13 | juce_ImplementSingleton(TimedEffectHiResTimer);
14 |
15 | TimedEffectHiResTimer::TimedEffectHiResTimer()
16 | {
17 | startTimer(50);
18 | }
19 |
20 | void TimedEffectHiResTimer::hiResTimerCallback()
21 | {
22 | timerListeners.call(&TimerListener::hiResTimerCallback);
23 | }
24 |
--------------------------------------------------------------------------------
/Source/Common/Helpers/TimedEffectHiresTimer.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | TimedEffectHiresTimer.h
5 | Created: 12 Apr 2023 1:09:44pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class TimedEffectHiResTimer :
14 | public HighResolutionTimer
15 | {
16 | public:
17 | juce_DeclareSingleton(TimedEffectHiResTimer, true);
18 |
19 | TimedEffectHiResTimer();
20 | ~TimedEffectHiResTimer() {}
21 |
22 | virtual void hiResTimerCallback() override;
23 |
24 | class TimerListener
25 | {
26 | public:
27 | /** Destructor. */
28 | virtual ~TimerListener() {}
29 | virtual void hiResTimerCallback() {}
30 | };
31 |
32 | ListenerList timerListeners;
33 | void addTimerListener(TimerListener* newListener) { timerListeners.add(newListener); }
34 | void removeTimerListener(TimerListener* listener) { timerListeners.remove(listener); }
35 | };
--------------------------------------------------------------------------------
/Source/Common/MIDI/ui/MIDIDeviceParameterUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIDeviceParameterUI.h
5 | Created: 20 Dec 2016 3:06:05pm
6 | Author: Ben
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class MIDIDeviceParameterUI :
14 | public ParameterUI,
15 | public MIDIDeviceChooser::ChooserListener
16 | {
17 | public:
18 | MIDIDeviceParameterUI(Array midiParam);
19 | ~MIDIDeviceParameterUI();
20 |
21 | Array midiParams;
22 | MIDIDeviceParameter* midiParam;
23 | MIDIDeviceChooser chooser;
24 |
25 | void resized() override;
26 |
27 | void valueChanged(const var &value) override;
28 |
29 | void midiDeviceInSelected(MIDIInputDevice * d) override;
30 | void midiDeviceOutSelected(MIDIOutputDevice * d) override;
31 | };
--------------------------------------------------------------------------------
/Source/Common/Serial/lib/cobs/cobs.h:
--------------------------------------------------------------------------------
1 | #ifndef COBS_H
2 | #define COBS_H
3 |
4 | #include
5 | #include
6 |
7 | size_t cobs_encode(const uint8_t* input, size_t length, uint8_t* output);
8 | size_t cobs_decode(const uint8_t* input, size_t length, uint8_t* output);
9 |
10 | #endif
--------------------------------------------------------------------------------
/Source/Common/Spatializer/SpatItem.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatItem.cpp
5 | Created: 24 Dec 2023 10:04:48am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Common/CommonIncludes.h"
12 | #include "Object/ObjectIncludes.h"
13 |
14 | SpatItem::SpatItem(var params)
15 | {
16 | setHasCustomColor(true);
17 |
18 | viewUIPosition->setPoint(-1, -1);
19 | viewUISize->setPoint(2, 2);
20 | viewUIPosition->hideInEditor = false;
21 | viewUISize->hideInEditor = false;
22 | }
23 |
24 | SpatItem::~SpatItem()
25 | {
26 |
27 | }
28 |
29 | Point SpatItem::getObjectPosition(Object* o)
30 | {
31 | if (o == nullptr) return Point(0, 0);
32 |
33 | Vector3D oPos = o->stagePosition->getVector();
34 | Point pos(oPos.x, oPos.z);
35 |
36 | return (pos - viewUIPosition->getPoint()) / viewUISize->getPoint();
37 | }
38 |
--------------------------------------------------------------------------------
/Source/Common/Spatializer/SpatItem.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatItem.h
5 | Created: 24 Dec 2023 10:04:48am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object;
14 |
15 |
16 | class SpatItem :
17 | public BaseItem
18 | {
19 | public:
20 | SpatItem(var params = var());
21 | ~SpatItem();
22 |
23 | Point getObjectPosition(Object* o);
24 |
25 | DECLARE_TYPE("Spat")
26 | };
--------------------------------------------------------------------------------
/Source/Common/Spatializer/SpatManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatManager.cpp
5 | Created: 24 Dec 2023 10:04:41am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Common/CommonIncludes.h"
12 |
13 | SpatManager::SpatManager() :
14 | BaseManager("Spatializer")
15 | {
16 | selectItemWhenCreated = false;
17 | }
18 |
19 | SpatManager::~SpatManager()
20 | {
21 | }
22 |
--------------------------------------------------------------------------------
/Source/Common/Spatializer/SpatManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatManager.h
5 | Created: 24 Dec 2023 10:04:41am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class SpatManager :
14 | public BaseManager
15 | {
16 | public:
17 | SpatManager();
18 | ~SpatManager();
19 | };
--------------------------------------------------------------------------------
/Source/Common/Spatializer/ui/SpatItemViewUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatItemViewUI.cpp
5 | Created: 24 Dec 2023 10:05:26am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Common/CommonIncludes.h"
12 |
13 | SpatItemViewUI::SpatItemViewUI(SpatItem* item) :
14 | BaseItemMinimalUI(item)
15 | {
16 | autoHideWhenDragging = false;
17 | drawEmptyDragIcon = true;
18 | syncWithItemSize = true;
19 |
20 | setSize(item->viewUISize->getPoint().x, item->viewUISize->getPoint().y);
21 | }
22 |
23 | SpatItemViewUI::~SpatItemViewUI()
24 | {
25 | }
26 |
27 | void SpatItemViewUI::paint(Graphics& g)
28 | {
29 | Colour c = item->itemColor->getColor();
30 | g.fillAll(c.withAlpha(.2f));
31 | g.setColour(c);
32 | g.drawRect(getLocalBounds(), 1);
33 | }
34 |
--------------------------------------------------------------------------------
/Source/Common/Spatializer/ui/SpatItemViewUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatItemViewUI.h
5 | Created: 24 Dec 2023 10:05:26am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class SpatItemViewUI :
14 | public BaseItemMinimalUI
15 | {
16 | public:
17 | SpatItemViewUI(SpatItem* item);
18 | ~SpatItemViewUI();
19 |
20 | void paint(Graphics& g) override;
21 | };
--------------------------------------------------------------------------------
/Source/Common/Spatializer/ui/SpatManagerView.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatManagerView.cpp
5 | Created: 24 Dec 2023 10:05:15am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Common/CommonIncludes.h"
12 |
13 | SpatManagerView::SpatManagerView(SpatManager* manager) :
14 | BaseManagerViewUI(manager->niceName, manager)
15 | {
16 | transparentBG = true;
17 | autoFilterHitTestOnItems = true;
18 | validateHitTestOnNoItem = false;
19 |
20 | useCheckersAsUnits = true;
21 | updatePositionOnDragMove = true;
22 |
23 | addExistingItems();
24 | }
25 |
26 | SpatManagerView::~SpatManagerView()
27 | {
28 | }
29 |
--------------------------------------------------------------------------------
/Source/Common/Spatializer/ui/SpatManagerView.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | SpatManagerView.h
5 | Created: 24 Dec 2023 10:05:15am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class SpatManagerView :
14 | public BaseManagerViewUI
15 | {
16 | public:
17 | SpatManagerView(SpatManager* manager);
18 | ~SpatManagerView();
19 |
20 | };
--------------------------------------------------------------------------------
/Source/Effect/Filter/Filter.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Filter.h
5 | Created: 26 Sep 2020 2:13:22pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ObjectComponent;
14 | class Object;
15 |
16 | struct FilterResult
17 | {
18 | int id = -1;
19 | float weight = 1;
20 | };
21 |
22 | class Filter :
23 | public BaseItem
24 | {
25 | public:
26 | Filter(const String &name = "Filter");
27 | virtual ~Filter();
28 |
29 |
30 | enum IDMode { NO_CHANGE, LOCAL, LOCAL_REVERSE, RANDOMIZED };
31 | EnumParameter* idMode;
32 | BoolParameter* invert;
33 | BoolParameter* excludeFromScenes;
34 |
35 | virtual bool isAffectingObject(Object* o);
36 | FilterResult getFilteredResultForComponent(Object* o, ObjectComponent * c);
37 | virtual FilterResult getFilteredResultForComponentInternal(Object* o, ObjectComponent* c);
38 |
39 | var getSceneData();
40 | void updateSceneData(var& sceneData);
41 | void lerpFromSceneData(var startData, var endData, float weight);
42 | };
--------------------------------------------------------------------------------
/Source/Effect/Filter/FilterManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | FilterManager.h
5 | Created: 26 Sep 2020 2:13:19pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class FilterManager :
14 | public BaseManager
15 | {
16 | public:
17 | FilterManager();
18 | ~FilterManager();
19 |
20 | Factory factory;
21 |
22 | enum WeightOperator { MIN, MAX, MULTIPLY};
23 | EnumParameter* weightOperator;
24 |
25 | var getSceneData();
26 | void updateSceneData(var& sceneData);
27 | void lerpFromSceneData(var startData, var endData, float weight);
28 |
29 | bool isAffectingObject(Object* o);
30 | FilterResult getFilteredResultForComponent(Object* o, ObjectComponent* c);
31 |
32 | InspectableEditor* getEditorInternal(bool isRoot, Array inspectables = {}) override;
33 |
34 | var getJSONData() override;
35 | void loadJSONDataManagerInternal(var data) override;
36 | };
--------------------------------------------------------------------------------
/Source/Effect/Filter/filters/group/GroupFilter.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GroupFilter.h
5 | Created: 7 Oct 2020 4:11:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class GroupFilter :
14 | public Filter
15 | {
16 | public:
17 | GroupFilter();
18 | ~GroupFilter();
19 |
20 | ControllableContainer groups;
21 |
22 | void controllableAdded(Controllable*) override;
23 |
24 | bool isAffectingObject(Object* o) override;
25 | virtual FilterResult getFilteredResultForComponentInternal(Object* o, ObjectComponent* c) override;
26 |
27 | var getJSONData() override;
28 | void loadJSONDataItemInternal(var data) override;
29 |
30 | String getTypeString() const override { return "Filter by Group"; }
31 | static GroupFilter* create(var params) { return new GroupFilter(); }
32 | };
--------------------------------------------------------------------------------
/Source/Effect/Filter/filters/id/IDFilter.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | IDFilter.h
5 | Created: 3 Oct 2020 10:31:42am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class IDFilter :
14 | public Filter
15 | {
16 | public:
17 | IDFilter();
18 | ~IDFilter();
19 |
20 | ControllableContainer ids;
21 |
22 | bool isAffectingObject(Object* o) override;
23 | virtual FilterResult getFilteredResultForComponentInternal(Object* o, ObjectComponent * c) override;
24 |
25 | void controllableAdded(Controllable* c) override;
26 |
27 | var getJSONData() override;
28 | void loadJSONDataInternal(var data) override;
29 |
30 | String getTypeString() const override { return "Filter by ID"; }
31 | static IDFilter* create(var params) { return new IDFilter(); }
32 | };
--------------------------------------------------------------------------------
/Source/Effect/Filter/ui/FilterEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | FilterEditor.cpp
5 | Created: 26 Sep 2020 7:50:49pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Effect/Filter/ui/FilterEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | FilterEditor.h
5 | Created: 26 Sep 2020 7:50:49pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Effect/Filter/ui/FilterManagerEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | FilterManagerEditor.cpp
5 | Created: 26 Sep 2020 7:50:44pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | FilterManagerEditor::FilterManagerEditor(FilterManager* manager, bool isRoot) :
12 | GenericManagerEditor(manager, isRoot)
13 | {
14 | //if (manager->componentSelector.allowedComponents.size() > 1)
15 | //{
16 | // componentSelectorUI.reset(new ComponentSelectorUI(&manager->componentSelector));
17 | // addAndMakeVisible(componentSelectorUI.get());
18 | //}
19 | }
20 |
21 | FilterManagerEditor::~FilterManagerEditor()
22 | {
23 | }
24 |
25 | void FilterManagerEditor::resizedInternalHeader(Rectangle& r)
26 | {
27 | GenericManagerEditor::resizedInternalHeader(r);
28 | //if(componentSelectorUI != nullptr) componentSelectorUI->setBounds(r.removeFromRight(100).reduced(2));
29 | }
30 |
--------------------------------------------------------------------------------
/Source/Effect/Filter/ui/FilterManagerEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | FilterManagerEditor.h
5 | Created: 26 Sep 2020 7:50:44pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | //class ComponentSelectorUI;
14 |
15 | class FilterManagerEditor :
16 | public GenericManagerEditor
17 | {
18 | public:
19 | FilterManagerEditor(FilterManager * manager , bool isRoot);
20 | ~FilterManagerEditor();
21 |
22 | //std::unique_ptr componentSelectorUI;
23 |
24 | void resizedInternalHeader(Rectangle& r) override;
25 | };
--------------------------------------------------------------------------------
/Source/Effect/actions/EffectAction.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectAction.h
5 | Created: 8 Oct 2020 3:31:34pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class EffectAction :
14 | public Action
15 | {
16 | public:
17 | EffectAction(var params);
18 | ~EffectAction();
19 |
20 | enum ActionType { ENABLE_EFFECT, DISABLE_EFFECT, SET_EFFECT_WEIGHT };
21 | ActionType actionType;
22 |
23 | TargetParameter* effect;
24 | FloatParameter* weight;
25 |
26 | void triggerInternal() override;
27 | void setValueInternal(var value) override;
28 |
29 | static void showMenuAndGetEffect(ControllableContainer*, std::function returnFunc);
30 |
31 | static EffectAction* create(var params) { return new EffectAction(params); }
32 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/color/ColorEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorEffect.h
5 | Created: 9 Nov 2020 12:53:03pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorComponent;
14 |
15 | class ColorEffect :
16 | public Effect
17 | {
18 | public:
19 | ColorEffect(const String& name = "ColorEffect", var params = var());
20 | virtual ~ColorEffect();
21 |
22 | bool fillWithOriginalColors;
23 |
24 | void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
25 |
26 | virtual void processedEffectColorsInternal(Array& colors, Object* o, ColorComponent* c,int id, float time = -1) {}
27 |
28 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/color/gradientmap/ColorGradientMapEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorGradientMapEffect.h
5 | Created: 2 Nov 2020 6:25:49pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class GradientRemapEffect :
14 | public ColorEffect
15 | {
16 | public:
17 | GradientRemapEffect(var params);
18 | ~GradientRemapEffect();
19 |
20 | enum SourceChannel { BRIGHTNESS, HUE, SATURATION, RED, GREEN, BLUE, ALPHA, CHANNEL_MAX };
21 | const String channelNames[CHANNEL_MAX]{ "Brightness", "Hue", "Saturation", "Red", "Green", "Blue", "Alpha" };
22 |
23 | EnumParameter* sourceChannel;
24 | GradientColorManager gradient;
25 |
26 | void processedEffectColorsInternal(Array& colors, Object* o, ColorComponent* c, int id, float time = -1) override;
27 |
28 | String getTypeString() const override { return getTypeStringStatic(); }
29 | const static String getTypeStringStatic() { return "Gradient Remap"; }
30 | static GradientRemapEffect* create(var params) { return new GradientRemapEffect(params); }
31 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/color/hsv/HSVAdjustEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | HSVAdjustEffect.h
5 | Created: 2 Nov 2020 6:24:15pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSource;
14 |
15 | class HSVAdjustEffect :
16 | public ColorEffect
17 | {
18 | public:
19 | HSVAdjustEffect(var params);
20 | ~HSVAdjustEffect();
21 |
22 | FloatParameter* hue;
23 | FloatParameter* saturation;
24 | FloatParameter* brightness;
25 |
26 | void processedEffectColorsInternal(Array& colors, Object* o, ColorComponent* c, int id, float time = -1);
27 |
28 | String getTypeString() const override { return getTypeStringStatic(); }
29 | const static String getTypeStringStatic() { return "HSV Adjust"; }
30 | static HSVAdjustEffect* create(var params) { return new HSVAdjustEffect(params); }
31 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/color/override/ui/ColorSourceOverrideEffectEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorSourceOverrideEffectEditor.h
5 | Created: 9 Nov 2020 4:23:18pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ColorSourceOverrideEffectEditor :
14 | public EffectEditor,
15 | public ColorSourceChooser::ChooserListener,
16 | public ColorSourceOverrideEffect::AsyncOverrideEffectListener
17 | {
18 | public:
19 | ColorSourceOverrideEffectEditor(ColorSourceOverrideEffect* cef, bool isRoot);
20 | ~ColorSourceOverrideEffectEditor();
21 |
22 | ColorSourceOverrideEffect* overrideEffect;
23 |
24 | ColorSourceChooser colorChooser;
25 | void resizedInternalHeaderItemInternal(Rectangle& r) override;
26 |
27 | void sourceChosen(const String& type, ColorSource* templateRef) override;
28 | void newMessage(const ColorSourceOverrideEffect::OverrideEffectEvent & e) override;
29 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/color/remap/ColorPositionRemapEffect.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorPositionRemapEffect.cpp
5 | Created: 2 Nov 2020 6:25:18pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Effect/effects/color/remap/ColorPositionRemapEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorPositionRemapEffect.h
5 | Created: 2 Nov 2020 6:25:18pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Effect/effects/customcomponent/CustomComponentEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | CustomComponentEffect.h
5 | Created: 20 Mar 2023 8:51:42am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class CustomComponentEffect :
14 | public Effect
15 | {
16 | public:
17 | CustomComponentEffect(var params = var());
18 | virtual ~CustomComponentEffect();
19 |
20 | IntParameter* numValues;
21 | Array customValues;
22 |
23 | SpinLock valuesLock;
24 |
25 | void rebuildValues();
26 |
27 | void effectParamChanged(Controllable* p) override;
28 |
29 | void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
30 |
31 | DECLARE_TYPE("Values Override")
32 | };
33 |
--------------------------------------------------------------------------------
/Source/Effect/effects/override/CurveMapEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | CurveMapEffect.h
5 | Created: 1 Oct 2020 12:31:17pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class CurveMapEffect :
14 | public Effect
15 | {
16 | public:
17 | CurveMapEffect(var params = var());
18 | virtual ~CurveMapEffect();
19 |
20 | Point2DParameter* inputRange;
21 | Point2DParameter* outputRange;
22 | Automation automation;
23 |
24 | void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
25 |
26 | String getTypeString() const override { return getTypeStringStatic(); }
27 | const static String getTypeStringStatic() { return "Curve Map"; }
28 | static CurveMapEffect* create(var params) { return new CurveMapEffect(params); }
29 | };
30 |
--------------------------------------------------------------------------------
/Source/Effect/effects/override/OverrideEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | OverrideEffect.h
5 | Created: 1 Oct 2020 12:31:17pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class OverrideEffect :
14 | public Effect
15 | {
16 | public:
17 | OverrideEffect(const String &name = "Override", var params = var());
18 | virtual ~OverrideEffect();
19 | };
20 |
21 | class OverrideFloatEffect :
22 | public OverrideEffect
23 | {
24 | public:
25 | OverrideFloatEffect(var params = var());
26 | virtual ~OverrideFloatEffect();
27 |
28 | FloatParameter* value;
29 |
30 | void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
31 |
32 | String getTypeString() const override { return getTypeStringStatic(); }
33 | const static String getTypeStringStatic() { return "Override (Number)"; }
34 | static OverrideFloatEffect* create(var params) { return new OverrideFloatEffect(params); }
35 | };
36 |
--------------------------------------------------------------------------------
/Source/Effect/effects/override/PointEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | PointEffect.h
5 | Created: 23 Nov 2023 4:02:06pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class PointEffect :
14 | public Effect
15 | {
16 | public:
17 | PointEffect(const String& name = "Point", var params = var());
18 | virtual ~PointEffect();
19 |
20 | FloatParameter* position;
21 | FloatParameter* radius;
22 | Automation fadeCurve;
23 | };
24 |
25 | class PointFloatEffect :
26 | public PointEffect
27 | {
28 | public:
29 | PointFloatEffect(var params = var());
30 | virtual ~PointFloatEffect();
31 |
32 | FloatParameter* value;
33 |
34 | void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
35 |
36 | String getTypeString() const override { return getTypeStringStatic(); }
37 | const static String getTypeStringStatic() { return "Point"; }
38 | static PointFloatEffect* create(var params) { return new PointFloatEffect(params); }
39 | };
40 |
--------------------------------------------------------------------------------
/Source/Effect/effects/script/ScriptEffect.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ScriptEffect.cpp
5 | Created: 20 Nov 2021 10:06:39am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "ScriptEffect.h"
12 |
--------------------------------------------------------------------------------
/Source/Effect/effects/script/ScriptEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ScriptEffect.h
5 | Created: 20 Nov 2021 10:06:39am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | //class ScriptEffect :
14 | // public Effect
15 | //{
16 | //public:
17 | // ScriptEffect(const String& name = "Override", var params = var());
18 | // virtual ~ScriptEffect();
19 | //
20 | //
21 | // FloatParameter* value;
22 | //
23 | // void processComponentInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1) override;
24 | //
25 | // String getTypeString() const override { return getTypeStringStatic(); }
26 | // const static String getTypeStringStatic() { return "Script"; }
27 | // static OverrideFloatEffect* create(var params) { return new OverrideFloatEffect(params); }
28 | //};
29 |
--------------------------------------------------------------------------------
/Source/Effect/effects/smooth/DampingEffect.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | DampingEffect.cpp
5 | Created: 17 Jan 2022 11:53:24am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "DampingEffect.h"
12 |
--------------------------------------------------------------------------------
/Source/Effect/effects/smooth/DampingEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | DampingEffect.h
5 | Created: 17 Jan 2022 11:53:24am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Effect/effects/time/TimedEffect.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/benkuper/Blux/828001405ab26c2731ca1403c5b4e58c6fc3988e/Source/Effect/effects/time/TimedEffect.h
--------------------------------------------------------------------------------
/Source/Effect/effects/time/automation/AutomationEffect.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | AutomationEffect.h
5 | Created: 4 Oct 2020 11:37:20pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class AutomationEffect :
14 | public TimedEffect
15 | {
16 | public:
17 | AutomationEffect(var params = var());
18 | ~AutomationEffect();
19 |
20 | enum AutomationType { SINE, PERLIN };
21 |
22 | FloatParameter* length;
23 | Point2DParameter* range;
24 | BoolParameter* clipTime;
25 | BoolParameter* loop;
26 |
27 | Automation automation;
28 |
29 | void processComponentTimeInternal(Object* o, ObjectComponent* c, const HashMap& values, HashMap& targetValues, int id, float time = -1, float originalTime = -1) override;
30 |
31 | void effectParamChanged(Controllable* c)override;
32 |
33 | String getTypeString() const override { return getTypeStringStatic(); }
34 | const static String getTypeStringStatic() { return "Automation"; }
35 |
36 | static AutomationEffect* create(var params) { return new AutomationEffect(params); }
37 |
38 | };
--------------------------------------------------------------------------------
/Source/Effect/effects/time/automation/ui/AutomationEffectEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | AutomationEffectEditor.cpp
5 | Created: 4 Oct 2020 11:38:03pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Effect/effects/time/automation/ui/AutomationEffectEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | AutomationEffectEditor.h
5 | Created: 4 Oct 2020 11:38:03pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Effect/ui/EffectChainVizUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectChainVizUI.h
5 | Created: 30 Oct 2020 4:35:34pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Effect;
14 |
15 | class EffectChainVizUI :
16 | public BaseItemChainVizComponent,
17 | public Timer
18 | {
19 | public:
20 | EffectChainVizUI(Effect * e, Object* o, ComponentType ct, ChainVizTarget::ChainVizType type);
21 | ~EffectChainVizUI();
22 |
23 | Effect* effect;
24 | WeakReference effectRef;
25 |
26 | std::unique_ptr weightUI;
27 |
28 | std::unique_ptr param;
29 | std::unique_ptr paramUI;
30 |
31 | virtual bool isReallyAffecting();
32 | virtual String getVizLabel() const override;
33 |
34 |
35 | void resized() override;
36 | void timerCallback() override;
37 | };
--------------------------------------------------------------------------------
/Source/Effect/ui/EffectEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectEditor.cpp
5 | Created: 30 Sep 2020 12:38:54pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | EffectEditor::EffectEditor(Effect* effect, bool isRoot) :
12 | BaseItemEditor(effect, isRoot),
13 | effect(effect)
14 | {
15 | weightUI.reset(effect->weight->createSlider());
16 | addAndMakeVisible(weightUI.get());
17 | }
18 |
19 | EffectEditor::~EffectEditor()
20 | {
21 | }
22 |
23 | void EffectEditor::resizedInternalHeaderItemInternal(Rectangle& r)
24 | {
25 | weightUI->setBounds(r.removeFromRight(100).reduced(2));
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Effect/ui/EffectEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectEditor.h
5 | Created: 30 Sep 2020 12:38:54pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class EffectEditor :
14 | public BaseItemEditor
15 | {
16 | public:
17 | EffectEditor(Effect* effect, bool isRoot);
18 | virtual ~EffectEditor();
19 |
20 | Effect* effect;
21 | std::unique_ptr weightUI;
22 |
23 | void resizedInternalHeaderItemInternal(Rectangle& r) override;
24 | };
--------------------------------------------------------------------------------
/Source/Effect/ui/EffectManagerEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectManagerEditor.cpp
5 | Created: 30 Sep 2020 12:39:05pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Effect/EffectIncludes.h"
12 |
13 | EffectManagerEditor::EffectManagerEditor(EffectManager* manager, bool isRoot) :
14 | GenericManagerEditor(manager, isRoot)
15 | {
16 | weightUI.reset(manager->globalWeight->createSlider());
17 | addAndMakeVisible(weightUI.get());
18 | }
19 |
20 | void EffectManagerEditor::resizedInternalHeader(Rectangle& r)
21 | {
22 | GenericManagerEditor::resizedInternalHeader(r);
23 | r.removeFromRight(2);
24 | r.removeFromLeft(2);
25 | weightUI->setBounds(r.removeFromRight(100).reduced(2));
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Effect/ui/EffectManagerEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | EffectManagerEditor.h
5 | Created: 30 Sep 2020 12:39:05pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class EffectManagerEditor : public GenericManagerEditor
14 | {
15 | public:
16 | EffectManagerEditor(EffectManager* manager, bool isRoot = false);
17 | ~EffectManagerEditor() {}
18 |
19 | std::unique_ptr weightUI;
20 |
21 | void resizedInternalHeader(Rectangle& r) override;
22 | };
--------------------------------------------------------------------------------
/Source/Effect/ui/GlobalEffectManagerUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GlobalEffectManagerUI.cpp
5 | Created: 30 Sep 2020 1:37:01pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | GlobalEffectManagerUI::GlobalEffectManagerUI(const String& name) :
12 | BaseManagerShapeShifterUI(name, GlobalEffectManager::getInstance())
13 | {
14 | setShowSearchBar(true);
15 | addExistingItems();
16 | }
17 |
18 | GlobalEffectManagerUI::~GlobalEffectManagerUI()
19 | {
20 | }
21 |
22 | EffectGroupUI::EffectGroupUI(EffectGroup* item) :
23 | BaseItemUI(item)
24 | {
25 | weightUI.reset(item->effectManager.globalWeight->createSlider());
26 | addAndMakeVisible(weightUI.get());
27 | }
28 |
29 | void EffectGroupUI::resizedInternalHeader(Rectangle& r)
30 | {
31 | BaseItemUI::resizedInternalHeader(r);
32 | r.removeFromRight(2);
33 | r.removeFromLeft(2);
34 | weightUI->setBounds(r.removeFromRight(100));
35 | }
36 |
--------------------------------------------------------------------------------
/Source/Effect/ui/GlobalEffectManagerUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GlobalEffectManagerUI.h
5 | Created: 30 Sep 2020 1:37:01pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class EffectGroupUI : public BaseItemUI
14 | {
15 | public:
16 | EffectGroupUI(EffectGroup* group);
17 | ~EffectGroupUI() {}
18 |
19 | std::unique_ptr weightUI;
20 |
21 | void resizedInternalHeader(Rectangle& r) override;
22 | };
23 |
24 | class GlobalEffectManagerUI :
25 | public BaseManagerShapeShifterUI
26 | {
27 | public:
28 | GlobalEffectManagerUI(const String& name);
29 | ~GlobalEffectManagerUI();
30 |
31 | static GlobalEffectManagerUI* create(const String& name) { return new GlobalEffectManagerUI(name); }
32 | };
--------------------------------------------------------------------------------
/Source/Engine/GenericAction.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GenericAction.h
5 | Created: 8 Oct 2020 3:33:47pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class GenericAction :
14 | public Action,
15 | public EngineListener
16 | {
17 | public:
18 | GenericAction(var params);
19 | ~GenericAction();
20 |
21 | enum ActionType { SET_VALUE, TRIGGER };
22 | ActionType actionType;
23 | TargetParameter* target;
24 | WeakReference value;
25 | var dataToLoad;
26 | var ghostValueData; // to keep when target is lost
27 |
28 | void setValueParameter(Parameter* p);
29 |
30 | virtual void triggerInternal() override;
31 | virtual void setValueInternal(var value) override;
32 |
33 | void onContainerParameterChanged(Parameter*) override;
34 |
35 | virtual void loadJSONDataInternal(var data) override;
36 | virtual void endLoadFile() override;
37 |
38 | static GenericAction* create(var params) { return new GenericAction(params); }
39 | };
--------------------------------------------------------------------------------
/Source/Interface/Interface.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Interface.cpp
5 | Created: 26 Sep 2020 1:50:32pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Interface.h"
12 | #include "Object/ObjectIncludes.h"
13 | #include "ui/InterfaceUI.h"
14 |
15 | Interface::Interface(String name, bool canHaveScripts) :
16 | BaseItem(name, true, canHaveScripts)
17 | {
18 | saveAndLoadRecursiveData = true;
19 |
20 | logIncomingData = addBoolParameter("Log Incoming", "Log incoming data", false);
21 | logOutgoingData = addBoolParameter("Log Outgoing", "Log outgoing data", false);
22 |
23 | inActivityTrigger.reset(new Trigger("IN Activity", "Incoming Activity Signal"));
24 | outActivityTrigger.reset(new Trigger("OUT Activity", "Outgoing Activity Signal"));
25 | }
26 |
27 | Interface::~Interface()
28 | {
29 | }
30 |
31 | void Interface::sendValuesForObject(Object* o)
32 | {
33 | if (!enabled->boolValue()) return;
34 |
35 | sendValuesForObjectInternal(o);
36 | }
37 |
38 | InterfaceUI* Interface::createUI()
39 | {
40 | return new InterfaceUI(this);
41 | }
42 |
--------------------------------------------------------------------------------
/Source/Interface/Interface.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Interface.h
5 | Created: 26 Sep 2020 1:50:32pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object;
14 | class ObjectComponent;
15 | class InterfaceUI;
16 |
17 | class Interface :
18 | public BaseItem
19 | {
20 | public:
21 | Interface(String name = "Interface", bool canHaveScript = false);
22 | virtual ~Interface();
23 |
24 | BoolParameter* logIncomingData;
25 | BoolParameter* logOutgoingData;
26 |
27 | //Do not include in hierarchy to avoid going crazy on those listeners
28 | std::unique_ptr inActivityTrigger;
29 | std::unique_ptr outActivityTrigger;
30 |
31 | virtual void prepareSendValues() {}
32 | virtual void sendValuesForObject(Object* o);
33 | virtual void sendValuesForObjectInternal(Object* o) {}
34 | virtual void finishSendValues() {}
35 |
36 | virtual ControllableContainer* getInterfaceParams() { return new ControllableContainer("Interface parameters"); }
37 |
38 | virtual InterfaceUI* createUI();
39 | };
--------------------------------------------------------------------------------
/Source/Interface/InterfaceIncludes.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceIncludes.cpp
5 | Created: 9 Sep 2021 7:03:39pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "InterfaceIncludes.h"
12 |
13 | #include "Object/ObjectIncludes.h"
14 |
15 | #include "Interface.cpp"
16 | #include "InterfaceManager.cpp"
17 | #include "interfaces/bento/BentoInterface.cpp"
18 | #include "interfaces/dmx/DMXInterface.cpp"
19 | #include "interfaces/dmx/ui/DMXChannelView.cpp"
20 | #include "interfaces/dmx/ui/DMXInterfaceUI.cpp"
21 |
22 | #include "interfaces/midi/MIDIMapping.cpp"
23 | #include "interfaces/midi/MIDIMappingManager.cpp"
24 | #include "interfaces/midi/MIDIInterface.cpp"
25 | #include "interfaces/midi/ui/MIDIMappingEditor.cpp"
26 |
27 | #include "interfaces/osc/OSCInterface.cpp"
28 | #include "interfaces/osc/custom/CustomOSCInterface.cpp"
29 | #include "interfaces/osc/ui/OSCInputEditor.cpp"
30 | #include "interfaces/osc/ui/OSCOutputEditor.cpp"
31 | #include "interfaces/serial/SerialInterface.cpp"
32 | #include "ui/InterfaceManagerUI.cpp"
33 | #include "ui/InterfaceUI.cpp"
--------------------------------------------------------------------------------
/Source/Interface/InterfaceManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceManager.cpp
5 | Created: 26 Sep 2020 1:50:28pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "InterfaceManager.h"
12 |
13 | juce_ImplementSingleton(InterfaceManager)
14 |
15 | InterfaceManager::InterfaceManager() :
16 | BaseManager("Interfaces")
17 | {
18 | managerFactory = &factory;
19 |
20 | factory.defs.add(Factory::Definition::createDef("", "DMX", &DMXInterface::create));
21 | factory.defs.add(Factory::Definition::createDef("", "OSC", &CustomOSCInterface::create));
22 | factory.defs.add(Factory::Definition::createDef("", "Serial", &SerialInterface::create));
23 | factory.defs.add(Factory::Definition::createDef("", "Bento", &BentoInterface::create));
24 | factory.defs.add(Factory::Definition::createDef("", "MIDI", &MIDIInterface::create));
25 | }
26 |
27 | InterfaceManager::~InterfaceManager()
28 | {
29 | }
30 |
--------------------------------------------------------------------------------
/Source/Interface/InterfaceManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceManager.h
5 | Created: 26 Sep 2020 1:50:28pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "Interface.h"
14 |
15 | class InterfaceManager :
16 | public BaseManager
17 | {
18 | public:
19 | juce_DeclareSingleton(InterfaceManager, true)
20 |
21 | InterfaceManager();
22 | ~InterfaceManager();
23 |
24 | Factory factory;
25 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/dmx/ui/DMXInterfaceUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | DMXInterfaceUI.cpp
5 | Created: 8 Oct 2020 6:59:58pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | DMXInterfaceUI::DMXInterfaceUI(DMXInterface* i) :
12 | InterfaceUI(i),
13 | dmxInterface(i)
14 | {
15 | }
16 |
17 | DMXInterfaceUI::~DMXInterfaceUI()
18 | {
19 | }
20 |
21 | void DMXInterfaceUI::controllableFeedbackUpdateInternal(Controllable* c)
22 | {
23 | InterfaceUI::controllableFeedbackUpdateInternal(c);
24 |
25 | if (c == dmxInterface->channelTestingMode)
26 | {
27 | bgColor = dmxInterface->channelTestingMode->boolValue() ? Colours::hotpink.darker() : (BG_COLOR.brighter(.1f));
28 | repaint();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Source/Interface/interfaces/dmx/ui/DMXInterfaceUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | DMXInterfaceUI.h
5 | Created: 8 Oct 2020 6:59:58pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class DMXInterfaceUI :
14 | public InterfaceUI
15 | {
16 | public:
17 | DMXInterfaceUI(DMXInterface* i);
18 | ~DMXInterfaceUI();
19 |
20 | DMXInterface* dmxInterface;
21 |
22 | void controllableFeedbackUpdateInternal(Controllable* c) override;
23 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/midi/MIDIMapping.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIMapping.h
5 | Created: 12 Oct 2020 11:07:59am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class MIDIMapping :
14 | public BaseItem
15 | {
16 | public:
17 | MIDIMapping();
18 | ~MIDIMapping();
19 |
20 | enum MappingMode{ TRIGGER, ONOFF, TOGGLE, CONTINUOUS };
21 | EnumParameter * mode;
22 |
23 | enum MidiType { NOTE, CONTROLCHANGE };
24 | EnumParameter* midiType;
25 | IntParameter* channel;
26 | IntParameter* pitchOrNumber;
27 |
28 | Point2DParameter* inputRange;
29 | Point2DParameter* outputRange;
30 |
31 | BoolParameter* learnMode;
32 |
33 | bool isValid;
34 | bool wasInRange;
35 |
36 | ActionManager actionManager;
37 |
38 | void handleNote(int channel, int pitch, int velocity);
39 | void handleCC(int channel, int number, int value);
40 | void handleValue(int value);
41 |
42 | InspectableEditor* getEditorInternal(bool isRoot, Array inspectables = {}) override;
43 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/midi/MIDIMappingManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIMappingManager.cpp
5 | Created: 12 Oct 2020 11:07:45am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | MIDIMappingManager::MIDIMappingManager() :
12 | BaseManager("Mappings")
13 | {
14 | }
15 |
16 | MIDIMappingManager::~MIDIMappingManager()
17 | {
18 | }
19 |
20 | void MIDIMappingManager::handleNote(int channel, int pitch, int velocity)
21 | {
22 | for (auto& i : items) i->handleNote(channel, pitch, velocity);
23 | }
24 |
25 | void MIDIMappingManager::handleCC(int channel, int number, int value)
26 | {
27 | for (auto& i : items) i->handleCC(channel, number, value);
28 | }
29 |
--------------------------------------------------------------------------------
/Source/Interface/interfaces/midi/MIDIMappingManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIMappingManager.h
5 | Created: 12 Oct 2020 11:07:45am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class MIDIMappingManager :
14 | public BaseManager
15 | {
16 | public:
17 | MIDIMappingManager();
18 | ~MIDIMappingManager();
19 |
20 | void handleNote(int channel, int pitch, int velocity);
21 | void handleCC(int channel, int number, int value);
22 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/midi/ui/MIDIMappingEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIMappingEditor.cpp
5 | Created: 12 Oct 2020 12:30:31pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | MIDIMappingEditor::MIDIMappingEditor(MIDIMapping* item, bool isRoot) :
12 | BaseItemEditor(item, isRoot),
13 | midiMapping(item)
14 | {
15 | learnBT.reset(midiMapping->learnMode->createButtonToggle());
16 | addAndMakeVisible(learnBT.get());
17 | }
18 |
19 | MIDIMappingEditor::~MIDIMappingEditor()
20 | {
21 | }
22 |
23 | void MIDIMappingEditor::resizedInternalHeaderItemInternal(Rectangle& r)
24 | {
25 | learnBT->setBounds(r.removeFromRight(80).reduced(2));
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Interface/interfaces/midi/ui/MIDIMappingEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MIDIMappingEditor.h
5 | Created: 12 Oct 2020 12:30:31pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class MIDIMappingEditor :
14 | public BaseItemEditor
15 | {
16 | public:
17 | MIDIMappingEditor(MIDIMapping * item, bool isRoot);
18 | ~MIDIMappingEditor();
19 |
20 | MIDIMapping* midiMapping;
21 | std::unique_ptr learnBT;
22 |
23 | void resizedInternalHeaderItemInternal(Rectangle& r) override;
24 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/osc/ui/OSCInputEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | OSCInputEditor.cpp
5 | Created: 13 Oct 2020 9:44:13am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | OSCInputEditor::OSCInputEditor(EnablingControllableContainer* cc, bool isRoot) :
12 | EnablingControllableContainerEditor(cc, isRoot)
13 | {
14 | StringArray ips = NetworkHelpers::getLocalIPs();
15 | ipLabel.setText("IPs : " + ips.joinIntoString(","), dontSendNotification);
16 | ipLabel.setColour(ipLabel.textColourId, TEXTNAME_COLOR);
17 | ipLabel.setFont(headerHeight - 6);
18 | addAndMakeVisible(&ipLabel);
19 | }
20 |
21 | OSCInputEditor::~OSCInputEditor()
22 | {
23 | }
24 |
25 | void OSCInputEditor::resizedInternalHeader(Rectangle& r)
26 | {
27 | ipLabel.setBounds(r.removeFromRight(jmin(ipLabel.getFont().getStringWidth(ipLabel.getText()), getWidth() - 100)));
28 | r.removeFromRight(2);
29 | EnablingControllableContainerEditor::resizedInternalHeader(r);
30 | }
31 |
--------------------------------------------------------------------------------
/Source/Interface/interfaces/osc/ui/OSCInputEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | OSCInputEditor.h
5 | Created: 13 Oct 2020 9:44:13am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class OSCInputEditor :
14 | public EnablingControllableContainerEditor
15 | {
16 | public:
17 | OSCInputEditor(EnablingControllableContainer* cc, bool isRoot);
18 | ~OSCInputEditor();
19 |
20 |
21 | void resizedInternalHeader(Rectangle& r) override;
22 | Label ipLabel;
23 |
24 |
25 | static InspectableEditor* create(bool isRoot, Array cc) { return new OSCInputEditor((EnablingControllableContainer*)cc[0], isRoot); }
26 | };
--------------------------------------------------------------------------------
/Source/Interface/interfaces/osc/ui/OSCOutputEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | OSCOutputEditor.h
5 | Created: 3 Mar 2019 12:15:43pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class OSCOutputEditor :
14 | public BaseItemEditor
15 | {
16 | public:
17 | OSCOutputEditor(OSCOutput * output, bool isRoot = false);
18 | ~OSCOutputEditor();
19 |
20 | TextButton zeroconfMenu;
21 |
22 | void resizedInternalHeaderItemInternal(Rectangle &r) override;
23 |
24 | void showMenuAndSetupOutput();
25 |
26 | // Inherited via Listener
27 | virtual void buttonClicked(Button *) override;
28 | };
--------------------------------------------------------------------------------
/Source/Interface/ui/InterfaceManagerUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceManagerUI.cpp
5 | Created: 26 Sep 2020 7:48:12pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "InterfaceManagerUI.h"
12 |
13 | InterfaceManagerUI::InterfaceManagerUI(const String& name) :
14 | BaseManagerShapeShifterUI(name, InterfaceManager::getInstance())
15 | {
16 | addExistingItems();
17 | }
18 |
19 | InterfaceManagerUI::~InterfaceManagerUI()
20 | {
21 | }
22 |
23 | InterfaceUI* InterfaceManagerUI::createUIForItem(Interface* item)
24 | {
25 | return item->createUI();
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Interface/ui/InterfaceManagerUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceManagerUI.h
5 | Created: 26 Sep 2020 7:48:12pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "../InterfaceManager.h"
14 | #include "InterfaceUI.h"
15 |
16 | class InterfaceManagerUI :
17 | public BaseManagerShapeShifterUI
18 | {
19 | public:
20 | InterfaceManagerUI(const String &name);
21 | ~InterfaceManagerUI();
22 |
23 | InterfaceUI* createUIForItem(Interface* item) override;
24 |
25 | static InterfaceManagerUI* create(const String& name) { return new InterfaceManagerUI(name); }
26 | };
--------------------------------------------------------------------------------
/Source/Interface/ui/InterfaceUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | InterfaceUI.h
5 | Created: 26 Sep 2020 7:47:24pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class InterfaceUI :
14 | public BaseItemUI
15 | {
16 | public:
17 | InterfaceUI(Interface* item);
18 | virtual ~InterfaceUI();
19 |
20 | std::unique_ptr inActivityUI;
21 | std::unique_ptr outActivityUI;
22 |
23 | void paintOverChildren(Graphics& g);
24 | virtual void resizedHeader(Rectangle& r) override;
25 | virtual void mouseDown(const MouseEvent &e) override;
26 |
27 | };
--------------------------------------------------------------------------------
/Source/Main.cpp:
--------------------------------------------------------------------------------
1 | #include "Main.h"
2 | #include "MainIncludes.h"
3 |
4 | BluxApplication::BluxApplication() :
5 | OrganicApplication(ProjectInfo::projectName,
6 | true,
7 | BluxAssetManager::getImage("icon3"))
8 | {
9 | }
10 |
11 | void BluxApplication::initialiseInternal(const String&)
12 | {
13 | engine.reset(new BluxEngine());
14 | mainComponent.reset(new MainComponent());
15 |
16 |
17 | //Call after engine init
18 | AppUpdater::getInstance()->setURLs("http://benjamin.kuperberg.fr/blux/releases/update.json", "http://benjamin.kuperberg.fr/blux/download/app/", "Blux");
19 | HelpBox::getInstance()->helpURL = URL("http://benjamin.kuperberg.fr/blux/help/");
20 | CrashDumpUploader::getInstance()->init("http://benjamin.kuperberg.fr/blux/support/crash_report.php", ImageCache::getFromMemory(BinaryData::crash_png, BinaryData::crash_pngSize));
21 |
22 | DashboardManager::getInstance()->setupDownloadURL("http://benjamin.kuperberg.fr/download/dashboard/dashboard.php");
23 |
24 | ShapeShifterManager::getInstance()->setDefaultFileData(BinaryData::default_bluxlayout);
25 | ShapeShifterManager::getInstance()->setLayoutInformations("bluxlayout", "Blux/layouts");
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Main.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Main.h
5 | Created: 26 Sep 2020 10:00:55am
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "JuceHeader.h"
14 | /*
15 | ==============================================================================
16 |
17 | This file contains the basic startup code for a JUCE application.
18 |
19 | ==============================================================================
20 | */
21 |
22 | //==============================================================================
23 | class BluxApplication : public OrganicApplication
24 | {
25 | public:
26 | //==============================================================================
27 | BluxApplication();
28 |
29 | void initialiseInternal(const String &commandLine) override;
30 | };
31 |
32 | //==============================================================================
33 | // This macro generates the main() routine that launches the app.
34 | START_JUCE_APPLICATION(BluxApplication)
--------------------------------------------------------------------------------
/Source/MainIncludes.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MainIncludes.cpp
5 | Created: 9 Sep 2021 7:02:05pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "MainIncludes.h"
12 |
13 | #include "Object/ObjectIncludes.h"
14 | #include "Interface/InterfaceIncludes.h"
15 | #include "Scene/SceneIncludes.h"
16 | #include "Sequence/SequenceIncludes.h"
17 | #include "Color/ColorIncludes.h"
18 | #include "Effect/EffectIncludes.h"
19 | #include "ChainViz/ChainViz.h"
20 |
21 | #include "MainComponent.cpp"
22 | #include "MainComponentCommands.cpp"
23 | #include "Audio/AudioManager.cpp"
24 | #include "Audio/ui/AudioManagerHardwareEditor.cpp"
25 | #include "UI/AssetManager.cpp"
26 | #include "UI/BluxInspector.cpp"
27 | #include "Engine/BluxEngine.cpp"
28 | #include "Engine/GenericAction.cpp"
--------------------------------------------------------------------------------
/Source/MainIncludes.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | MainIncludes.h
5 | Created: 9 Sep 2021 7:02:05pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | #include "Common/CommonIncludes.h"
14 |
15 | #include "MainComponent.h"
16 |
17 | #include "Audio/AudioManager.h"
18 | #include "Audio/ui/AudioManagerHardwareEditor.h"
19 |
20 | #include "UI/AssetManager.h"
21 | #include "UI/BluxInspector.h"
22 |
23 | #include "Engine/BluxEngine.h"
24 | #include "Engine/GenericAction.h"
--------------------------------------------------------------------------------
/Source/Object/Component/components/color/ui/ColorComponentEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ColorComponentEditor.h
5 | Created: 2 Nov 2020 7:35:32pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 |
14 | class ColorComponentEditor :
15 | public ObjectComponentEditor,
16 | public ColorSourceChooser::ChooserListener,
17 | public PixelShapeChooser::ChooserListener,
18 | public ColorComponent::AsyncColorComponentListener
19 | {
20 | public:
21 | ColorComponentEditor(ColorComponent* comp, bool isRoot);
22 | ~ColorComponentEditor();
23 |
24 | ColorComponent* comp;
25 | ColorSourceChooser colorChooser;
26 | PixelShapeChooser shapeChooser;
27 |
28 | void resizedInternalHeaderItemInternal(Rectangle& r) override;
29 |
30 | void sourceChosen(const String& type, ColorSource* templateRef) override;
31 | void shapeChosen(const String& type) override;
32 |
33 | void newMessage(const ColorComponent::ColorComponentEvent& e) override;
34 | };
--------------------------------------------------------------------------------
/Source/Object/Component/components/custom/CustomComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | CustomComponent.h
5 | Created: 15 Mar 2023 7:33:19pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class CustomComponent :
14 | public ObjectComponent
15 | {
16 | public:
17 | CustomComponent(Object* o, var params);
18 | ~CustomComponent();
19 |
20 | IntParameter* numValues;
21 |
22 | void onContainerParameterChangedInternal(Parameter* p) override;
23 | void rebuildValues();
24 |
25 | var getJSONData() override;
26 | void loadJSONDataItemInternal(var data) override;
27 |
28 | String getTypeString() const override { return "Custom"; }
29 | static CustomComponent* create(Object* o, var params) { return new CustomComponent(o, params); }
30 | };
31 |
--------------------------------------------------------------------------------
/Source/Object/Component/components/dimmer/DimmerComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | DimmerComponent.h
5 | Created: 26 Sep 2020 2:20:14pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class DimmerComponent :
14 | public ObjectComponent
15 | {
16 | public:
17 | DimmerComponent(Object* o, var params);
18 | ~DimmerComponent();
19 |
20 | FloatParameter* value;
21 | BoolParameter* useFineValue;
22 |
23 | Automation curve;
24 |
25 | virtual void updateComputedValues(HashMap& values) override;
26 | virtual void fillInterfaceData(Interface* i, var data, var params) override;// (HashMap& channelValueMap, int startChannel, bool
27 |
28 | String getTypeString() const override { return "Dimmer"; }
29 | static DimmerComponent* create(Object* o, var params) { return new DimmerComponent(o, params); }
30 | };
31 |
--------------------------------------------------------------------------------
/Source/Object/Component/components/shutter/ShutterComponent.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ShutterComponent.cpp
5 | Created: 26 Sep 2020 2:21:24pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 | #include "Object/ObjectIncludes.h"
11 |
12 | ShutterComponent::ShutterComponent(Object* o, var params) :
13 | ObjectComponent(o, getTypeString(), SHUTTER, params)
14 | {
15 | }
16 |
17 | ShutterComponent::~ShutterComponent()
18 | {
19 | }
20 |
--------------------------------------------------------------------------------
/Source/Object/Component/components/shutter/ShutterComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ShutterComponent.h
5 | Created: 26 Sep 2020 2:21:24pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ShutterComponent :
14 | public ObjectComponent
15 | {
16 | public:
17 | ShutterComponent(Object* o, var params);
18 | ~ShutterComponent();
19 |
20 | String getTypeString() const override { return "Shutter"; }
21 | static ShutterComponent* create(Object * o, var params) { return new ShutterComponent(o, params); }
22 | };
--------------------------------------------------------------------------------
/Source/Object/Component/ui/ComponentManagerEditor.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ComponentManagerEditor.cpp
5 | Created: 26 Sep 2020 7:52:06pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Object/Component/ui/ComponentManagerEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ComponentManagerEditor.h
5 | Created: 26 Sep 2020 7:52:06pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Object/Component/ui/ObjectComponentEditor.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectComponentEditor.h
5 | Created: 26 Sep 2020 7:51:59pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ObjectComponentEditor :
14 | public BaseItemEditor
15 | {
16 | public:
17 | ObjectComponentEditor(ObjectComponent * component, bool isRoot, bool showComputedParams = true);
18 | virtual ~ObjectComponentEditor();
19 |
20 | ObjectComponent* component;
21 |
22 | bool showComputedParams;
23 | OwnedArray computedUI;
24 |
25 | virtual void resizedInternalHeaderItemInternal(Rectangle& r) override;
26 | };
--------------------------------------------------------------------------------
/Source/Object/Group/GroupManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GroupManager.h
5 | Created: 29 Sep 2020 9:46:22pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object;
14 | class ObjectComponent;
15 |
16 | class GroupManager :
17 | public BaseManager
18 | {
19 | public:
20 | juce_DeclareSingleton(GroupManager, true);
21 |
22 | GroupManager();
23 | ~GroupManager();
24 |
25 | Factory factory;
26 |
27 | Array getChainVizTargetsForObjectAndComponent(Object* o, ComponentType t);
28 | virtual void processComponent(Object* o, ObjectComponent* c, HashMap& values);
29 |
30 | var getSceneData();
31 | void updateSceneData(var& sceneData);
32 | void lerpFromSceneData(var startData, var endData, float weight);
33 | };
--------------------------------------------------------------------------------
/Source/Object/Group/groups/object/ui/ObjectGroupUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectGroupUI.cpp
5 | Created: 6 Oct 2020 6:49:00pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | ObjectTargetEditor::ObjectTargetEditor(ObjectTarget* o, bool isRoot) :
12 | BaseItemEditor(o, isRoot),
13 | objectTarget(o)
14 | {
15 | targetUI.reset(o->target->createTargetUI());
16 | addAndMakeVisible(targetUI.get());
17 | }
18 |
19 | ObjectTargetEditor::~ObjectTargetEditor()
20 | {
21 | }
22 |
23 | void ObjectTargetEditor::resizedInternalHeaderItemInternal(Rectangle& r)
24 | {
25 | targetUI->setBounds(r.removeFromRight(200));
26 | }
27 |
--------------------------------------------------------------------------------
/Source/Object/Group/groups/object/ui/ObjectGroupUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectGroupUI.h
5 | Created: 6 Oct 2020 6:49:00pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ObjectTargetEditor :
14 | public BaseItemEditor
15 | {
16 | public:
17 | ObjectTargetEditor(ObjectTarget* o, bool isRoot);
18 | ~ObjectTargetEditor();
19 |
20 | ObjectTarget* objectTarget;
21 |
22 | std::unique_ptr targetUI;
23 |
24 | void resizedInternalHeaderItemInternal(Rectangle& r) override;
25 | };
26 |
--------------------------------------------------------------------------------
/Source/Object/Group/groups/virtual/VirtualGroup.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | VirtualGroup.cpp
5 | Created: 29 Sep 2020 9:47:50pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 |
--------------------------------------------------------------------------------
/Source/Object/Group/groups/virtual/VirtualGroup.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | VirtualGroup.h
5 | Created: 29 Sep 2020 9:47:50pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Object/Group/ui/GroupManagerUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GroupManagerUI.cpp
5 | Created: 29 Sep 2020 9:46:32pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | GroupManagerUI::GroupManagerUI(const String& name) :
12 | BaseManagerShapeShifterUI(name, GroupManager::getInstance())
13 | {
14 | setShowSearchBar(true);
15 | addExistingItems();
16 | }
17 |
18 | GroupManagerUI::~GroupManagerUI()
19 | {
20 | }
21 |
--------------------------------------------------------------------------------
/Source/Object/Group/ui/GroupManagerUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GroupManagerUI.h
5 | Created: 29 Sep 2020 9:46:32pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class GroupManagerUI :
14 | public BaseManagerShapeShifterUI
15 | {
16 | public:
17 | GroupManagerUI(const String &name);
18 | ~GroupManagerUI();
19 |
20 |
21 | static GroupManagerUI* create(const String& name) { return new GroupManagerUI(name); }
22 | };
--------------------------------------------------------------------------------
/Source/Object/Group/ui/GroupUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | GroupUI.h
5 | Created: 29 Sep 2020 9:46:46pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class GroupUI :
14 | public BaseItemUI
15 | {
16 | public:
17 | GroupUI(Group * item);
18 | ~GroupUI();
19 |
20 |
21 | bool flashMode;
22 | std::unique_ptr weightUI;
23 |
24 |
25 | virtual void mouseDown(const MouseEvent& e) override;
26 | virtual void mouseDrag(const MouseEvent& e) override;
27 | virtual void mouseUp(const MouseEvent& e) override;
28 |
29 | virtual bool keyStateChanged(bool isDown) override;
30 |
31 | virtual void resizedInternalHeader(Rectangle& r) override;
32 |
33 | void itemDropped(const DragAndDropTarget::SourceDetails& details) override;
34 | };
--------------------------------------------------------------------------------
/Source/Object/Layout/StageLayout.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayout.h
5 | Created: 6 Oct 2020 9:37:41pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object;
14 |
15 | class StageLayout :
16 | public BaseItem
17 | {
18 | public:
19 | StageLayout();
20 | ~StageLayout();
21 |
22 | var layoutData;
23 |
24 | void loadLayout();
25 | void saveLayout();
26 |
27 | Vector3D getObjectPosition(Object * o);
28 |
29 | var getJSONData() override;
30 | void loadJSONDataItemInternal(var data) override;
31 | };
--------------------------------------------------------------------------------
/Source/Object/Layout/StageLayoutManager.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutManager.cpp
5 | Created: 6 Oct 2020 9:50:16pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | juce_ImplementSingleton(StageLayoutManager)
12 |
13 | StageLayoutManager::StageLayoutManager() :
14 | BaseManager("Stage Layouts")
15 | {
16 | iconSize = addFloatParameter("Icon Size", "Size of icons in view", 80,32,256);
17 | showFilters = addBoolParameter("Show Filters", "If checked, this will show filters in view", true);
18 | lockObjectUIs = addBoolParameter("Lock Objects", "If checked, this will lock objects in place", false);
19 | lockFilterUIs = addBoolParameter("Lock Filters", "If checked, this will lock filters in place", false);
20 | showSpat = addBoolParameter("Show Spat", "If checked, this will show spatializers in view", true);
21 | }
22 |
23 | StageLayoutManager::~StageLayoutManager()
24 | {
25 | }
26 |
--------------------------------------------------------------------------------
/Source/Object/Layout/StageLayoutManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutManager.h
5 | Created: 6 Oct 2020 9:50:16pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class StageLayoutManager :
14 | public BaseManager
15 | {
16 | public:
17 | juce_DeclareSingleton(StageLayoutManager, true);
18 |
19 | //ui
20 | FloatParameter* iconSize;
21 | BoolParameter * showFilters;
22 | BoolParameter* lockObjectUIs;
23 | BoolParameter* lockFilterUIs;
24 | BoolParameter* showSpat;
25 |
26 | StageLayoutManager();
27 | ~StageLayoutManager();
28 | };
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/Object2DView.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Object2DView.cpp
5 | Created: 6 Oct 2020 10:03:37pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | Object2DView::Object2DView(Object* object) :
12 | ObjectGridUI(object)
13 | {
14 | transparentBG = true;
15 | autoHideWhenDragging = false;
16 | drawEmptyDragIcon = true;
17 |
18 | float s = StageLayoutManager::getInstance()->iconSize->floatValue();
19 | setSize(s, s);
20 | }
21 |
22 | Object2DView::~Object2DView()
23 | {
24 | }
25 |
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/Object2DView.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | Object2DView.h
5 | Created: 6 Oct 2020 10:03:37pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object2DView :
14 | public ObjectGridUI
15 | {
16 | public:
17 | Object2DView(Object* object);
18 | ~Object2DView();
19 | };
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/StageLayoutManagerUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutManagerUI.cpp
5 | Created: 6 Oct 2020 9:50:00pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | StageLayoutManagerUI::StageLayoutManagerUI(const String& name) :
12 | BaseManagerShapeShifterUI(name, StageLayoutManager::getInstance(), true)
13 | {
14 | addExistingItems();
15 | }
16 |
17 | StageLayoutManagerUI::~StageLayoutManagerUI()
18 | {
19 | }
20 |
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/StageLayoutManagerUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutManagerUI.h
5 | Created: 6 Oct 2020 9:50:00pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class StageLayoutManagerUI :
14 | public BaseManagerShapeShifterUI
15 | {
16 | public:
17 | StageLayoutManagerUI(const String& name);
18 | ~StageLayoutManagerUI();
19 |
20 |
21 | static StageLayoutManagerUI* create(const String& name) { return new StageLayoutManagerUI(name); }
22 | };
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/StageLayoutUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutUI.cpp
5 | Created: 9 Oct 2020 8:53:10pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | StageLayoutUI::StageLayoutUI(StageLayout* item) :
12 | BaseItemUI(item)
13 | {
14 | }
15 |
16 | StageLayoutUI::~StageLayoutUI()
17 | {
18 | }
19 |
20 | void StageLayoutUI::mouseDown(const MouseEvent& e)
21 | {
22 | BaseItemUI::mouseDown(e);
23 |
24 | if (e.mods.isRightButtonDown())
25 | {
26 | PopupMenu m;
27 | m.addItem(1, "Save");
28 | m.addItem(2, "Load");
29 |
30 | m.showMenuAsync(PopupMenu::Options(), [this](int result)
31 | {
32 | if (result == 1) item->saveLayout();
33 | else if (result == 2) item->loadLayout();
34 | }
35 | );
36 | }
37 | }
--------------------------------------------------------------------------------
/Source/Object/Layout/ui/StageLayoutUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | StageLayoutUI.h
5 | Created: 9 Oct 2020 8:53:10pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class StageLayoutUI :
14 | public BaseItemUI
15 | {
16 | public:
17 | StageLayoutUI(StageLayout* item);
18 | ~StageLayoutUI();
19 |
20 | void mouseDown(const MouseEvent& e) override;
21 |
22 | };
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectChainVizUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectChainVizUI.cpp
5 | Created: 30 Oct 2020 4:35:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "Object/ObjectIncludes.h"
12 |
13 | ObjectChainVizUI::ObjectChainVizUI(Object* o, ComponentType ct, ChainVizTarget::ChainVizType type) :
14 | BaseItemChainVizComponent(o, o, ct, type)
15 | {
16 | if (ObjectComponent* ic = o->getComponentForType(ct))
17 | {
18 | Parameter* p = type == ChainVizTarget::ChainVizType::OBJECT_START ? ic->computedParamMap[ic->mainParameter] : ic->mainParameter;
19 | if (p != nullptr)
20 | {
21 | paramUI.reset((ParameterUI*)p->createDefaultUI());
22 | paramUI->showLabel = false;
23 | addAndMakeVisible(paramUI.get());
24 | }
25 | }
26 | }
27 |
28 |
29 | ObjectChainVizUI::~ObjectChainVizUI()
30 | {
31 | }
32 |
33 | void ObjectChainVizUI::resized()
34 | {
35 | BaseItemChainVizComponent::resized();
36 | Rectangle r = getLocalBounds().reduced(4);
37 |
38 | if (paramUI != nullptr)
39 | {
40 | paramUI->setBounds(r.removeFromBottom(16));
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectChainVizUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectChainVizUI.h
5 | Created: 30 Oct 2020 4:35:09pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class Object;
14 |
15 | class ObjectChainVizUI :
16 | public BaseItemChainVizComponent
17 | {
18 | public:
19 | ObjectChainVizUI(Object* o, ComponentType ct, ChainVizTarget::ChainVizType type);
20 | ~ObjectChainVizUI();
21 |
22 | std::unique_ptr paramUI;
23 |
24 | void resized() override;
25 | };
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectCustomView.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectCustomView.cpp
5 | Created: 12 Sep 2021 12:11:22pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #include "ObjectCustomView.h"
12 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectCustomView.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectCustomView.h
5 | Created: 12 Sep 2021 12:11:22pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectManagerUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectManagerUI.cpp
5 | Created: 26 Sep 2020 7:51:25pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | ObjectManagerUI::ObjectManagerUI(const String& name) :
12 | BaseManagerShapeShifterUI(name, ObjectManager::getInstance())
13 | {
14 | setShowSearchBar(true);
15 | addExistingItems();
16 | }
17 |
18 | ObjectManagerUI::~ObjectManagerUI()
19 | {
20 | }
21 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectManagerUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectManagerUI.h
5 | Created: 26 Sep 2020 7:51:25pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ObjectManagerUI :
14 | public BaseManagerShapeShifterUI
15 | {
16 | public:
17 | ObjectManagerUI(const String & name);
18 | ~ObjectManagerUI();
19 |
20 | static ObjectManagerUI* create(const String& name) { return new ObjectManagerUI(name); }
21 | };
22 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectUI.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectUI.cpp
5 | Created: 26 Sep 2020 7:51:11pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | ObjectUI::ObjectUI(Object* item) :
12 | BaseItemUI(item)
13 | {
14 | }
15 |
16 | ObjectUI::~ObjectUI()
17 | {
18 | }
19 |
--------------------------------------------------------------------------------
/Source/Object/ui/ObjectUI.h:
--------------------------------------------------------------------------------
1 | /*
2 | ==============================================================================
3 |
4 | ObjectUI.h
5 | Created: 26 Sep 2020 7:51:11pm
6 | Author: bkupe
7 |
8 | ==============================================================================
9 | */
10 |
11 | #pragma once
12 |
13 | class ObjectUI :
14 | public BaseItemUI