Yet Another Synthesizer Engine
 
Loading...
Searching...
No Matches
yase::Sample Class Reference

#include <sample.hh>

+ Inheritance diagram for yase::Sample:
+ Collaboration diagram for yase::Sample:

Detailed Description

A module that can be used to play a sample stored as a .wav file.

For example,

Sample sample("/path/to/a/wavefile.wav");
Container container;
Audio audio;
container.add(sample).add(audio);
container.connect(sample, "left", audio, "left");
container.connect(sample, "right", audio, "right");
container.listen(123, [&] (const Event &e) {
sample.trigger();
});;
A module wrapper for a stereo PortAudio interface (http://www.portaudio.com/).
Definition audio.hh:46
A module and event manager that can contain other modules.
Definition container.hh:63
Container & connect(Module &source, string output, Module &dest, string input)
Definition container.cc:111
Container & add(Module &module)
Definition container.cc:62
Contains MIDI event information.
Definition event.hh:32
A module that can be used to play a sample stored as a .wav file.
Definition sample.hh:49
Parameters
[in]amplitude
[out]left
[out]right

Public Member Functions

 Sample (string path)
 
void init ()
 
void update ()
 
void trigger ()
 Trigger the sample to play. It needs to have been added to a container first.
 
void stop ()
 Stop playing the sample.
 
int size ()
 
- Public Member Functions inherited from yase::Module
virtual void init ()=0
 
virtual void update ()=0
 
int add_input (string name)
 
int add_output (string name)
 
int get_input_index (string name) const
 
string get_input_name (int index) const
 
string get_output_name (int index) const
 
int get_output_index (string name) const
 
void set_input (string name, double value)
 
void set_input (int index, double value)
 
double get_input (int index) const
 
double get_input (string name) const
 
double get_output (string name) const
 
double get_output (int index) const
 
void set_output (int index, double value)
 
void copy_inputs (const Module &source)
 
void copy_outputs (Module &destination) const
 
void configure (std::vector< std::tuple< string, double > > assignments)
 
int num_inputs () const
 
int num_outputs () const
 
void emit (Event e)
 
void set_ts (double s)
 
double get_ts ()
 

Constructor & Destructor Documentation

◆ Sample()

yase::Sample::Sample ( string  path)

Construct a new sample module from a .wav file

Parameters
pathThe path to a .wav file.

Member Function Documentation

◆ init()

void yase::Sample::init ( )
virtual

This method should be overridden by derived classes. It will usually be called once, after all modules and connections objects have been added to a synthesizer, but before the synthesizer starts running.

Implements yase::Module.

◆ update()

void yase::Sample::update ( )
virtual

This method should be overridden by derived classes. It will be called repeatedly by a synthesizer at a frequency determined by SAMPLE_RATE.

Implements yase::Module.


The documentation for this class was generated from the following files: