LMMS
Loading...
Searching...
No Matches
Monstro.h File Reference
#include <vector>
#include "ComboBoxModel.h"
#include "Instrument.h"
#include "InstrumentView.h"
#include "AutomatableModel.h"
#include "TempoSyncKnob.h"
#include "PixmapButton.h"
#include "Oscillator.h"
#include "lmms_math.h"
#include "BandLimitedWave.h"

Go to the source code of this file.

Classes

class  lmms::MonstroSynth
class  lmms::MonstroInstrument
class  lmms::gui::MonstroView

Namespaces

namespace  lmms
namespace  lmms::gui

Macros

#define makeknob(name, x, y, hint, unit, oname)
#define maketsknob(name, x, y, hint, unit, oname)
#define maketinyled(name, x, y, ttip)
#define setwavemodel(name)
#define setlfowavemodel(name)

Variables

const int lmms::gui::O1ROW = 22
const int lmms::gui::O2ROW = 22 + 39
const int lmms::gui::O3ROW = 22 + 39 * 2
const int lmms::gui::LFOROW = 22 + 39 * 3
const int lmms::gui::E1ROW = 22 + 39 * 4
const int lmms::gui::E2ROW = 22 + 39 * 5
const int lmms::gui::KNOBCOL1 = 16
const int lmms::gui::KNOBCOL2 = 16 + 30
const int lmms::gui::KNOBCOL3 = 16 + 30 * 2
const int lmms::gui::KNOBCOL4 = 16 + 30 * 3
const int lmms::gui::KNOBCOL5 = 16 + 30 * 4
const int lmms::gui::KNOBCOL6 = 16 + 30 * 5
const int lmms::gui::KNOBCOL7 = 16 + 30 * 6
const int lmms::gui::LFOCOL1 = KNOBCOL2
const int lmms::gui::LFOCOL2 = KNOBCOL2 + 26
const int lmms::gui::LFOCOL3 = KNOBCOL2 + 26*2
const int lmms::gui::LFOCOL4 = 171
const int lmms::gui::LFOCOL5 = 171 + 26
const int lmms::gui::LFOCOL6 = 171 + 26*2
const int lmms::gui::MATCOL1 = 32
const int lmms::gui::MATCOL2 = 32 + 25
const int lmms::gui::MATCOL3 = 32 + 25*2
const int lmms::gui::MATCOL4 = 32 + 25*3
const int lmms::gui::MATCOL5 = 149
const int lmms::gui::MATCOL6 = 149 + 25
const int lmms::gui::MATCOL7 = 149 + 25*2
const int lmms::gui::MATCOL8 = 149 + 25*3
const int lmms::gui::MATROW1 = 22
const int lmms::gui::MATROW2 = 22 + 39
const int lmms::gui::MATROW3 = 22 + 39*2
const int lmms::gui::MATROW4 = 22 + 39*3
const int lmms::gui::MATROW5 = 22 + 39*4
const int lmms::gui::MATROW6 = 22 + 39*5
const int lmms::gui::OPVIEW = 0
const int lmms::gui::MATVIEW = 1
const int lmms::WAVE_SINE = 0
const int lmms::WAVE_TRI = 1
const int lmms::WAVE_SAW = 2
const int lmms::WAVE_RAMP = 3
const int lmms::WAVE_SQR = 4
const int lmms::WAVE_MOOG = 5
const int lmms::WAVE_SQRSOFT = 6
const int lmms::WAVE_SINABS = 7
const int lmms::WAVE_EXP = 8
const int lmms::WAVE_NOISE = 9
const int lmms::WAVE_TRI_D = 10
const int lmms::WAVE_SAW_D = 11
const int lmms::WAVE_RAMP_D = 12
const int lmms::WAVE_SQR_D = 13
const int lmms::WAVE_MOOG_D = 14
const int lmms::NUM_WAVES = 15
const int lmms::WAVE_RANDOM = 9
const int lmms::WAVE_RANDOM_SMOOTH = 10
const int lmms::NUM_LFO_WAVES = 11
const int lmms::MOD_MIX = 0
const int lmms::MOD_AM = 1
const int lmms::MOD_FM = 2
const int lmms::MOD_PM = 3
const int lmms::NUM_MODS = 4
const float lmms::MODCLIP = 2.0
const float lmms::MIN_FREQ = 18.0f
const float lmms::MAX_FREQ = 48000.0f
const float lmms::INTEGRATOR = 3.0f / 7.0f
const float lmms::FM_AMOUNT = 0.25f
const float lmms::PW_MIN = 0.25f
const float lmms::PW_MAX = 100.0f - PW_MIN

