Euphoria
synth.h File Reference
#include <map>
#include "core/key.h"

Go to the source code of this file.

Classes

struct  eu::minsynth::Node
 
struct  eu::minsynth::ToneTaker
 
struct  eu::minsynth::ToneSender
 
struct  eu::minsynth::FrequencyTaker
 
struct  eu::minsynth::WaveOut
 
struct  eu::minsynth::ToneToFrequencyConverterNode
 
struct  eu::minsynth::PianoKey
 
struct  eu::minsynth::MidiInNode
 
struct  eu::minsynth::KeyboardInputNode
 
struct  eu::minsynth::SingleToneNode
 
struct  eu::minsynth::ArpegiatorNode
 
struct  eu::minsynth::LiveFrequency
 
struct  eu::minsynth::DeadFrequency
 
struct  eu::minsynth::Envelope
 
struct  eu::minsynth::OscilatorNode
 Node represents a single Oscilator. Frequency -> WaveOutput. More...
 
struct  eu::minsynth::Effect
 
struct  eu::minsynth::VolumeNode
 
struct  eu::minsynth::ScalerEffect
 

Namespaces

 eu
 
 eu::minsynth
 
 eu::minsynth::base_frequencies
 

Typedefs

using eu::minsynth::KeyboardLayout = std::vector< std::vector< core::Key > >
 

Enumerations

enum class  eu::minsynth::Tuning {
  eu::minsynth::a4 , eu::minsynth::boston , eu::minsynth::new_york , eu::minsynth::europe ,
  eu::minsynth::french , eu::minsynth::baroque , eu::minsynth::chorton , eu::minsynth::classical ,
  eu::minsynth::max_value
}
 
enum class  eu::minsynth::ChordEmulation {
  eu::minsynth::none , eu::minsynth::major , eu::minsynth::minor , eu::minsynth::diminished ,
  eu::minsynth::augmented , eu::minsynth::major7 , eu::minsynth::dominant7 , eu::minsynth::augmented7 ,
  eu::minsynth::augmented_major7 , eu::minsynth::minor_major7 , eu::minsynth::max_value
}
 
enum class  eu::minsynth::MidiEvent {
  eu::minsynth::note_off = 0b000 , eu::minsynth::note_on = 0b001 , eu::minsynth::aftertouch = 0b010 , eu::minsynth::control_change = 0b011 ,
  eu::minsynth::program_change = 0b100 , eu::minsynth::channel_pressure = 0b101 , eu::minsynth::pitch_bend = 0b110
}
 
enum class  eu::minsynth::ArpMode {
  eu::minsynth::up , eu::minsynth::down , eu::minsynth::up_down_inclusive , eu::minsynth::up_down_exclusive ,
  eu::minsynth::random , eu::minsynth::random_no_repeat , eu::minsynth::max_value
}
 
enum class  eu::minsynth::OscilatorType {
  eu::minsynth::sine , eu::minsynth::square , eu::minsynth::triangle , eu::minsynth::sawtooth ,
  eu::minsynth::noise , eu::minsynth::max_value
}
 

Functions

std::string eu::minsynth::to_string (Tuning t)
 
std::string eu::minsynth::to_string (ChordEmulation em)
 
std::string eu::minsynth::to_string (ArpMode mode)
 
std::string eu::minsynth::to_string (OscilatorType osc)
 
std::string eu::minsynth::from_midi_event_to_string (MidiEvent e)
 
float eu::minsynth::from_tuning_to_base_frequency (Tuning t)
 
float eu::minsynth::from_tone_to_frequency (int tone, float base_frequency)
 
float eu::minsynth::run_oscilator (float frequency, float time, OscilatorType osc)
 
float eu::minsynth::to01 (float lower_bound, float value, float upper_bound)
 
const KeyboardLayout & eu::minsynth::create_qwerty_keyboard_layout ()
 
void eu::minsynth::setup_qwerty_two_octave_layout (std::vector< PianoKey > *keys, int base_octave, int octave_offset)
 

Variables

constexpr float eu::minsynth::base_frequencies::c0 = 16.35f
 
constexpr float eu::minsynth::base_frequencies::a4 = 440.0f
 
constexpr float eu::minsynth::base_frequencies::boston_a4 = 441.0f
 
constexpr float eu::minsynth::base_frequencies::new_york_a4 = 442.0f
 
constexpr float eu::minsynth::base_frequencies::europe_a4 = 443.0f
 
constexpr float eu::minsynth::base_frequencies::french_a4 = 435.0f
 
constexpr float eu::minsynth::base_frequencies::baroque_a4 = 415.0f
 
constexpr float eu::minsynth::base_frequencies::chorton_a4 = 466.0f
 
constexpr float eu::minsynth::base_frequencies::classical_a4 = 430.0f