Browse Source

Added BLOCKS module

tags/2021-05-28
ed 9 years ago
parent
commit
76b3689a48
100 changed files with 42958 additions and 1 deletions
  1. +2
    -1
      .gitignore
  2. +108
    -0
      examples/BLOCKS/BlocksDrawing/BlocksDrawing.jucer
  3. +154
    -0
      examples/BLOCKS/BlocksDrawing/Builds/LinuxMakefile/Makefile
  4. +2602
    -0
      examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj
  5. +29
    -0
      examples/BLOCKS/BlocksDrawing/Builds/MacOSX/Info-App.plist
  6. BIN
      examples/BLOCKS/BlocksDrawing/Builds/MacOSX/RecentFilesMenuTemplate.nib
  7. +19
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.sln
  8. +2180
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.vcxproj
  9. +3662
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.vcxproj.filters
  10. +29
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/resources.rc
  11. +19
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.sln
  12. +2180
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.vcxproj
  13. +3662
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.vcxproj.filters
  14. +29
    -0
      examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/resources.rc
  15. +2616
    -0
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj
  16. +128
    -0
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/AppIcon.appiconset/Contents.json
  17. +57
    -0
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/Contents.json
  18. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png
  19. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png
  20. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png
  21. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png
  22. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png
  23. BIN
      examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png
  24. +43
    -0
      examples/BLOCKS/BlocksDrawing/Builds/iOS/Info-App.plist
  25. +179
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/AppConfig.h
  26. +46
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/JuceHeader.h
  27. +12
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/ReadMe.txt
  28. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_basics.cpp
  29. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_basics.mm
  30. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_devices.cpp
  31. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_devices.mm
  32. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_formats.cpp
  33. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_formats.mm
  34. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_blocks_basics.cpp
  35. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_core.cpp
  36. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_core.mm
  37. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_data_structures.cpp
  38. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_data_structures.mm
  39. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_events.cpp
  40. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_events.mm
  41. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_graphics.cpp
  42. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_graphics.mm
  43. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_basics.cpp
  44. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_basics.mm
  45. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_extra.cpp
  46. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_extra.mm
  47. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_opengl.cpp
  48. +9
    -0
      examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_opengl.mm
  49. +62
    -0
      examples/BLOCKS/BlocksDrawing/Source/Main.cpp
  50. +379
    -0
      examples/BLOCKS/BlocksDrawing/Source/MainComponent.h
  51. +113
    -0
      examples/BLOCKS/BlocksMonitor/BlocksMonitor.jucer
  52. +154
    -0
      examples/BLOCKS/BlocksMonitor/Builds/LinuxMakefile/Makefile
  53. +2604
    -0
      examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj
  54. +29
    -0
      examples/BLOCKS/BlocksMonitor/Builds/MacOSX/Info-App.plist
  55. BIN
      examples/BLOCKS/BlocksMonitor/Builds/MacOSX/RecentFilesMenuTemplate.nib
  56. +19
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.sln
  57. +2181
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.vcxproj
  58. +3665
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.vcxproj.filters
  59. +29
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/resources.rc
  60. +19
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.sln
  61. +2181
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.vcxproj
  62. +3665
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.vcxproj.filters
  63. +29
    -0
      examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/resources.rc
  64. +179
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/AppConfig.h
  65. +46
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/JuceHeader.h
  66. +12
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/ReadMe.txt
  67. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_basics.cpp
  68. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_basics.mm
  69. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_devices.cpp
  70. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_devices.mm
  71. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_formats.cpp
  72. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_formats.mm
  73. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_blocks_basics.cpp
  74. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_core.cpp
  75. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_core.mm
  76. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_data_structures.cpp
  77. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_data_structures.mm
  78. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_events.cpp
  79. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_events.mm
  80. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_graphics.cpp
  81. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_graphics.mm
  82. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_basics.cpp
  83. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_basics.mm
  84. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_extra.cpp
  85. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_extra.mm
  86. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_opengl.cpp
  87. +9
    -0
      examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_opengl.mm
  88. +428
    -0
      examples/BLOCKS/BlocksMonitor/Source/BlockComponents.h
  89. +53
    -0
      examples/BLOCKS/BlocksMonitor/Source/Main.cpp
  90. +154
    -0
      examples/BLOCKS/BlocksMonitor/Source/MainComponent.h
  91. +112
    -0
      examples/BLOCKS/BlocksSynth/BlocksSynth.jucer
  92. +154
    -0
      examples/BLOCKS/BlocksSynth/Builds/LinuxMakefile/Makefile
  93. +2608
    -0
      examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj
  94. +29
    -0
      examples/BLOCKS/BlocksSynth/Builds/MacOSX/Info-App.plist
  95. BIN
      examples/BLOCKS/BlocksSynth/Builds/MacOSX/RecentFilesMenuTemplate.nib
  96. +19
    -0
      examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.sln
  97. +2182
    -0
      examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.vcxproj
  98. +3671
    -0
      examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.vcxproj.filters
  99. +29
    -0
      examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/resources.rc
  100. +19
    -0
      examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth.sln

+ 2
- 1
.gitignore View File

@@ -52,5 +52,6 @@ profile
**/CodeBlocks/*.depend
**/CodeBlocks/*.layout
**/Builds/AndroidStudio
doxygen/doc
**/doxygen/doc
**/doxygen/build
extras/Projucer/JUCECompileEngine.dylib

+ 108
- 0
examples/BLOCKS/BlocksDrawing/BlocksDrawing.jucer View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="aa4reI" name="BlocksDrawing" projectType="guiapp" version="1.0.0"
bundleIdentifier="com.yourcompany.BlocksDrawing" includeBinaryInAppConfig="1"
jucerVersion="4.2.4">
<MAINGROUP id="yXiPIx" name="BlocksDrawing">
<GROUP id="{092A4D5B-31E2-5D03-9B41-81C10EC447E8}" name="Source">
<FILE id="yiP4mu" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>
<FILE id="RyfWDq" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
</GROUP>
</MAINGROUP>
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksDrawing"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksDrawing"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
</MODULEPATHS>
</XCODE_MAC>
<VS2015 targetFolder="Builds/VisualStudio2015">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksDrawing"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksDrawing"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2015>
<VS2013 targetFolder="Builds/VisualStudio2013">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksDrawing"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksDrawing"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2013>
<LINUX_MAKE targetFolder="Builds/LinuxMakefile">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksDrawing"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksDrawing"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</LINUX_MAKE>
</EXPORTFORMATS>
<MODULES>
<MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>
</MODULES>
<JUCEOPTIONS/>
</JUCERPROJECT>

+ 154
- 0
examples/BLOCKS/BlocksDrawing/Builds/LinuxMakefile/Makefile View File

@@ -0,0 +1,154 @@
# Automatically generated makefile, created by the Projucer
# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!
# (this disables dependency generation if multiple architectures are set)
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
ifndef STRIP
STRIP=strip
endif
ifndef AR
AR=ar
endif
ifndef CONFIG
CONFIG=Debug
endif
ifeq ($(CONFIG),Debug)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Debug
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksDrawing
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
ifeq ($(CONFIG),Release)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Release
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksDrawing
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
OBJECTS := \
$(JUCE_OBJDIR)/Main_90ebc5c2.o \
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \
$(JUCE_OBJDIR)/juce_core_75b14332.o \
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \
$(JUCE_OBJDIR)/juce_events_d2be882c.o \
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o \
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \
.PHONY: clean
$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)
@echo Linking BlocksDrawing
-@mkdir -p $(JUCE_BINDIR)
-@mkdir -p $(JUCE_LIBDIR)
-@mkdir -p $(JUCE_OUTDIR)
@$(BLDCMD)
check-pkg-config:
@command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
@pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama
clean:
@echo Cleaning BlocksDrawing
@$(CLEANCMD)
strip:
@echo Stripping BlocksDrawing
-@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)
$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling Main.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_devices.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_formats.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_blocks_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_core.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_data_structures.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_events.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_graphics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_extra.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_opengl.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
-include $(OBJECTS:%.o=%.d)

+ 2602
- 0
examples/BLOCKS/BlocksDrawing/Builds/MacOSX/BlocksDrawing.xcodeproj/project.pbxproj
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksDrawing/Builds/MacOSX/Info-App.plist View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleName</key>
<string>BlocksDrawing</string>
<key>CFBundleDisplayName</key>
<string>BlocksDrawing</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

BIN
examples/BLOCKS/BlocksDrawing/Builds/MacOSX/RecentFilesMenuTemplate.nib View File


