Slides: (61)
- A Brief History of Networks
- Computer Networks Today
- Layering and Protocols
Reading:
#include <Control_Surface.h> | |
USBMIDI_Interface midi; // MIDI Interface to use | |
// Struct with callbacks that are called when MIDI data comes in | |
struct MyCallback final : MIDI_Callbacks { | |
// Function is called when MIDI Channel Message is received. | |
void onChannelMessage(Parsing_MIDI_Interface &midi) override { | |
// Handler for messages of type: |
FROM ubuntu:latest as ct-ng | |
# Install some tools and compilers + clean up | |
RUN apt-get update && \ | |
apt-get install -y sudo git wget \ | |
gcc g++ cmake make autoconf automake \ | |
gperf diffutils bzip2 xz-utils \ | |
flex gawk help2man libncurses-dev patch bison \ | |
python-dev gnupg2 texinfo unzip libtool-bin \ | |
autogen libtool m4 gettext pkg-config && \ |
#include <climits> | |
#include <cstdint> | |
#include <iostream> | |
template <bool B, class T = void> | |
struct enable_if {}; | |
template <class T> | |
struct enable_if<true, T> { | |
typedef T type; |
<?xml version='1.0' encoding='UTF-8' standalone='no'?> | |
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16"> | |
<compounddef id="d7/d4f/MIDIOutput_2Control-Change_2CCIncrementDecrementButtons_2CCIncrementDecrementButtons_8ino-example" kind="example"> | |
<compoundname>MIDIOutput/Control-Change/CCIncrementDecrementButtons/CCIncrementDecrementButtons.ino</compoundname> | |
<briefdescription> | |
</briefdescription> | |
<detaileddescription> | |
<para><heading level="1"><ref refid="d3/d60/classCCIncrementDecrementButtons" kindref="compound">CCIncrementDecrementButtons</ref> </heading> | |
</para> | |
<para>This is an example that demonstrates the use of Increment and Decrement buttons that can be used for scrolling through a song list, tuning effects, etc. <linebreak/> |
class PeakDetector: | |
def __init__(self, | |
threshold: int, hysteresis: int): | |
self.threshold = threshold | |
self.hysteresis = hysteresis | |
self.previous_peak_maximum = 0 | |
self.current_maximum = 0 | |
def __call__(self, value: int): |
# https://solarianprogrammer.com/2018/05/06/building-gcc-cross-compiler-raspberry-pi/ | |
# Ubuntu 18.04 at the time of writing (2019-04-02) | |
FROM ubuntu:latest | |
# Install some tools and compilers + clean up | |
RUN apt-get update && \ | |
apt-get install -y git wget \ | |
gcc g++ cmake make autoconf automake gperf diffutils bzip2 xz-utils \ | |
flex gawk help2man libncurses-dev patch bison python-dev gnupg2 texinfo unzip libtool-bin && \ |
# https://solarianprogrammer.com/2018/05/06/building-gcc-cross-compiler-raspberry-pi/ | |
# Ubuntu 18.04 at the time of writing (2019-04-02) | |
FROM ubuntu:latest | |
# Install some tools and compilers + clean up | |
RUN apt-get update && \ | |
apt-get install -y git wget gcc-8 g++-8 cmake gdb gdbserver bzip2 && \ | |
apt-get clean autoclean && \ | |
apt-get autoremove -y && \ |