Macro Definition Documentation

◆ makeknob

#define makeknob ( name,
x,
y,
hint,
unit,
oname )
Value:
name = new Knob( KnobType::Styled, view ); \
name ->move( x, y ); \
name ->setHintText( hint, unit ); \
name ->setObjectName( oname ); \
name ->setFixedSize( 20, 20 );
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
static PuglViewHint hint
Definition pugl.h:1707
static const char * name
Definition pugl.h:1582
png_const_structrp png_const_inforp int * unit
Definition png.h:2161

◆ maketinyled

#define maketinyled ( name,
x,
y,
ttip )
Value:
name = new PixmapButton( view, nullptr ); \
name -> setCheckable( true ); \
name -> move( x, y ); \
name -> setActiveGraphic( PLUGIN_NAME::getIconPixmap( "tinyled_on" ) ); \
name -> setInactiveGraphic( PLUGIN_NAME::getIconPixmap( "tinyled_off" ) ); \
name->setToolTip(ttip);

◆ maketsknob

#define maketsknob ( name,
x,
y,
hint,
unit,
oname )
Value:
name = new TempoSyncKnob( KnobType::Styled, view ); \
name ->move( x, y ); \
name ->setHintText( hint, unit ); \
name ->setObjectName( oname ); \
name ->setFixedSize( 20, 20 );

◆ setlfowavemodel

#define setlfowavemodel ( name)
Value:
name .addItem( tr( "Sine wave" ), std::make_unique<PluginPixmapLoader>( "sin" ) ); \
name .addItem( tr( "Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
name .addItem( tr( "Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
name .addItem( tr( "Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
name .addItem( tr( "Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
name .addItem( tr( "Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) ); \
name .addItem( tr( "Soft square wave" ), std::make_unique<PluginPixmapLoader>( "sqrsoft" ) ); \
name .addItem( tr( "Abs. sine wave" ), std::make_unique<PluginPixmapLoader>( "sinabs" ) ); \
name .addItem( tr( "Exponential wave" ), std::make_unique<PluginPixmapLoader>( "exp" ) ); \
name .addItem( tr( "Random" ), std::make_unique<PluginPixmapLoader>( "rand" ) ); \
name .addItem( tr( "Random smooth" ), std::make_unique<PluginPixmapLoader>( "rand" ) );

◆ setwavemodel

#define setwavemodel ( name)
Value:
name .addItem( tr( "Sine wave" ), std::make_unique<PluginPixmapLoader>( "sin" ) ); \
name .addItem( tr( "Bandlimited Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
name .addItem( tr( "Bandlimited Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
name .addItem( tr( "Bandlimited Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
name .addItem( tr( "Bandlimited Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
name .addItem( tr( "Bandlimited Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) ); \
name .addItem( tr( "Soft square wave" ), std::make_unique<PluginPixmapLoader>( "sqrsoft" ) ); \
name .addItem( tr( "Absolute sine wave" ), std::make_unique<PluginPixmapLoader>( "sinabs" ) ); \
name .addItem( tr( "Exponential wave" ), std::make_unique<PluginPixmapLoader>( "exp" ) ); \
name .addItem( tr( "White noise" ), std::make_unique<PluginPixmapLoader>( "noise" ) ); \
name .addItem( tr( "Digital Triangle wave" ), std::make_unique<PluginPixmapLoader>( "tri" ) ); \
name .addItem( tr( "Digital Saw wave" ), std::make_unique<PluginPixmapLoader>( "saw" ) ); \
name .addItem( tr( "Digital Ramp wave" ), std::make_unique<PluginPixmapLoader>( "ramp" ) ); \
name .addItem( tr( "Digital Square wave" ), std::make_unique<PluginPixmapLoader>( "sqr" ) ); \
name .addItem( tr( "Digital Moog saw wave" ), std::make_unique<PluginPixmapLoader>( "moog" ) );