+ 19
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2013
Project("{0D7965A3-BED9-ABF7-CBD9-0D3743DA1577}") = "BlocksDrawing", "BlocksDrawing.vcxproj", "{83D60C30-1484-EABF-FDB3-14C39E5DD976}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.ActiveCfg = Debug|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.Build.0 = Debug|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.ActiveCfg = Release|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2180
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.vcxproj
File diff suppressed because it is too large
View File


+ 3662
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/BlocksDrawing.vcxproj.filters
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2013/resources.rc View File

@@ -0,0 +1,29 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "BlocksDrawing\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "BlocksDrawing\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 19
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2015
Project("{0D7965A3-BED9-ABF7-CBD9-0D3743DA1577}") = "BlocksDrawing", "BlocksDrawing.vcxproj", "{83D60C30-1484-EABF-FDB3-14C39E5DD976}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.ActiveCfg = Debug|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.Build.0 = Debug|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.ActiveCfg = Release|Win32
{83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2180
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.vcxproj
File diff suppressed because it is too large
View File


+ 3662
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/BlocksDrawing.vcxproj.filters
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksDrawing/Builds/VisualStudio2015/resources.rc View File

@@ -0,0 +1,29 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "BlocksDrawing\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "BlocksDrawing\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 2616
- 0
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing.xcodeproj/project.pbxproj
File diff suppressed because it is too large
View File


+ 128
- 0
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/AppIcon.appiconset/Contents.json View File

@@ -0,0 +1,128 @@
{
"images": [
{
"idiom": "iphone",
"size": "29x29",
"filename": "Icon-29.png",
"scale": "1x"
},
{
"idiom": "iphone",
"size": "29x29",
"filename": "Icon-29@2x.png",
"scale": "2x"
},
{
"idiom": "iphone",
"size": "29x29",
"filename": "Icon-29@3x.png",
"scale": "3x"
},
{
"idiom": "iphone",
"size": "40x40",
"filename": "Icon-Spotlight-40@2x.png",
"scale": "2x"
},
{
"idiom": "iphone",
"size": "40x40",
"filename": "Icon-Spotlight-40@3x.png",
"scale": "3x"
},
{
"idiom": "iphone",
"size": "57x57",
"filename": "Icon.png",
"scale": "1x"
},
{
"idiom": "iphone",
"size": "57x57",
"filename": "Icon@2x.png",
"scale": "2x"
},
{
"idiom": "iphone",
"size": "60x60",
"filename": "Icon-60@2x.png",
"scale": "2x"
},
{
"idiom": "iphone",
"size": "60x60",
"filename": "Icon-@3x.png",
"scale": "3x"
},
{
"idiom": "ipad",
"size": "29x29",
"filename": "Icon-Small-1.png",
"scale": "1x"
},
{
"idiom": "ipad",
"size": "29x29",
"filename": "Icon-Small@2x-1.png",
"scale": "2x"
},
{
"idiom": "ipad",
"size": "40x40",
"filename": "Icon-Spotlight-40.png",
"scale": "1x"
},
{
"idiom": "ipad",
"size": "40x40",
"filename": "Icon-Spotlight-40@2x-1.png",
"scale": "2x"
},
{
"idiom": "ipad",
"size": "50x50",
"filename": "Icon-Small-50.png",
"scale": "1x"
},
{
"idiom": "ipad",
"size": "50x50",
"filename": "Icon-Small-50@2x.png",
"scale": "2x"
},
{
"idiom": "ipad",
"size": "72x72",
"filename": "Icon-72.png",
"scale": "1x"
},
{
"idiom": "ipad",
"size": "72x72",
"filename": "Icon-72@2x.png",
"scale": "2x"
},
{
"idiom": "ipad",
"size": "76x76",
"filename": "Icon-76.png",
"scale": "1x"
},
{
"idiom": "ipad",
"size": "76x76",
"filename": "Icon-76@2x.png",
"scale": "2x"
},
{
"idiom": "ipad",
"size": "83.5x83.5",
"filename": "Icon-83.5@2x.png",
"scale": "2x"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}

+ 57
- 0
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/Contents.json View File

@@ -0,0 +1,57 @@
{
"images": [
{
"orientation": "portrait",
"idiom": "iphone",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "2x",
"filename": "LaunchImage-iphone-2x.png"
},
{
"orientation": "portrait",
"idiom": "iphone",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "2x",
"filename": "LaunchImage-iphone-retina4.png",
"subtype": "retina4"
},
{
"orientation": "portrait",
"idiom": "ipad",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "1x",
"filename": "LaunchImage-ipad-portrait-1x.png"
},
{
"orientation": "landscape",
"idiom": "ipad",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "1x",
"filename": "LaunchImage-ipad-landscape-1x.png"
},
{
"orientation": "portrait",
"idiom": "ipad",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "2x",
"filename": "LaunchImage-ipad-portrait-2x.png"
},
{
"orientation": "landscape",
"idiom": "ipad",
"extent": "full-screen",
"minimum-system-version": "7.0",
"scale": "2x",
"filename": "LaunchImage-ipad-landscape-2x.png"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-1x.png View File

Before After
Width: 1024  |  Height: 768  |  Size: 4.8KB

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-landscape-2x.png View File

Before After
Width: 2048  |  Height: 1536  |  Size: 16KB

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-1x.png View File

Before After
Width: 768  |  Height: 1024  |  Size: 5.2KB

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-ipad-portrait-2x.png View File

Before After
Width: 1536  |  Height: 2048  |  Size: 17KB

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-2x.png View File

Before After
Width: 640  |  Height: 960  |  Size: 4.4KB

BIN
examples/BLOCKS/BlocksDrawing/Builds/iOS/BlocksDrawing/Images.xcassets/LaunchImage.launchimage/LaunchImage-iphone-retina4.png View File

Before After
Width: 640  |  Height: 1136  |  Size: 5.2KB

+ 43
- 0
examples/BLOCKS/BlocksDrawing/Builds/iOS/Info-App.plist View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleName</key>
<string>BlocksDrawing</string>
<key>CFBundleDisplayName</key>
<string>BlocksDrawing</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
<true/>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIBackgroundModes</key>
<array/>
</dict>
</plist>

+ 179
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/AppConfig.h View File

@@ -0,0 +1,179 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
There's a section below where you can add your own custom code safely, and the
Projucer will preserve the contents of that block, but the best way to change
any of these definitions is by using the Projucer's project settings.
Any commented-out settings will assume their default values.
*/
#ifndef __JUCE_APPCONFIG_AA4REI__
#define __JUCE_APPCONFIG_AA4REI__
//==============================================================================
// [BEGIN_USER_CODE_SECTION]
// (You can add your own code in this section, and the Projucer will not overwrite it)
// [END_USER_CODE_SECTION]
//==============================================================================
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
#define JUCE_MODULE_AVAILABLE_juce_blocks_basics 1
#define JUCE_MODULE_AVAILABLE_juce_core 1
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1
#define JUCE_MODULE_AVAILABLE_juce_events 1
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
#define JUCE_MODULE_AVAILABLE_juce_opengl 1
//==============================================================================
#ifndef JUCE_STANDALONE_APPLICATION
#ifdef JucePlugin_Build_Standalone
#define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone
#else
#define JUCE_STANDALONE_APPLICATION 1
#endif
#endif
#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1
//==============================================================================
// juce_audio_devices flags:
#ifndef JUCE_ASIO
//#define JUCE_ASIO
#endif
#ifndef JUCE_WASAPI
//#define JUCE_WASAPI
#endif
#ifndef JUCE_WASAPI_EXCLUSIVE
//#define JUCE_WASAPI_EXCLUSIVE
#endif
#ifndef JUCE_DIRECTSOUND
//#define JUCE_DIRECTSOUND
#endif
#ifndef JUCE_ALSA
//#define JUCE_ALSA
#endif
#ifndef JUCE_JACK
//#define JUCE_JACK
#endif
#ifndef JUCE_USE_ANDROID_OPENSLES
//#define JUCE_USE_ANDROID_OPENSLES
#endif
//==============================================================================
// juce_audio_formats flags:
#ifndef JUCE_USE_FLAC
//#define JUCE_USE_FLAC
#endif
#ifndef JUCE_USE_OGGVORBIS
//#define JUCE_USE_OGGVORBIS
#endif
#ifndef JUCE_USE_MP3AUDIOFORMAT
//#define JUCE_USE_MP3AUDIOFORMAT
#endif
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
//#define JUCE_USE_LAME_AUDIO_FORMAT
#endif
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
#endif
//==============================================================================
// juce_core flags:
#ifndef JUCE_FORCE_DEBUG
//#define JUCE_FORCE_DEBUG
#endif
#ifndef JUCE_LOG_ASSERTIONS
//#define JUCE_LOG_ASSERTIONS
#endif
#ifndef JUCE_CHECK_MEMORY_LEAKS
//#define JUCE_CHECK_MEMORY_LEAKS
#endif
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
#endif
#ifndef JUCE_INCLUDE_ZLIB_CODE
//#define JUCE_INCLUDE_ZLIB_CODE
#endif
#ifndef JUCE_USE_CURL
//#define JUCE_USE_CURL
#endif
#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS
#endif
#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES
//#define JUCE_ALLOW_STATIC_NULL_VARIABLES
#endif
//==============================================================================
// juce_graphics flags:
#ifndef JUCE_USE_COREIMAGE_LOADER
//#define JUCE_USE_COREIMAGE_LOADER
#endif
#ifndef JUCE_USE_DIRECTWRITE
//#define JUCE_USE_DIRECTWRITE
#endif
//==============================================================================
// juce_gui_basics flags:
#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_ENABLE_REPAINT_DEBUGGING
#endif
#ifndef JUCE_USE_XSHM
//#define JUCE_USE_XSHM
#endif
#ifndef JUCE_USE_XRENDER
//#define JUCE_USE_XRENDER
#endif
#ifndef JUCE_USE_XCURSOR
//#define JUCE_USE_XCURSOR
#endif
//==============================================================================
// juce_gui_extra flags:
#ifndef JUCE_WEB_BROWSER
//#define JUCE_WEB_BROWSER
#endif
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
//#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR
#endif
#endif // __JUCE_APPCONFIG_AA4REI__

+ 46
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/JuceHeader.h View File

@@ -0,0 +1,46 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
This is the header file that your files should include in order to get all the
JUCE library headers. You should avoid including the JUCE headers directly in
your own source files, because that wouldn't pick up the correct configuration
options for your app.
*/
#ifndef __APPHEADERFILE_AA4REI__
#define __APPHEADERFILE_AA4REI__
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.h>
#include <juce_audio_devices/juce_audio_devices.h>
#include <juce_audio_formats/juce_audio_formats.h>
#include <juce_blocks_basics/juce_blocks_basics.h>
#include <juce_core/juce_core.h>
#include <juce_data_structures/juce_data_structures.h>
#include <juce_events/juce_events.h>
#include <juce_graphics/juce_graphics.h>
#include <juce_gui_basics/juce_gui_basics.h>
#include <juce_gui_extra/juce_gui_extra.h>
#include <juce_opengl/juce_opengl.h>
#if ! DONT_SET_USING_JUCE_NAMESPACE
// If your code uses a lot of JUCE classes, then this will obviously save you
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
using namespace juce;
#endif
#if ! JUCE_DONT_DECLARE_PROJECTINFO
namespace ProjectInfo
{
const char* const projectName = "BlocksDrawing";
const char* const versionString = "1.0.0";
const int versionNumber = 0x10000;
}
#endif
#endif // __APPHEADERFILE_AA4REI__

+ 12
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/ReadMe.txt View File

@@ -0,0 +1,12 @@
Important Note!!
================
The purpose of this folder is to contain files that are auto-generated by the Projucer,
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
the Projucer saves your project.
Therefore, it's a bad idea to make any manual changes to the files in here, or to
put any of your own files in here if you don't want to lose them. (Of course you may choose
to add the folder's contents to your version-control system so that you can re-merge your own
modifications after the Projucer has saved its changes).

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_basics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_devices.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_devices/juce_audio_devices.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_devices.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_devices/juce_audio_devices.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_formats.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_formats/juce_audio_formats.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_audio_formats.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_formats/juce_audio_formats.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_blocks_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_blocks_basics/juce_blocks_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_core.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_core/juce_core.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_core.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_core/juce_core.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_data_structures.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_data_structures/juce_data_structures.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_data_structures.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_data_structures/juce_data_structures.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_events.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_events/juce_events.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_events.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_events/juce_events.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_graphics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_graphics/juce_graphics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_graphics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_graphics/juce_graphics.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_basics/juce_gui_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_basics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_basics/juce_gui_basics.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_extra.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_extra/juce_gui_extra.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_gui_extra.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_extra/juce_gui_extra.mm>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_opengl.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_opengl/juce_opengl.cpp>

+ 9
- 0
examples/BLOCKS/BlocksDrawing/JuceLibraryCode/juce_opengl.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_opengl/juce_opengl.mm>

+ 62
- 0
examples/BLOCKS/BlocksDrawing/Source/Main.cpp View File

@@ -0,0 +1,62 @@
/*
==============================================================================
This file was auto-generated!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#include "../JuceLibraryCode/JuceHeader.h"
#include "MainComponent.h"
//==============================================================================
class BlocksDrawingApplication : public JUCEApplication
{
public:
//==============================================================================
BlocksDrawingApplication() {}
const String getApplicationName() override { return ProjectInfo::projectName; }
const String getApplicationVersion() override { return ProjectInfo::versionString; }
//==============================================================================
void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow (getApplicationName()); }
void shutdown() override { mainWindow = nullptr; }
//==============================================================================
class MainWindow : public DocumentWindow
{
public:
MainWindow (String name) : DocumentWindow (name,
Colours::lightgrey,
DocumentWindow::allButtons)
{
setUsingNativeTitleBar (true);
setContentOwned (new MainComponent(), true);
centreWithSize (getWidth(), getHeight());
setResizable (true, true);
setVisible (true);
}
void closeButtonPressed() override
{
JUCEApplication::getInstance()->systemRequestedQuit();
}
private:
TooltipWindow tooltipWindow;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
};
private:
ScopedPointer<MainWindow> mainWindow;
};
//==============================================================================
START_JUCE_APPLICATION (BlocksDrawingApplication)

+ 379
- 0
examples/BLOCKS/BlocksDrawing/Source/MainComponent.h View File

@@ -0,0 +1,379 @@
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
#include "../JuceLibraryCode/JuceHeader.h"
/**
A struct that handles the setup and layout of the DrumPadGridProgram
*/
struct ColourGrid
{
ColourGrid (int cols, int rows)
: numColumns (cols),
numRows (rows)
{
constructGridFillArray();
}
/** Creates a GridFill object for each pad in the grid and sets its colour
and fill before adding it to an array of GridFill objects
*/
void constructGridFillArray()
{
gridFillArray.clear();
int counter = 0;
for (int i = 0; i < numColumns; ++i)
{
for (int j = 0; j < numRows; ++j)
{
DrumPadGridProgram::GridFill fill;
Colour colourToUse = colourArray.getUnchecked (counter);
fill.colour = colourToUse.withBrightness (colourToUse == currentColour ? 1.0 : 0.1);
if (colourToUse == Colours::black)
fill.fillType = DrumPadGridProgram::GridFill::FillType::hollow;
else
fill.fillType = DrumPadGridProgram::GridFill::FillType::filled;
gridFillArray.add (fill);
if (++counter == colourArray.size())
counter = 0;
}
}
}
/** Sets which colour should be active for a given touch co-ordinate. Returns
true if the colour has changed
*/
bool setActiveColourForTouch (int x, int y)
{
bool colourHasChanged = false;
int xindex = x / 5;
int yindex = y / 5;
Colour newColour = colourArray.getUnchecked ((yindex * 3) + xindex);
if (currentColour != newColour)
{
currentColour = newColour;
constructGridFillArray();
colourHasChanged = true;
}
return colourHasChanged;
}
//==============================================================================
int numColumns, numRows;
float width, height;
Array<DrumPadGridProgram::GridFill> gridFillArray;
Array<Colour> colourArray = { Colours::white, Colours::red, Colours::green, Colours::blue, Colours::hotpink,
Colours::orange, Colours::magenta, Colours::cyan, Colours::black };
Colour currentColour = Colours::hotpink;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ColourGrid)
};
/**
The main component
*/
class MainComponent : public Component,
public TopologySource::Listener,
private TouchSurface::Listener,
private ControlButton::Listener,
private Timer
{
public:
MainComponent() : layout (3, 3)
{
setSize (600, 400);
activeLeds.clear();
// Register MainContentComponent as a listener to the PhysicalTopologySource object
topologySource.addListener (this);
}
~MainComponent()
{
if (activeBlock != nullptr)
detachActiveBlock();
}
void paint (Graphics& g) override
{
g.fillAll (Colours::lightgrey);
}
void resized() override {}
/** Overridden from TopologySource::Listener. Called when the topology changes */
void topologyChanged() override
{
// Reset the activeBlock object
if (activeBlock != nullptr)
detachActiveBlock();
// Get the array of currently connected Block objects from the PhysicalTopologySource
Block::Array blocks = topologySource.getCurrentTopology().blocks;
// Iterate over the array of Block objects
for (auto b : blocks)
{
// Find the first Lightpad
if (b->getType() == Block::Type::lightPadBlock)
{
activeBlock = b;
// Register MainContentComponent as a listener to the touch surface
if (auto surface = activeBlock->getTouchSurface())
surface->addListener (this);
// Register MainContentComponent as a listener to any buttons
for (auto button : activeBlock->getButtons())
button->addListener (this);
// Get the LEDGrid object from the Lightpad and set its program to the program for the current mode
if (auto grid = activeBlock->getLEDGrid())
{
// Work out scale factors to translate X and Y touches to LED indexes
scaleX = (float) (grid->getNumColumns() - 1) / activeBlock->getWidth();
scaleY = (float) (grid->getNumRows() - 1) / activeBlock->getHeight();
setLEDProgram (grid);
}
break;
}
}
}
private:
/** Overridden from TouchSurface::Listener. Called when a Touch is received on the Lightpad */
void touchChanged (TouchSurface&, const TouchSurface::Touch& touch) override
{
// Translate X and Y touch events to LED indexes
int xLed = roundToInt (touch.x * scaleX);
int yLed = roundToInt (touch.y * scaleY);
if (currentMode == colourPalette)
{
if (layout.setActiveColourForTouch (xLed, yLed))
colourPaletteProgram->setGridFills (layout.numColumns, layout.numRows, layout.gridFillArray);
}
else if (currentMode == canvas)
{
drawLEDs ((uint32) xLed, (uint32) yLed, touch.z, layout.currentColour);
}
}
/** Overridden from ControlButton::Listener. Called when a button on the Lightpad is pressed */
void buttonPressed (ControlButton&, Block::Timestamp) override {};
/** Overridden from ControlButton::Listener. Called when a button on the Lightpad is released */
void buttonReleased (ControlButton&, Block::Timestamp) override
{
if (currentMode == canvas)
{
// Wait 500ms to see if there is a second press
if (! isTimerRunning())
startTimer (500);
else
doublePress = true;
}
else if (currentMode == colourPalette)
{
// Switch to canvas mode and set the LEDGrid program
currentMode = canvas;
setLEDProgram (activeBlock->getLEDGrid());
}
}
void timerCallback() override
{
if (doublePress)
{
// Clear the LED grid
for (uint32 x = 0; x < 15; ++x)
for (uint32 y = 0; y < 15; ++ y)
canvasProgram->setLED (x, y, Colours::black);
// Clear the ActiveLED array
activeLeds.clear();
// Reset the doublePress flag
doublePress = false;
}
else
{
// Switch to colour palette mode and set the LEDGrid program
currentMode = colourPalette;
setLEDProgram (activeBlock->getLEDGrid());
}
stopTimer();
}
/** Removes TouchSurface and ControlButton listeners and sets activeBlock to nullptr */
void detachActiveBlock()
{
if (auto surface = activeBlock->getTouchSurface())
surface->removeListener (this);
for (auto button : activeBlock->getButtons())
button->removeListener (this);
activeBlock = nullptr;
}
/** Sets the LEDGrid Program for the selected mode */
void setLEDProgram (LEDGrid* grid)
{
if (currentMode == canvas)
{
// Create a new BitmapLEDProgram for the LEDGrid
canvasProgram = new BitmapLEDProgram (*grid);
// Set the LEDGrid program
grid->setProgram (canvasProgram);
// Redraw any previously drawn LEDs
redrawLEDs();
}
else if (currentMode == colourPalette)
{
// Create a new DrumPadGridProgram for the LEDGrid
colourPaletteProgram = new DrumPadGridProgram (*grid);
// Set the LEDGrid program
grid->setProgram (colourPaletteProgram);
// Setup the grid layout
colourPaletteProgram->setGridFills (layout.numColumns, layout.numRows, layout.gridFillArray);
}
}
/** Sets an LED on the Lightpad for a given touch co-ordinate and pressure */
void drawLEDs (uint32 x0, uint32 y0, float z, Colour drawColour)
{
// Check if the activeLeds array already contains an ActiveLED object for this LED
int index = -1;
for (int i = 0; i < activeLeds.size(); ++i)
{
if (activeLeds.getReference(i).occupies (x0, y0))
{
index = i;
break;
}
}
// If the colour is black then just set the LED to black and return
if (drawColour == Colours::black)
{
if (index != -1)
{
canvasProgram->setLED (x0, y0, Colours::black);
activeLeds.remove (index);
}
return;
}
// If there is no ActiveLED obejct for this LED then create one,
// add it to the array, set the LED on the Block and return
if (index == -1)
{
ActiveLED led;
led.x = x0;
led.y = y0;
led.colour = drawColour;
led.brightness = z;
activeLeds.add (led);
canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness));
return;
}
// Get the ActiveLED object for this LED
ActiveLED currentLed = activeLeds.getReference (index);
// If the LED colour is the same as the draw colour, add the brightnesses together.
// If it is different, blend the colours
if (currentLed.colour == drawColour)
currentLed.brightness = jmin (currentLed.brightness + z, 1.0f);
else
currentLed.colour = currentLed.colour.interpolatedWith (drawColour, z);
// Set the LED on the Block and change the ActiveLED object in the activeLeds array
canvasProgram->setLED (currentLed.x, currentLed.y, currentLed.colour.withBrightness (currentLed.brightness));
activeLeds.set (index, currentLed);
}
/** Redraws the LEDs on the Lightpad from the activeLeds array */
void redrawLEDs()
{
// Iterate over the activeLeds array and set the LEDs on the Block
for (auto led : activeLeds)
canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness));
}
/**
A struct that represents an active LED on the Lightpad.
Has a position, colour and brightness.
*/
struct ActiveLED
{
uint32 x;
uint32 y;
Colour colour;
float brightness;
/** Returns true if this LED occupies the given co-ordiantes */
bool occupies (uint32 xPos, uint32 yPos) const
{
if (xPos == x && yPos == y)
return true;
return false;
}
};
Array<ActiveLED> activeLeds;
/**
enum for the two modes
*/
enum DisplayMode
{
colourPalette = 0,
canvas
};
DisplayMode currentMode = colourPalette;
//==============================================================================
BitmapLEDProgram* canvasProgram;
DrumPadGridProgram* colourPaletteProgram;
ColourGrid layout;
PhysicalTopologySource topologySource;
Block::Ptr activeBlock;
float scaleX = 0.0;
float scaleY = 0.0;
bool doublePress = false;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)
};
#endif // MAINCOMPONENT_H_INCLUDED

