diff --git a/extras/BLOCKS/doxygen/pages/controlling_led_grids.dox b/extras/BLOCKS/doxygen/pages/controlling_led_grids.dox index 767f729241..16eaa0182e 100644 --- a/extras/BLOCKS/doxygen/pages/controlling_led_grids.dox +++ b/extras/BLOCKS/doxygen/pages/controlling_led_grids.dox @@ -33,25 +33,5 @@ void setLED (Block& block, int x, int y, Colour c) Using a custom %LEDGrid::Program allows more precise control over the operation of the LEDs. The code which will actually execute on the device, returned by your overriden LEDGrid::Program::getLittleFootProgram() function, must be specified in the LittleFoot language. - -@subsection the_littlefoot_language The LittleFoot Language - -A description of the LittleFoot language is contained in the SDK source code at juce_blocks_basics/littlefoot/LittleFoot Language README.txt: -@includedoc "LittleFoot Language README.txt" - -@subsection littlefoot_example A LittleFoot example - -The %BitmapLEDProgram class is a simple example of a LittleFoot program. - -%juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h -@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h - -juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp -@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp - -The repaint() method of the LittleFoot program is called at approximately 25 Hz, and each time it simply inspects the heap (the shared area of memory used to communicate between your application code and your LittleFoot program) and sets the LEDs based on the heap's content. -To update the heap, and hence the LEDS, your application code calls BitmapLEDProgram::setLED. - -A more advanced example can be found in the source code of the DrumPadGridProgram class. */ diff --git a/extras/BLOCKS/doxygen/pages/main.dox b/extras/BLOCKS/doxygen/pages/main.dox index 512c6a4ba4..a5f122b0c8 100644 --- a/extras/BLOCKS/doxygen/pages/main.dox +++ b/extras/BLOCKS/doxygen/pages/main.dox @@ -39,6 +39,13 @@ Lightpad and Control Blocks have control buttons, either a mode button on their This section explains how to control the LED grid on a Lightpad. +
+@subpage the_littlefoot_language + +Advanced SDK users can specify specialised programs to run on Lightpad Blocks. +These programs must be written in the LittleFoot language, which is described +in this section. +
@subpage controlling_led_strips diff --git a/extras/BLOCKS/doxygen/pages/the_littlefoot_language.dox b/extras/BLOCKS/doxygen/pages/the_littlefoot_language.dox new file mode 100644 index 0000000000..83edfcd6e7 --- /dev/null +++ b/extras/BLOCKS/doxygen/pages/the_littlefoot_language.dox @@ -0,0 +1,24 @@ +/** +@page the_littlefoot_language The LittleFoot Language + +@section littlefoot_description A description of the LittleFoot language + +A description of the LittleFoot language is contained in the SDK source code at juce_blocks_basics/littlefoot/LittleFoot Language README.txt: +@includedoc "LittleFoot Language README.txt" + +@section littlefoot_example A LittleFoot example + +The %BitmapLEDProgram class is a simple example of a LittleFoot program. + +%juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h +@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h + +juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp +@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp + +The repaint() method of the LittleFoot program is called at approximately 25 Hz, and each time it simply inspects the heap (the shared area of memory used to communicate between your application code and your LittleFoot program) and sets the LEDs based on the heap's content. +To update the heap, and hence the LEDS, your application code calls BitmapLEDProgram::setLED. + +A more advanced example can be found in the source code of the DrumPadGridProgram class. +*/ + diff --git a/extras/BLOCKS/doxygen/pages/the_standalone_blocks_sdk.dox b/extras/BLOCKS/doxygen/pages/the_standalone_blocks_sdk.dox index 248150b997..a63621f839 100644 --- a/extras/BLOCKS/doxygen/pages/the_standalone_blocks_sdk.dox +++ b/extras/BLOCKS/doxygen/pages/the_standalone_blocks_sdk.dox @@ -9,16 +9,19 @@ Finally, when you want to compile your application, you must link against the st @section standalone_building_library Building the SDK library -The source code for the BLOCKS SDK library is contained within the SDK directory of the BLOCKS-SDK repository. -Here you will find a header file that you can include in your own projects and the Build directory contains an XCode project, a Visual Studio project and a Linux Makefile for compiling the SDK source code into a static library. +The source code for the BLOCKS SDK library is contained within the BLOCKS-SDK-static and BLOCKS-SDK-dynamic directories of the BLOCKS-SDK repository. +Here you will find header files that you can include in your own projects and the Builds subdirectory contains an XCode project, a Visual Studio project and a Linux Makefile for compiling the SDK source code into either static or dynamic library. Open the appropriate project for your platform, select either the "Debug" or "Release" configuration, and build the project. -For MacOS and Linux this will produce libBLOCKS-SDK.a in either a Debug/ or Release/ directory, and for Windows this will produce BLOCKS-SDK.lib in x64/Debug/ or x64/Release/. + +For the remainder of this page of documentation we will assume that you will be building the static library. + +For MacOS this will produce libBLOCKS-SDK-static.a in either a build/Debug/ or build/Release/ directory, for Linux this will produce libBLOCKS-SDK-static.a in build/, and for Windows this will produce BLOCKS-SDK-static.lib in x64/Debug/ or x64/Release/. @section standalone_using_header Using the SDK header file -To use BLOCKS classes and functions in your application you must include the BlocksHeader.h file in your source code. -You must also tell the compiler to look in the SDK/ directory for additional header files, which you can configure inside your XCode or Visual Studio project. -If you are using the command line to compile your application then you can see an example of how to do this in examples/BLOCKS-SDK/BlockFinder/Linux/Makefile (which is also appropriate for MacOS, despite being located inside the Linux directory). +To use BLOCKS classes and functions in your application you must include the JuceHeader.h file in your source code. +You must also tell the compiler to look in the BLOCKS-SDK-static/JuceLibraryCode/ and BLOCKS-SDK-static/JuceLibraryCode/modules directories for additional header files, which you can configure inside your XCode or Visual Studio project. +If you are using the command line to compile your application then you can see an example of how to do this in examples/BLOCKS-SDK/BlockFinder/LinuxMakefile/Makefile (which is also appropriate for MacOS, despite being located inside the Linux directory). @section standalone_linking Linking against the SDK library