LMMS
Loading...
Searching...
No Matches
nekobee_synth.h File Reference
#include <pthread.h>
#include "nekobee.h"
#include "nekobee_types.h"

Go to the source code of this file.

Classes

struct  _nekobee_synth_t

Macros

#define XSYNTH_MONO_MODE_OFF   0
#define XSYNTH_MONO_MODE_ON   1
#define XSYNTH_MONO_MODE_ONCE   2
#define XSYNTH_MONO_MODE_BOTH   3
#define XSYNTH_GLIDE_MODE_LEGATO   0
#define XSYNTH_GLIDE_MODE_INITIAL   1
#define XSYNTH_GLIDE_MODE_ALWAYS   2
#define XSYNTH_GLIDE_MODE_LEFTOVER   3
#define XSYNTH_GLIDE_MODE_OFF   4
#define MIDI_CTL_MSB_MODWHEEL   0x01
#define MIDI_CTL_MSB_PORTAMENTO_TIME   0x05
#define MIDI_CTL_MSB_MAIN_VOLUME   0x07
#define MIDI_CTL_MSB_BALANCE   0x08
#define MIDI_CTL_LSB_MODWHEEL   0x21
#define MIDI_CTL_LSB_PORTAMENTO_TIME   0x25
#define MIDI_CTL_LSB_MAIN_VOLUME   0x27
#define MIDI_CTL_LSB_BALANCE   0x28
#define MIDI_CTL_SUSTAIN   0x40
#define MIDI_CTL_TUNING   0x4b
#define MIDI_CTL_WAVEFORM   0x46
#define MIDI_CTL_CUTOFF   0x4a
#define MIDI_CTL_RESONANCE   0x47
#define MIDI_CTL_ENVMOD   0x01
#define MIDI_CTL_DECAY   0x48
#define MIDI_CTL_ACCENT   0x4c
#define MIDI_CTL_ALL_SOUNDS_OFF   0x78
#define MIDI_CTL_RESET_CONTROLLERS   0x79
#define MIDI_CTL_ALL_NOTES_OFF   0x7b
#define XSYNTH_SYNTH_SUSTAINED(_s)

Functions

void nekobee_synth_all_voices_off (nekobee_synth_t *synth)
void nekobee_synth_note_off (nekobee_synth_t *synth, unsigned char key, unsigned char rvelocity)
void nekobee_synth_all_notes_off (nekobee_synth_t *synth)
void nekobee_synth_note_on (nekobee_synth_t *synth, unsigned char key, unsigned char velocity)
void nekobee_synth_control_change (nekobee_synth_t *synth, unsigned int param, signed int value)
void nekobee_synth_init_controls (nekobee_synth_t *synth)
void nekobee_synth_render_voices (nekobee_synth_t *synth, float *out, unsigned long sample_count, int do_control_update)

Macro Definition Documentation

◆ MIDI_CTL_ACCENT

#define MIDI_CTL_ACCENT   0x4c

◆ MIDI_CTL_ALL_NOTES_OFF

#define MIDI_CTL_ALL_NOTES_OFF   0x7b

All notes off

◆ MIDI_CTL_ALL_SOUNDS_OFF

#define MIDI_CTL_ALL_SOUNDS_OFF   0x78

All sounds off

◆ MIDI_CTL_CUTOFF

#define MIDI_CTL_CUTOFF   0x4a

◆ MIDI_CTL_DECAY

#define MIDI_CTL_DECAY   0x48

◆ MIDI_CTL_ENVMOD

#define MIDI_CTL_ENVMOD   0x01

◆ MIDI_CTL_LSB_BALANCE

#define MIDI_CTL_LSB_BALANCE   0x28

Balance

◆ MIDI_CTL_LSB_MAIN_VOLUME

#define MIDI_CTL_LSB_MAIN_VOLUME   0x27

Main volume

◆ MIDI_CTL_LSB_MODWHEEL