+ 113
- 0
examples/BLOCKS/BlocksMonitor/BlocksMonitor.jucer View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="X7eXs7" name="BlocksMonitor" projectType="guiapp" version="1.0.0"
bundleIdentifier="com.yourcompany.BlocksInfo" includeBinaryInAppConfig="1"
jucerVersion="4.2.4">
<MAINGROUP id="msZ9DB" name="BlocksMonitor">
<GROUP id="{2C318C74-6596-8102-3CA6-602595447F25}" name="Source">
<FILE id="Tw2mMp" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
<FILE id="lyGFuY" name="BlockComponents.h" compile="0" resource="0"
file="Source/BlockComponents.h"/>
<FILE id="bXevSG" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>
</GROUP>
</MAINGROUP>
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksMonitor"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksMonitor"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
</MODULEPATHS>
</XCODE_MAC>
<VS2013 targetFolder="Builds/VisualStudio2013">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksMonitor"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksMonitor"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2013>
<VS2015 targetFolder="Builds/VisualStudio2015">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksMonitor"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksMonitor"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2015>
<LINUX_MAKE targetFolder="Builds/LinuxMakefile">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksMonitor"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksMonitor"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</LINUX_MAKE>
</EXPORTFORMATS>
<MODULES>
<MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>
</MODULES>
<JUCEOPTIONS/>
<LIVE_SETTINGS>
<OSX/>
</LIVE_SETTINGS>
</JUCERPROJECT>

