1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00

Added a LittleFoot section to the BLOCKS SDK documentation sidebar

This commit is contained in:
tpoole 2016-11-09 10:47:52 +00:00
parent ec2fd97494
commit 76fa9068c8
4 changed files with 40 additions and 26 deletions

View file

@ -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 <tt>juce_blocks_basics/littlefoot/LittleFoot Language README.txt</tt>:
@includedoc "LittleFoot Language README.txt"
@subsection littlefoot_example A LittleFoot example
The %BitmapLEDProgram class is a simple example of a LittleFoot program.
<tt>%juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h</tt>
@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h
<tt>juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp</tt>
@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.
*/

View file

@ -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.
<br>
@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.
<br>
@subpage controlling_led_strips

View file

@ -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 <tt>juce_blocks_basics/littlefoot/LittleFoot Language README.txt</tt>:
@includedoc "LittleFoot Language README.txt"
@section littlefoot_example A LittleFoot example
The %BitmapLEDProgram class is a simple example of a LittleFoot program.
<tt>%juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h</tt>
@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h
<tt>juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp</tt>
@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.
*/

View file

@ -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 <tt>Build</tt> 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 <tt>BLOCKS-SDK-static</tt> and <tt>BLOCKS-SDK-dynamic</tt> directories of the BLOCKS-SDK repository.
Here you will find header files that you can include in your own projects and the <tt>Builds</tt> 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 <tt>libBLOCKS-SDK.a</tt> in either a <tt>Debug/</tt> or <tt>Release/</tt> directory, and for Windows this will produce <tt>BLOCKS-SDK.lib</tt> in <tt>x64/Debug/</tt> or <tt>x64/Release/</tt>.
For the remainder of this page of documentation we will assume that you will be building the static library.
For MacOS this will produce <tt>libBLOCKS-SDK-static.a</tt> in either a <tt>build/Debug/</tt> or <tt>build/Release/</tt> directory, for Linux this will produce <tt>libBLOCKS-SDK-static.a</tt> in <tt>build/</tt>, and for Windows this will produce <tt>BLOCKS-SDK-static.lib</tt> in <tt>x64/Debug/</tt> or <tt>x64/Release/</tt>.
@section standalone_using_header Using the SDK header file
To use BLOCKS classes and functions in your application you must include the <tt>BlocksHeader.h</tt> file in your source code.
You must also tell the compiler to look in the <tt>SDK/</tt> 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 <tt>examples/BLOCKS-SDK/BlockFinder/Linux/Makefile</tt> (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 <tt>JuceHeader.h</tt> file in your source code.
You must also tell the compiler to look in the <tt>BLOCKS-SDK-static/JuceLibraryCode/</tt> and <tt>BLOCKS-SDK-static/JuceLibraryCode/modules</tt> 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 <tt>examples/BLOCKS-SDK/BlockFinder/LinuxMakefile/Makefile</tt> (which is also appropriate for MacOS, despite being located inside the Linux directory).
@section standalone_linking Linking against the SDK library