#define MIDI_CTL_LSB_MODWHEEL   0x21

Modulation

◆ MIDI_CTL_LSB_PORTAMENTO_TIME

#define MIDI_CTL_LSB_PORTAMENTO_TIME   0x25

Portamento time

◆ MIDI_CTL_MSB_BALANCE

#define MIDI_CTL_MSB_BALANCE   0x08

Balance

◆ MIDI_CTL_MSB_MAIN_VOLUME

#define MIDI_CTL_MSB_MAIN_VOLUME   0x07

Main volume

◆ MIDI_CTL_MSB_MODWHEEL

#define MIDI_CTL_MSB_MODWHEEL   0x01

Modulation

◆ MIDI_CTL_MSB_PORTAMENTO_TIME

#define MIDI_CTL_MSB_PORTAMENTO_TIME   0x05

Portamento time

◆ MIDI_CTL_RESET_CONTROLLERS

#define MIDI_CTL_RESET_CONTROLLERS   0x79

Reset Controllers

◆ MIDI_CTL_RESONANCE

#define MIDI_CTL_RESONANCE   0x47

◆ MIDI_CTL_SUSTAIN

#define MIDI_CTL_SUSTAIN   0x40

Sustain pedal

◆ MIDI_CTL_TUNING

#define MIDI_CTL_TUNING   0x4b

◆ MIDI_CTL_WAVEFORM

#define MIDI_CTL_WAVEFORM   0x46

◆ XSYNTH_GLIDE_MODE_ALWAYS

#define XSYNTH_GLIDE_MODE_ALWAYS   2

◆ XSYNTH_GLIDE_MODE_INITIAL

#define XSYNTH_GLIDE_MODE_INITIAL   1

◆ XSYNTH_GLIDE_MODE_LEFTOVER

#define XSYNTH_GLIDE_MODE_LEFTOVER   3

◆ XSYNTH_GLIDE_MODE_LEGATO

#define XSYNTH_GLIDE_MODE_LEGATO   0

◆ XSYNTH_GLIDE_MODE_OFF

#define XSYNTH_GLIDE_MODE_OFF   4

◆ XSYNTH_MONO_MODE_BOTH

#define XSYNTH_MONO_MODE_BOTH   3

◆ XSYNTH_MONO_MODE_OFF

#define XSYNTH_MONO_MODE_OFF   0

◆ XSYNTH_MONO_MODE_ON

#define XSYNTH_MONO_MODE_ON   1

◆ XSYNTH_MONO_MODE_ONCE

#define XSYNTH_MONO_MODE_ONCE   2

◆ XSYNTH_SYNTH_SUSTAINED

#define XSYNTH_SYNTH_SUSTAINED ( _s)
Value:
((_s)->cc[MIDI_CTL_SUSTAIN] >= 64)
#define MIDI_CTL_SUSTAIN
Definition nekobee_synth.h:115

Function Documentation

◆ nekobee_synth_all_notes_off()

void nekobee_synth_all_notes_off ( nekobee_synth_t * synth)

◆ nekobee_synth_all_voices_off()

void nekobee_synth_all_voices_off ( nekobee_synth_t * synth)

◆ nekobee_synth_control_change()

void nekobee_synth_control_change ( nekobee_synth_t * synth,
unsigned int param,
signed int value )

◆ nekobee_synth_init_controls()

void nekobee_synth_init_controls ( nekobee_synth_t * synth)

◆ nekobee_synth_note_off()

void nekobee_synth_note_off ( nekobee_synth_t * synth,
unsigned char key,
unsigned char rvelocity )

◆ nekobee_synth_note_on()

void nekobee_synth_note_on ( nekobee_synth_t * synth,
unsigned char key,
unsigned char velocity )

◆ nekobee_synth_render_voices()

void nekobee_synth_render_voices ( nekobee_synth_t * synth,
float * out,
unsigned long sample_count,
int do_control_update )