+ 154
- 0
examples/BLOCKS/BlocksMonitor/Builds/LinuxMakefile/Makefile View File

@@ -0,0 +1,154 @@
# Automatically generated makefile, created by the Projucer
# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!
# (this disables dependency generation if multiple architectures are set)
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
ifndef STRIP
STRIP=strip
endif
ifndef AR
AR=ar
endif
ifndef CONFIG
CONFIG=Debug
endif
ifeq ($(CONFIG),Debug)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Debug
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksMonitor
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
ifeq ($(CONFIG),Release)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Release
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksMonitor
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
OBJECTS := \
$(JUCE_OBJDIR)/Main_90ebc5c2.o \
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \
$(JUCE_OBJDIR)/juce_core_75b14332.o \
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \
$(JUCE_OBJDIR)/juce_events_d2be882c.o \
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o \
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \
.PHONY: clean
$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)
@echo Linking BlocksMonitor
-@mkdir -p $(JUCE_BINDIR)
-@mkdir -p $(JUCE_LIBDIR)
-@mkdir -p $(JUCE_OUTDIR)
@$(BLDCMD)
check-pkg-config:
@command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
@pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama
clean:
@echo Cleaning BlocksMonitor
@$(CLEANCMD)
strip:
@echo Stripping BlocksMonitor
-@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)
$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling Main.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_devices.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_formats.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_blocks_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_core.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_data_structures.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_events.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_graphics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_extra.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_opengl.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
-include $(OBJECTS:%.o=%.d)

+ 2604
- 0
examples/BLOCKS/BlocksMonitor/Builds/MacOSX/BlocksMonitor.xcodeproj/project.pbxproj
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksMonitor/Builds/MacOSX/Info-App.plist View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleName</key>
<string>BlocksMonitor</string>
<key>CFBundleDisplayName</key>
<string>BlocksMonitor</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

BIN
examples/BLOCKS/BlocksMonitor/Builds/MacOSX/RecentFilesMenuTemplate.nib View File


+ 19
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2013
Project("{2A58BC08-D4BC-752C-26E3-197C4DF6FFF2}") = "BlocksMonitor", "BlocksMonitor.vcxproj", "{C732A69E-6750-67A4-2834-8CD8A6CDC360}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.ActiveCfg = Debug|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.Build.0 = Debug|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.ActiveCfg = Release|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2181
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.vcxproj
File diff suppressed because it is too large
View File


+ 3665
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/BlocksMonitor.vcxproj.filters
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2013/resources.rc View File

@@ -0,0 +1,29 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "BlocksMonitor\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "BlocksMonitor\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 19
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2015
Project("{2A58BC08-D4BC-752C-26E3-197C4DF6FFF2}") = "BlocksMonitor", "BlocksMonitor.vcxproj", "{C732A69E-6750-67A4-2834-8CD8A6CDC360}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.ActiveCfg = Debug|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.Build.0 = Debug|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.ActiveCfg = Release|Win32
{C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2181
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.vcxproj
File diff suppressed because it is too large
View File


+ 3665
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/BlocksMonitor.vcxproj.filters
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksMonitor/Builds/VisualStudio2015/resources.rc View File

@@ -0,0 +1,29 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "BlocksMonitor\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "BlocksMonitor\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 179
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/AppConfig.h View File

@@ -0,0 +1,179 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
There's a section below where you can add your own custom code safely, and the
Projucer will preserve the contents of that block, but the best way to change
any of these definitions is by using the Projucer's project settings.
Any commented-out settings will assume their default values.
*/
#ifndef __JUCE_APPCONFIG_X7EXS7__
#define __JUCE_APPCONFIG_X7EXS7__
//==============================================================================
// [BEGIN_USER_CODE_SECTION]
// (You can add your own code in this section, and the Projucer will not overwrite it)
// [END_USER_CODE_SECTION]
//==============================================================================
#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1
#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1
#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1
#define JUCE_MODULE_AVAILABLE_juce_blocks_basics 1
#define JUCE_MODULE_AVAILABLE_juce_core 1
#define JUCE_MODULE_AVAILABLE_juce_data_structures 1
#define JUCE_MODULE_AVAILABLE_juce_events 1
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
#define JUCE_MODULE_AVAILABLE_juce_opengl 1
//==============================================================================
#ifndef JUCE_STANDALONE_APPLICATION
#ifdef JucePlugin_Build_Standalone
#define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone
#else
#define JUCE_STANDALONE_APPLICATION 1
#endif
#endif
#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1
//==============================================================================
// juce_audio_devices flags:
#ifndef JUCE_ASIO
//#define JUCE_ASIO
#endif
#ifndef JUCE_WASAPI
//#define JUCE_WASAPI
#endif
#ifndef JUCE_WASAPI_EXCLUSIVE
//#define JUCE_WASAPI_EXCLUSIVE
#endif
#ifndef JUCE_DIRECTSOUND
//#define JUCE_DIRECTSOUND
#endif
#ifndef JUCE_ALSA
//#define JUCE_ALSA
#endif
#ifndef JUCE_JACK
//#define JUCE_JACK
#endif
#ifndef JUCE_USE_ANDROID_OPENSLES
//#define JUCE_USE_ANDROID_OPENSLES
#endif
//==============================================================================
// juce_audio_formats flags:
#ifndef JUCE_USE_FLAC
//#define JUCE_USE_FLAC
#endif
#ifndef JUCE_USE_OGGVORBIS
//#define JUCE_USE_OGGVORBIS
#endif
#ifndef JUCE_USE_MP3AUDIOFORMAT
//#define JUCE_USE_MP3AUDIOFORMAT
#endif
#ifndef JUCE_USE_LAME_AUDIO_FORMAT
//#define JUCE_USE_LAME_AUDIO_FORMAT
#endif
#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT
//#define JUCE_USE_WINDOWS_MEDIA_FORMAT
#endif
//==============================================================================
// juce_core flags:
#ifndef JUCE_FORCE_DEBUG
//#define JUCE_FORCE_DEBUG
#endif
#ifndef JUCE_LOG_ASSERTIONS
//#define JUCE_LOG_ASSERTIONS
#endif
#ifndef JUCE_CHECK_MEMORY_LEAKS
//#define JUCE_CHECK_MEMORY_LEAKS
#endif
#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
//#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
#endif
#ifndef JUCE_INCLUDE_ZLIB_CODE
//#define JUCE_INCLUDE_ZLIB_CODE
#endif
#ifndef JUCE_USE_CURL
//#define JUCE_USE_CURL
#endif
#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS
#endif
#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES
//#define JUCE_ALLOW_STATIC_NULL_VARIABLES
#endif
//==============================================================================
// juce_graphics flags:
#ifndef JUCE_USE_COREIMAGE_LOADER
//#define JUCE_USE_COREIMAGE_LOADER
#endif
#ifndef JUCE_USE_DIRECTWRITE
//#define JUCE_USE_DIRECTWRITE
#endif
//==============================================================================
// juce_gui_basics flags:
#ifndef JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_ENABLE_REPAINT_DEBUGGING
#endif
#ifndef JUCE_USE_XSHM
//#define JUCE_USE_XSHM
#endif
#ifndef JUCE_USE_XRENDER
//#define JUCE_USE_XRENDER
#endif
#ifndef JUCE_USE_XCURSOR
//#define JUCE_USE_XCURSOR
#endif
//==============================================================================
// juce_gui_extra flags:
#ifndef JUCE_WEB_BROWSER
//#define JUCE_WEB_BROWSER
#endif
#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR
//#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR
#endif
#endif // __JUCE_APPCONFIG_X7EXS7__

+ 46
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/JuceHeader.h View File

@@ -0,0 +1,46 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
This is the header file that your files should include in order to get all the
JUCE library headers. You should avoid including the JUCE headers directly in
your own source files, because that wouldn't pick up the correct configuration
options for your app.
*/
#ifndef __APPHEADERFILE_X7EXS7__
#define __APPHEADERFILE_X7EXS7__
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.h>
#include <juce_audio_devices/juce_audio_devices.h>
#include <juce_audio_formats/juce_audio_formats.h>
#include <juce_blocks_basics/juce_blocks_basics.h>
#include <juce_core/juce_core.h>
#include <juce_data_structures/juce_data_structures.h>
#include <juce_events/juce_events.h>
#include <juce_graphics/juce_graphics.h>
#include <juce_gui_basics/juce_gui_basics.h>
#include <juce_gui_extra/juce_gui_extra.h>
#include <juce_opengl/juce_opengl.h>
#if ! DONT_SET_USING_JUCE_NAMESPACE
// If your code uses a lot of JUCE classes, then this will obviously save you
// a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
using namespace juce;
#endif
#if ! JUCE_DONT_DECLARE_PROJECTINFO
namespace ProjectInfo
{
const char* const projectName = "BlocksMonitor";
const char* const versionString = "1.0.0";
const int versionNumber = 0x10000;
}
#endif
#endif // __APPHEADERFILE_X7EXS7__

+ 12
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/ReadMe.txt View File

@@ -0,0 +1,12 @@
Important Note!!
================
The purpose of this folder is to contain files that are auto-generated by the Projucer,
and ALL files in this folder will be mercilessly DELETED and completely re-written whenever
the Projucer saves your project.
Therefore, it's a bad idea to make any manual changes to the files in here, or to
put any of your own files in here if you don't want to lose them. (Of course you may choose
to add the folder's contents to your version-control system so that you can re-merge your own
modifications after the Projucer has saved its changes).

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_basics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_basics/juce_audio_basics.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_devices.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_devices/juce_audio_devices.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_devices.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_devices/juce_audio_devices.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_formats.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_formats/juce_audio_formats.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_audio_formats.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_audio_formats/juce_audio_formats.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_blocks_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_blocks_basics/juce_blocks_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_core.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_core/juce_core.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_core.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_core/juce_core.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_data_structures.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_data_structures/juce_data_structures.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_data_structures.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_data_structures/juce_data_structures.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_events.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_events/juce_events.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_events.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_events/juce_events.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_graphics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_graphics/juce_graphics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_graphics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_graphics/juce_graphics.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_basics.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_basics/juce_gui_basics.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_basics.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_basics/juce_gui_basics.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_extra.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_extra/juce_gui_extra.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_gui_extra.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_gui_extra/juce_gui_extra.mm>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_opengl.cpp View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_opengl/juce_opengl.cpp>

+ 9
- 0
examples/BLOCKS/BlocksMonitor/JuceLibraryCode/juce_opengl.mm View File

@@ -0,0 +1,9 @@
/*
IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!
*/
#include "AppConfig.h"
#include <juce_opengl/juce_opengl.mm>

+ 428
- 0
examples/BLOCKS/BlocksMonitor/Source/BlockComponents.h View File

@@ -0,0 +1,428 @@
#ifndef BLOCKCOMPONENTS_H_INCLUDED
#define BLOCKCOMPONENTS_H_INCLUDED
#include "../JuceLibraryCode/JuceHeader.h"
//==============================================================================
/**
Base class that renders a Block on the screen
*/
class BlockComponent : public Component,
public SettableTooltipClient,
private TouchSurface::Listener,
private ControlButton::Listener,
private Timer
{
public:
/** Constructor */
BlockComponent (Block::Ptr blockToUse)
: block (blockToUse)
{
updateStatsAndTooltip();
// Register BlockComponent as a listener to the touch surface
if (auto touchSurface = block->getTouchSurface())
touchSurface->addListener (this);
// Register BlockComponent as a listener to any buttons
for (auto button : block->getButtons())
button->addListener (this);
// If this is a Lightpad then set the grid program to be blank
if (auto grid = block->getLEDGrid())
grid->setProgram (new BitmapLEDProgram(*grid));
// If this is a Lightpad then redraw it at 25Hz
if (block->getType() == Block::lightPadBlock)
startTimerHz (25);
}
/** Destructor */
~BlockComponent()
{
// Remove any listeners
if (auto touchSurface = block->getTouchSurface())
touchSurface->removeListener (this);
for (auto button : block->getButtons())
button->removeListener (this);
}
/** Called periodically to update the tooltip with inforamtion about the Block */
void updateStatsAndTooltip()
{
// Get the battery level of this Block and inform any subclasses
const float batteryLevel = block->getBatteryLevel();
handleBatteryLevelUpdate (batteryLevel);
// Format the tooltip string
const String ttString = "Name = " + block->getDeviceDescription() + "\n"
+ "UID = " + String (block->uid) + "\n"
+ "Serial number = " + block->serialNumber + "\n"
+ "Battery level = " + String ((int) (batteryLevel * 100)) + "%"
+ (block->isBatteryCharging() ? "++" : "--");
// Update the tooltip string if it has changed
if (ttString != getTooltip())
setTooltip (ttString);
}
/** Subclasses should override this to paint the Block object on the screen */
virtual void paint (Graphics&) override = 0;
/** Subclasses can override this to receive button down events from the Block */
virtual void handleButtonPressed (ControlButton::ButtonFunction, uint32) {}
/** Subclasses can override this to receive button up events from the Block */
virtual void handleButtonReleased (ControlButton::ButtonFunction, uint32) {}
/** Subclasses can override this to receive touch events from the Block */
virtual void handleTouchChange (TouchSurface::Touch) {}
/** Subclasses can override this to battery level updates from the Block */
virtual void handleBatteryLevelUpdate (float) {}
/** The Block object that this class represents */
Block::Ptr block;
//==============================================================================
/** Returns an integer index corresponding to a physical position on the hardware
for each type of Control Block. */
static int controlButtonFunctionToIndex (ControlButton::ButtonFunction f)
{
static std::initializer_list<ControlButton::ButtonFunction> map[] =
{{ControlButton::mode, ControlButton::button0},
{ControlButton::volume, ControlButton::button1},
{ControlButton::scale, ControlButton::button2, ControlButton::click},
{ControlButton::chord, ControlButton::button3, ControlButton::snap},
{ControlButton::arp,ControlButton:: button4, ControlButton::back},
{ControlButton::sustain, ControlButton::button5, ControlButton::playOrPause},
{ControlButton::octave, ControlButton::button6, ControlButton::record},
{ControlButton::love, ControlButton::button7, ControlButton::learn},
{ControlButton::up},
{ControlButton::down}};
for (size_t i = 0; i < (sizeof (map) / sizeof (map[0])); ++i)
if (std::find (map[i].begin(), map[i].end(), f) != map[i].end())
return static_cast<int> (i);
return -1;
}
private:
/** Used to call repaint() periodically */
void timerCallback() override { repaint(); }
/** Overridden from TouchSurface::Listener */
void touchChanged (TouchSurface&, const TouchSurface::Touch& t) override { handleTouchChange (t); }
/** Overridden from ControlButton::Listener */
void buttonPressed (ControlButton& b, Block::Timestamp t) override { handleButtonPressed (b.getType(), t); }
/** Overridden from ControlButton::Listener */
void buttonReleased (ControlButton& b, Block::Timestamp t) override { handleButtonReleased (b.getType(), t); }
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BlockComponent)
};
/**
Class that renders a Lightpad on the screen
*/
class LightpadComponent : public BlockComponent
{
public:
LightpadComponent (Block::Ptr blockToUse)
: BlockComponent (blockToUse)
{
}
void paint (Graphics& g) override
{
auto r = getLocalBounds().toFloat();
// clip the drawing area to only draw in the block area
{
Path clipArea;
clipArea.addRoundedRectangle (r, r.getWidth() / 20.0f);
g.reduceClipRegion (clipArea);
}
// Fill a black square for the Lightpad
g.fillAll (Colours::black);
// size ration between physical and on-screen blocks
const Point<float> ratio (r.getWidth() / block->getWidth(),
r.getHeight() / block->getHeight());
const float maxCircleSize = block->getWidth() / 3.0f;
// iterate over the list of current touches and draw them on the onscreen Block
for (auto touch : touches)
{
const float circleSize = touch.touch.z * maxCircleSize;
const Point<float> touchPosition = Point<float> (touch.touch.x, touch.touch.y);
const Colour c = colourArray[touch.touch.index];
const Rectangle<float> blob =
(Rectangle<float> (circleSize, circleSize).withCentre (touchPosition)) * ratio;
const ColourGradient cg = ColourGradient (colourArray[touch.touch.index], blob.getCentreX(), blob.getCentreY(),
Colours::transparentBlack, blob.getRight(), blob.getBottom(),
true);
g.setGradientFill (cg);
g.fillEllipse (blob);
}
}
void handleTouchChange (TouchSurface::Touch touch) override { touches.updateTouch (touch); }
private:
/** An Array of colours to use for touches */
Array<Colour> colourArray = { Colours::red, Colours::blue, Colours::green,
Colours::yellow, Colours::white, Colours::hotpink,
Colours::mediumpurple };
/** A list of current Touch events */
TouchList<TouchSurface::Touch> touches;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LightpadComponent)
};
/**
Class that renders a Control Block on the screen
*/
class ControlBlockComponent : public BlockComponent
{
public:
ControlBlockComponent (Block::Ptr blockToUse)
: BlockComponent (blockToUse),
numLeds (block->getLEDRow()->getNumLEDs())
{
addAndMakeVisible (roundedRectangleButton);
// Display the battery level on the LEDRow
int numLedsToTurnOn = static_cast<int> (static_cast<float> (numLeds) * block->getBatteryLevel());
// add LEDs
LEDComponent* ledComponent;
for (int i = 0; i < numLeds; ++i)
{
ledComponent = new LEDComponent();
ledComponent->setOnState (i < numLedsToTurnOn);
addAndMakeVisible (leds.add (ledComponent));
}
previousNumLedsOn = numLedsToTurnOn;
// add buttons
for (int i = 0; i < 8; ++i)
addAndMakeVisible (circleButtons[i]);
}
void resized() override
{
const auto r = getLocalBounds().reduced (10);
const int rowHeight = r.getHeight() / 5;
const int ledWidth = (r.getWidth() - 70) / numLeds;
const int buttonWidth = (r.getWidth() - 40) / 5;
auto row = r;
auto ledRow = row.removeFromTop (rowHeight) .withSizeKeepingCentre (r.getWidth(), ledWidth);
auto buttonRow1 = row.removeFromTop (rowHeight * 2).withSizeKeepingCentre (r.getWidth(), buttonWidth);
auto buttonRow2 = row.removeFromTop (rowHeight * 2).withSizeKeepingCentre (r.getWidth(), buttonWidth);
for (int i = 0; i < numLeds; ++i)
{
leds.getUnchecked (i)->setBounds (ledRow.removeFromLeft (ledWidth).reduced (2));
ledRow.removeFromLeft (5);
}
for (int i = 0; i < 5; ++i)
{
circleButtons[i].setBounds (buttonRow1.removeFromLeft (buttonWidth).reduced (2));
buttonRow1.removeFromLeft (10);
}
for (int i = 5; i < 8; ++i)
{
circleButtons[i].setBounds (buttonRow2.removeFromLeft (buttonWidth).reduced (2));
buttonRow2.removeFromLeft (10);
}
roundedRectangleButton.setBounds (buttonRow2);
}
void paint (Graphics& g) override
{
const auto r = getLocalBounds().toFloat();
// Fill a black rectangle for the Control Block
g.setColour (Colours::black);
g.fillRoundedRectangle (r, r.getWidth() / 20.0f);
}
void handleButtonPressed (ControlButton::ButtonFunction function, uint32) override
{
displayButtonInteraction (controlButtonFunctionToIndex (function), true);
}
void handleButtonReleased (ControlButton::ButtonFunction function, uint32) override
{
displayButtonInteraction (controlButtonFunctionToIndex (function), false);
}
void handleBatteryLevelUpdate (float batteryLevel) override
{
// Update the number of LEDs that are on to represent the battery level
int numLedsOn = static_cast<int> (static_cast<float> (numLeds) * batteryLevel);
if (numLedsOn != previousNumLedsOn)
for (int i = 0; i < numLeds; ++i)
leds.getUnchecked (i)->setOnState (i < numLedsOn);
previousNumLedsOn = numLedsOn;
repaint();
}
private:
/**
Base class that renders a Control Block button
*/
struct ControlBlockSubComponent : public Component,
public TooltipClient
{
ControlBlockSubComponent (Colour componentColourToUse)
: componentColour (componentColourToUse),
onState (false)
{}
/** Subclasses should override this to paint the button on the screen */
virtual void paint (Graphics&) override = 0;
/** Sets the colour of the button */
void setColour (Colour c) { componentColour = c; }
/** Sets the on state of the button */
void setOnState (bool isOn)
{
onState = isOn;
repaint();
}
/** Returns the Control Block tooltip */
String getTooltip() override
{
for (Component* comp = this; comp != nullptr; comp = comp->getParentComponent())
if (SettableTooltipClient* sttc = dynamic_cast<SettableTooltipClient*> (comp))
return sttc->getTooltip();
return String();
}
//==============================================================================
Colour componentColour;
bool onState;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlBlockSubComponent)
};
/**
Class that renders a Control Block LED on the screen
*/
struct LEDComponent : public ControlBlockSubComponent
{
LEDComponent() : ControlBlockSubComponent (Colours::green) {}
void paint (Graphics& g) override
{
g.setColour (componentColour.withAlpha (onState ? 1.0f : 0.2f));
g.fillEllipse (getLocalBounds().toFloat());
}
};
/**
Class that renders a Control Block single circular button on the screen
*/
struct CircleButtonComponent : public ControlBlockSubComponent
{
CircleButtonComponent() : ControlBlockSubComponent (Colours::blue) {}
void paint (Graphics& g) override
{
g.setColour (componentColour.withAlpha (onState ? 1.0f : 0.2f));
g.fillEllipse (getLocalBounds().toFloat());
}
};
/**
Class that renders a Control Block rounded rectangular button containing two buttons
on the screen
*/
struct RoundedRectangleButtonComponent : public ControlBlockSubComponent
{
RoundedRectangleButtonComponent() : ControlBlockSubComponent (Colours::blue) {}
void paint (Graphics& g) override
{
const auto r = getLocalBounds().toFloat();
g.setColour (componentColour.withAlpha (0.2f));
g.fillRoundedRectangle (r.toFloat(), 20.0f);
g.setColour (componentColour.withAlpha (1.0f));
// is a button pressed?
if (doubleButtonOnState[0] || doubleButtonOnState[1])
{
const float semiButtonWidth = r.getWidth() / 2.0f;
const auto semiButtonBounds = r.withWidth (semiButtonWidth)
.withX (doubleButtonOnState[1] ? semiButtonWidth : 0)
.reduced (5.0f, 2.0f);
g.fillEllipse (semiButtonBounds);
}
}
void setPressedState (bool isPressed, int button)
{
doubleButtonOnState[button] = isPressed;
repaint();
}
private:
bool doubleButtonOnState[2] = {false, false};
};
/** Displays a button press or release interaction for a button at a given index */
void displayButtonInteraction (int buttonIndex, bool isPressed)
{
if (! isPositiveAndBelow (buttonIndex, 10))
return;
if (buttonIndex >= 8)
roundedRectangleButton.setPressedState (isPressed, buttonIndex == 8);
else
circleButtons[buttonIndex].setOnState (isPressed);
}
//==============================================================================
int numLeds;
OwnedArray<LEDComponent> leds;
CircleButtonComponent circleButtons[8];
RoundedRectangleButtonComponent roundedRectangleButton;
int previousNumLedsOn;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlBlockComponent)
};
#endif // BLOCKCOMPONENTS_H_INCLUDED

+ 53
- 0
examples/BLOCKS/BlocksMonitor/Source/Main.cpp View File

@@ -0,0 +1,53 @@
#include "../JuceLibraryCode/JuceHeader.h"
#include "MainComponent.h"
//==============================================================================
class BlocksInfoApplication : public JUCEApplication
{
public:
//==============================================================================
BlocksInfoApplication() {}
const String getApplicationName() override { return ProjectInfo::projectName; }
const String getApplicationVersion() override { return ProjectInfo::versionString; }
//==============================================================================
void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow (getApplicationName()); }
void shutdown() override { mainWindow = nullptr; }
//==============================================================================
class MainWindow : public DocumentWindow
{
public:
MainWindow (String name) : DocumentWindow (name,
Colours::lightgrey,
DocumentWindow::allButtons)
{
setUsingNativeTitleBar (true);
setContentOwned (new MainComponent(), true);
centreWithSize (getWidth(), getHeight());
setResizable (true, true);
setVisible (true);
}
void closeButtonPressed() override
{
JUCEApplication::getInstance()->systemRequestedQuit();
}
private:
TooltipWindow tooltipWindow;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
};
private:
ScopedPointer<MainWindow> mainWindow;
};
//==============================================================================
START_JUCE_APPLICATION (BlocksInfoApplication)

+ 154
- 0
examples/BLOCKS/BlocksMonitor/Source/MainComponent.h View File

@@ -0,0 +1,154 @@
#ifndef MAINCOMPONENT_H_INCLUDED
#define MAINCOMPONENT_H_INCLUDED
#include "../JuceLibraryCode/JuceHeader.h"
#include "BlockComponents.h"
/**
The main component where the Block components will be displayed
*/
class MainComponent : public Component,
public TopologySource::Listener,
private Timer
{
public:
MainComponent()
{
setSize (600, 600);
noBlocksLabel.setText ("No BLOCKS connected...", dontSendNotification);
noBlocksLabel.setJustificationType (Justification::centred);
addAndMakeVisible (noBlocksLabel);
// Register MainComponent as a listener to the PhysicalTopologySource object
topologySource.addListener (this);
startTimer (10000);
}
void paint (Graphics& g) override
{
g.fillAll (Colours::lightgrey);
}
void resized() override
{
noBlocksLabel.setVisible (false);
const int numBlockComponents = blockComponents.size();
// If there are no currently connected Blocks then display some text on the screen
if (numBlockComponents == 0)
{
noBlocksLabel.setVisible (true);
noBlocksLabel.setBounds (0, (getHeight() / 2) - 50, getWidth(), 100);
return;
}
// Work out the maximum diplay area for each Block
const Rectangle<int> bounds = getLocalBounds().reduced (20);
auto squareRoot = sqrt (numBlockComponents);
int gridSize = (int)squareRoot;
if (squareRoot - gridSize > 0)
gridSize++;
int sideLength = bounds.getWidth() / gridSize;
int xCounter = 0;
int yCounter = 0;
bool hasSpaceForControlBlock = false;
Rectangle<int> lastControlBlockBounds;
for (auto block : blockComponents)
{
Rectangle<int> blockBounds;
const Block::Type type = block->block->getType();
// Can fit 2 ControlBlockComponents in the space of one LightpadBlockComponent
if (type == Block::liveBlock || type == Block::loopBlock)
{
if (hasSpaceForControlBlock)
{
blockBounds = lastControlBlockBounds.withY (lastControlBlockBounds.getY() + (int)(sideLength * 0.5));
hasSpaceForControlBlock = false;
}
else
{
blockBounds = Rectangle<int> (bounds.getX() + (xCounter * sideLength), bounds.getY() + (yCounter * sideLength),
sideLength, (int)(sideLength * 0.5));
hasSpaceForControlBlock = true;
lastControlBlockBounds = blockBounds;
}
}
else
{
blockBounds = Rectangle<int> (bounds.getX() + (xCounter * sideLength), bounds.getY() + (yCounter * sideLength),
sideLength, sideLength);
}
block->setBounds (blockBounds.reduced (5));
if (++xCounter >= gridSize)
{
yCounter++;
xCounter = 0;
}
}
}
/** Overridden from TopologySource::Listener, called when the topology changes */
void topologyChanged() override
{
// Clear the array of Block components
blockComponents.clear();
// Get the array of currently connected Block objects from the PhysicalTopologySource
Block::Array blocksArray = topologySource.getCurrentTopology().blocks;
// Create a BlockComponent object for each Block object
for (auto& block : blocksArray)
if (BlockComponent* blockComponent = createBlockComponent (block))
addAndMakeVisible (blockComponents.add (blockComponent));
// Update the display
resized();
}
private:
/** Creates a BlockComponent object for a new Block and adds it to the content component */
BlockComponent* createBlockComponent (Block::Ptr newBlock)
{
const Block::Type type = newBlock->getType();
if (type == Block::lightPadBlock)
return new LightpadComponent (newBlock);
if (type == Block::loopBlock || type == Block::liveBlock)
return new ControlBlockComponent (newBlock);
// should only be connecting a Lightpad or Control Block!
jassertfalse;
return nullptr;
}
/** Periodically updates the displayed BlockComponent tooltips */
void timerCallback() override
{
for (auto c : blockComponents)
c->updateStatsAndTooltip();
}
//==============================================================================
PhysicalTopologySource topologySource;
OwnedArray<BlockComponent> blockComponents;
Label noBlocksLabel;
//==============================================================================
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)
};
#endif // MAINCOMPONENT_H_INCLUDED

+ 112
- 0
examples/BLOCKS/BlocksSynth/BlocksSynth.jucer View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="XsTycT" name="BlocksSynth" projectType="guiapp" version="1.0.0"
bundleIdentifier="com.yourcompany.BlocksSynth" includeBinaryInAppConfig="1"
jucerVersion="4.2.4">
<MAINGROUP id="onTNql" name="BlocksSynth">
<GROUP id="{0CEBC63B-4C52-E77F-CD6E-A2E65F0C9B2B}" name="Source">
<GROUP id="{06BF67F9-0F56-6AD3-00A9-443125750AAE}" name="Audio">
<FILE id="SfPbCK" name="Oscillators.h" compile="0" resource="0" file="Source/Oscillators.h"/>
<FILE id="K6DQIH" name="Audio.h" compile="0" resource="0" file="Source/Audio.h"/>
</GROUP>
<FILE id="atp2Hj" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>
<FILE id="r82Xw7" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
</GROUP>
</MAINGROUP>
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksSynth"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksSynth"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
</MODULEPATHS>
</XCODE_MAC>
<VS2013 targetFolder="Builds/VisualStudio2013">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksSynth"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksSynth"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2013>
<VS2015 targetFolder="Builds/VisualStudio2015">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="1" optimisation="1" targetName="BlocksSynth"/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"
isDebug="0" optimisation="3" targetName="BlocksSynth"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</VS2015>
<LINUX_MAKE targetFolder="Builds/LinuxMakefile">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksSynth"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksSynth"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../../modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../modules"/>
<MODULEPATH id="juce_graphics" path="../../../modules"/>
<MODULEPATH id="juce_events" path="../../../modules"/>
<MODULEPATH id="juce_data_structures" path="../../../modules"/>
<MODULEPATH id="juce_core" path="../../../modules"/>
<MODULEPATH id="juce_blocks_basics" path="../../../modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../modules"/>
<MODULEPATH id="juce_audio_basics" path="../../../modules"/>
</MODULEPATHS>
</LINUX_MAKE>
</EXPORTFORMATS>
<MODULES>
<MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>
<MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>
</MODULES>
<JUCEOPTIONS/>
</JUCERPROJECT>

+ 154
- 0
examples/BLOCKS/BlocksSynth/Builds/LinuxMakefile/Makefile View File

@@ -0,0 +1,154 @@
# Automatically generated makefile, created by the Projucer
# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!
# (this disables dependency generation if multiple architectures are set)
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
ifndef STRIP
STRIP=strip
endif
ifndef AR
AR=ar
endif
ifndef CONFIG
CONFIG=Debug
endif
ifeq ($(CONFIG),Debug)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Debug
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksSynth
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
ifeq ($(CONFIG),Release)
JUCE_BINDIR := build
JUCE_LIBDIR := build
JUCE_OBJDIR := build/intermediate/Release
JUCE_OUTDIR := build
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
TARGET := BlocksSynth
BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)
endif
OBJECTS := \
$(JUCE_OBJDIR)/Main_90ebc5c2.o \
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \
$(JUCE_OBJDIR)/juce_core_75b14332.o \
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \
$(JUCE_OBJDIR)/juce_events_d2be882c.o \
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o \
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \
.PHONY: clean
$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)
@echo Linking BlocksSynth
-@mkdir -p $(JUCE_BINDIR)
-@mkdir -p $(JUCE_LIBDIR)
-@mkdir -p $(JUCE_OUTDIR)
@$(BLDCMD)
check-pkg-config:
@command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }
@pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama
clean:
@echo Cleaning BlocksSynth
@$(CLEANCMD)
strip:
@echo Stripping BlocksSynth
-@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)
$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling Main.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_devices.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_audio_formats.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_blocks_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_core.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_data_structures.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_events.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_graphics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_basics.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_gui_extra.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp
-@mkdir -p $(JUCE_OBJDIR)
@echo "Compiling juce_opengl.cpp"
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"
-include $(OBJECTS:%.o=%.d)

+ 2608
- 0
examples/BLOCKS/BlocksSynth/Builds/MacOSX/BlocksSynth.xcodeproj/project.pbxproj
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksSynth/Builds/MacOSX/Info-App.plist View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleName</key>
<string>BlocksSynth</string>
<key>CFBundleDisplayName</key>
<string>BlocksSynth</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHumanReadableCopyright</key>
<string></string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

BIN
examples/BLOCKS/BlocksSynth/Builds/MacOSX/RecentFilesMenuTemplate.nib View File


+ 19
- 0
examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2013
Project("{1ADF3DE4-36E9-080C-9E5A-03B9A3DA399C}") = "BlocksSynth", "BlocksSynth.vcxproj", "{95CDA882-A3D2-8344-A1B4-E341383A631E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.ActiveCfg = Debug|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.Build.0 = Debug|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.ActiveCfg = Release|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

+ 2182
- 0
examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.vcxproj
File diff suppressed because it is too large
View File


+ 3671
- 0
examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/BlocksSynth.vcxproj.filters
File diff suppressed because it is too large
View File


+ 29
- 0
examples/BLOCKS/BlocksSynth/Builds/VisualStudio2013/resources.rc View File

@@ -0,0 +1,29 @@
#ifdef JUCE_USER_DEFINED_RC_FILE
#include JUCE_USER_DEFINED_RC_FILE
#else
#undef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "FileDescription", "BlocksSynth\0"
VALUE "FileVersion", "1.0.0\0"
VALUE "ProductName", "BlocksSynth\0"
VALUE "ProductVersion", "1.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
#endif

+ 19
- 0
examples/BLOCKS/BlocksSynth/Builds/VisualStudio2015/BlocksSynth.sln View File

@@ -0,0 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2015
Project("{1ADF3DE4-36E9-080C-9E5A-03B9A3DA399C}") = "BlocksSynth", "BlocksSynth.vcxproj", "{95CDA882-A3D2-8344-A1B4-E341383A631E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.ActiveCfg = Debug|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.Build.0 = Debug|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.ActiveCfg = Release|Win32
{95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save