LMMS
Loading...
Searching...
No Matches
lmms Namespace Reference

Namespaces

namespace  gui
namespace  base64
namespace  Clipboard
namespace  Lv2Ports
namespace  MixHelpers
namespace  PathUtil
namespace  embed
namespace  detail
namespace  DspEffectLibrary
namespace  LocaleHelper
namespace  OscillatorConstants
namespace  SimpleRandom

Classes

struct  LV2_Evbuf_Impl
struct  MidiInputEvent
class  Lv2ProcSuspender
struct  ConnectPortVisitor
class  PreviewTrackContainer
struct  PatternAnalysisResult
 Used by the helper function that analyzes automation patterns. More...
class  UpgradeExtendedNoteRange
class  AutoDetectMidiController
class  ArrayVector
class  AudioAlsa
class  AudioBuffer
class  InterleavedBufferView
class  PlanarBufferView
class  AudioBusHandle
 Job between PlayHandle and MixerChannel. More...
class  AudioDevice
class  AudioDummy
class  AudioEngine
class  AudioEngineProfiler
class  AudioEngineWorkerThread
class  AudioFileDevice
class  AudioFileFlac
class  AudioFileMP3
class  AudioFileOgg
class  AudioFileWave
class  AudioJack
class  AudioOss
class  AudioPortAudio
class  AudioPulseAudio
class  AudioResampler
 A utility class for resampling interleaved audio buffers using various resampling algorithms. More...
class  AudioSampleRecorder
class  AudioSdl
class  AudioSndio
class  AudioSoundIoSetupUtil
class  AudioSoundIo
class  AutomatableModel
class  TypedAutomatableModel
class  FloatModel
class  IntModel
class  BoolModel
class  AutomationClip
class  AutomationNode
class  AutomationTrack
struct  WaveMipMap
class  BandLimitedWave
class  BasicFilters
class  LinkwitzRiley
class  BiQuad
class  OnePole
class  BufferManager
class  Clip
class  ComboBoxModel
class  ConfigManager
class  Controller
class  ControllerConnection
class  DataFile
class  CombFeedback
class  CombFeedfwd
class  CombFeedbackDualtap
class  AllpassDelay
class  DetuningHelper
class  DrumSynth
class  DummyEffectControls
class  DummyEffect
class  DummyInstrument
class  DummyPlugin
class  Effect
class  EffectChain
class  EffectControls
class  PixmapLoader
class  Engine
class  EnvelopeAndLfoParameters
class  ExportFilter
class  FifoBuffer
class  Flags
class  graphModel
 2 dimensional function plot More...
class  ImportFilter
class  InlineAutomation
class  Instrument
class  InstrumentFunctionNoteStacking
class  InstrumentFunctionArpeggio
class  InstrumentPlayHandle
class  InstrumentSoundShaping
class  InstrumentTrack
class  JournallingObject
class  Keymap
class  Ladspa2LMMS
struct  port_desc_t
class  LadspaControl
struct  LadspaManagerDescription
class  LadspaManager
class  LfoController
class  LinkedModelGroup
class  LinkedModelGroups
class  LinearMap
class  Semaphore
class  LocklessAllocator
class  LocklessAllocatorT
class  LocklessList
class  LocklessRingBuffer
 A convenience layer for a realtime-safe and thread-safe multi-reader ringbuffer. More...
class  LocklessRingBufferReader
 Wrapper for lockless ringbuffer reader. More...
struct  LilvPtrDeleter
struct  LilvNodeDeleter
struct  LilvNodesDeleter
struct  LilvScalePointsDeleter
class  Lv2ControlBase
struct  LV2_Evbuf_Iterator
class  Lv2Features
class  Lv2Manager
 Class to keep track of all LV2 plugins. More...
class  Lv2Options
class  Lv2Proc
class  Lv2SubPluginFeatures
class  Lv2UridCache
 Cached URIDs for fast access (for use in real-time code). More...
class  UridMap
class  Lv2Worker
class  MeterModel
class  Metronome
class  MicroTimer
class  Microtuner
class  MidiAlsaRaw
class  MidiAlsaSeq
class  MidiClient
class  MidiClientRaw
class  MidiClip
class  MidiController
class  MidiDummy
class  MidiEvent
class  MidiEventProcessor
class  MidiJack
class  MidiOss
class  MidiPort
class  MidiSndio
class  MixerChannel
class  MixerRoute
class  Mixer
class  Model
class  ModelVisitor
class  ConstModelVisitor
class  NoCopyNoMove
class  Note
struct  NoteBounds
class  NotePlayHandle
class  NotePlayHandleManager
class  Oscillator
class  OutputSettings
class  Upsampler
class  Downsampler
class  PatternClip
 Dummy clip for PatternTracks. More...
class  PatternStore
class  PatternTrack
class  PeakController
class  PerfTime
 CPU time point. More...
class  PerfLogTimer
 The PerfLog class. More...
class  Piano
class  PlayHandle
class  Plugin
class  PluginFactory
class  PluginIssue
 Issue type bundled with informational string. More...
class  PresetPreviewPlayHandle
class  ProjectJournal
class  ProjectRenderer
class  ProjectVersion
 Version number parsing and comparison. More...
class  QuadratureLfo
class  NullableResource
struct  NullableResourceDeleter
class  ProcessWatcher
class  RemotePlugin
class  RemotePluginBase
class  RemotePluginClient
class  PollParentThread
class  RenderManager
class  RingBuffer
 A basic LMMS ring buffer for single-thread use. For thread and realtime safe alternative see LocklessRingBuffer. More...
class  RmsHelper
class  Sample
class  SampleBuffer
class  SampleClip
class  SampleDecoder
class  SampleFrame
class  SamplePlayHandle
class  SampleRecordHandle
class  SampleThumbnail
class  SampleTrack
class  Interval
class  Scale
class  SerializingObject
class  SerializingObjectHook
class  SharedMemoryResource
 Similar to std::pmr::monotonic_buffer_resource, but the initial buffer can be replaced. More...
class  SharedMemory
class  SharedMemory< T[]>
class  Song
class  StepRecorder
class  SystemSemaphore
class  TempoSyncKnobModel
class  ThreadableJob
class  ThreadPool
 A thread pool that can be used for asynchronous processing. More...
class  Timeline
class  TimeSig
class  TimePos
class  ToolPlugin
class  Track
 Base-class for all tracks. More...
class  TrackContainer
class  InstrumentLoaderThread
class  ValueBuffer
struct  StereoVolumeVector
class  VstSyncController
struct  VstSyncData
class  AmplifierEffect
class  AmplifierControls
class  AudioFileProcessor
class  BassBoosterEffect
class  BassBoosterControls
class  BitcrushEffect
class  BitcrushControls
class  BSynth
class  BitInvader
class  CarlaParamFloatModel
class  CarlaInstrument
class  CompressorEffect
class  CompressorControls
class  CrossoverEQEffect
class  CrossoverEQControls
class  DelayControls
class  DelayEffect
class  Lfo
class  StereoDelay
class  DispersionEffect
class  DispersionControls
class  DualFilterEffect
class  DualFilterControls
class  DynProcEffect
class  DynProcControls
class  EqControls
class  EqEffect
class  EqFilter
 The EqFilter class. A wrapper for the StereoBiQuad class, giving it freq, res, and gain controls. Used on a per channel per frame basis with recalculation of coefficents upon parameter changes. The intention is to use this as a bass class, children override the calcCoefficents() function, providing the coefficents a1, a2, b0, b1, b2. More...
class  EqHp12Filter
 The EqHp12Filter class A 2 pole High Pass Filter Coefficent calculations from http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt. More...
class  EqLp12Filter
 The EqLp12Filter class. A 2 pole low pass filter Coefficent calculations from http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt. More...
class  EqPeakFilter
 The EqPeakFilter class A Peak Filter Coefficent calculations from http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt. More...
class  EqLowShelfFilter
class  EqHighShelfFilter
class  EqLinkwitzRiley
class  EqAnalyser
class  FlangerControls
class  FlangerEffect
class  MonoDelay
class  FreeBoyInstrument
class  GbApuWrapper
class  FrequencyShifterControls
class  FrequencyShifterEffect
struct  HilbertIIRFloat
struct  GIGPluginData
class  GigInstance
struct  Dimension
class  ADSR
class  GigSample
class  GigNote
class  GigInstrument
class  GranularPitchShifterControls
class  GranularPitchShifterEffect
class  NoteKey
class  HydrogenImport
class  LocalFileMng
class  KickerInstrument
class  KickerOsc
class  LadspaBrowser
class  LadspaControls
class  LadspaEffect
class  LadspaSubPluginFeatures
class  Lb302FilterKnobState
class  Lb302Filter
class  Lb302FilterIIR2
class  Lb302Filter3Pole
class  Lb302Note
class  Lb302Synth
class  LOMMEffect
class  LOMMControls
class  Lv2Effect
class  Lv2FxControls
class  Lv2Instrument
struct  MidiNote
class  MidiExport
class  smfMidiCC
class  smfMidiChannel
class  MidiImport
class  MonstroSynth
class  MonstroInstrument
class  MultitapEchoEffect
class  MultitapEchoControls
class  NesObject
class  NesInstrument
class  OpulenzInstrument
class  OscillatorObject
class  OrganicInstrument
class  PatmanInstrument
class  PeakControllerEffect
class  PeakControllerEffectControls
class  ReverbSCEffect
class  ReverbSCControls
class  FluidVoice
struct  Sf2PluginData
class  Sf2Instrument
class  SfxrSynth
class  SfxrZeroToOneFloatModel
 A class that simplify the constructor of FloatModel, with value [0,1]. More...
class  SfxrNegPosOneFloatModel
 A class that simplify the constructor of FloatModel, with value [-1,1]. More...
class  SfxrInstrument
class  VoiceObject
class  SidInstrument
class  SlewDistortion
class  SlewDistortionControls
class  SlicerT
class  Analyzer
 Top level class; handles LMMS interface and feeds data to the data processor. More...
class  DataprocLauncher
class  SaControls
class  SaProcessor
 Receives audio data, runs FFT analysis and stores the result. More...
class  StereoEnhancerEffect
class  StereoEnhancerControls
class  StereoMatrixEffect
class  StereoMatrixControls
class  MalletsSynth
class  MalletsInstrument
class  TapTempo
class  TripleOscillator
class  VecControls
class  Vectorscope
 Top level class; handles LMMS interface and accumulates data for processing. More...
class  VstInstrumentPlugin
class  VestigeInstrument
class  Vibed
class  VibratingString
struct  VstParameterDumpItem
class  RemoteVstPlugin
struct  Bank
class  VstPlugin
class  VstEffect
class  VstEffectControls
class  VstSubPluginFeatures
class  WatsynObject
class  WatsynInstrument
class  WaveShaperEffect
class  WaveShaperControls
struct  freefunc0
struct  freefunc1
struct  IntegrateFunction
struct  LastSampleFunction
struct  WaveValueFunction
struct  WaveValueFunctionInterpolate
struct  RandomVectorSeedFunction
struct  RandomVectorFunction
class  ExprFrontData
struct  sin_wave
struct  square_wave
struct  triangle_wave
struct  saw_wave
struct  moogsaw_wave
struct  moog_wave
struct  exp_wave
struct  exp2_wave
struct  harmonic_cent
struct  harmonic_semitone
class  ExprFront
class  WaveSample
class  ExprSynth
class  Xpressive
class  LocalZynAddSubFx
class  ZynAddSubFxRemotePlugin
class  ZynAddSubFxInstrument

Concepts

concept  SampleType
 Recognized sample types, either const or non-const.
concept  AudioBufferView
 Concept for any audio buffer view, interleaved or planar.

Typedefs

using LocklessListElement = LocklessList<PlayHandle*>::Element
using timeMap = AutomationClip::timeMap
using AudioFileDeviceInstantiaton = AudioFileDevice* (*)(const QString&, const OutputSettings&, const ch_cnt_t, AudioEngine*, bool&)
using AutomatedValueMap = QMap<AutomatableModel*, float>
using StereoLinkwitzRiley = LinkwitzRiley<2>
using StereoBiQuad = BiQuad<2>
using StereoOnePole = OnePole<2>
using ControllerVector = std::vector<Controller*>
using ControllerConnectionVector = std::vector<ControllerConnection*>
using StereoCombFeedback = CombFeedback<2>
using StereoCombFeedfwd = CombFeedfwd<2>
using StereoCombFeedbackDualtap = CombFeedbackDualtap<2>
using StereoAllpassDelay = AllpassDelay<2>
using EffectKey = Effect::Descriptor::SubPluginFeatures::Key
using EffectKeyList = Effect::Descriptor::SubPluginFeatures::KeyList
using ladspa_key_t = QPair<QString, QString>
using sortable_plugin_t = QPair<QString, ladspa_key_t>
using l_sortable_plugin_t = QList<sortable_plugin_t>
using l_ladspa_key_t = QList<ladspa_key_t>
using bar_t = std::int32_t
using tick_t = std::int32_t
using volume_t = std::uint8_t
using panning_t = std::int8_t
using sample_t = float
using int_sample_t = std::int16_t
using sample_rate_t = std::uint32_t
using f_cnt_t = std::uint64_t
using ch_cnt_t = std::uint16_t
using bpm_t = std::uint16_t
using bitrate_t = std::uint16_t
using mix_ch_t = std::uint16_t
using group_cnt_t = std::uint8_t
using jo_id_t = std::uint32_t
template<class T>
using AutoLilvPtr = std::unique_ptr<T, LilvPtrDeleter<T>>
using AutoLilvNode = std::unique_ptr<LilvNode, LilvNodeDeleter>
using AutoLilvNodes = std::unique_ptr<LilvNodes, LilvNodesDeleter>
using AutoLilvScalePoints = std::unique_ptr<LilvScalePoints, LilvScalePointsDeleter>
using LV2_Evbuf = struct LV2_Evbuf_Impl
using MidiMetaEventType = MidiMetaEventTypes
using MidiPortList = QList<MidiPort*>
using MixerRouteVector = std::vector<MixerRoute*>
using NoteVector = std::vector<Note*>
using NotePlayHandleList = QList<NotePlayHandle*>
using ConstNotePlayHandleList = QList<const NotePlayHandle*>
using PeakControllerEffectVector = std::vector<PeakControllerEffect*>
using pitch_t = int16_t
using PlayHandleList = QList<PlayHandle*>
using ConstPlayHandleList = QList<const PlayHandle*>
template<typename T, T Null, auto Deleter>
using UniqueNullableResource = std::unique_ptr<T, NullableResourceDeleter<T, Null, Deleter>>
using DistFX = DspEffectLibrary::Distortion
using SweepOsc = KickerOsc<DspEffectLibrary::MonoToStereoAdaptor<DistFX>>
using control_list_t = QVector<LadspaControl*>
using multi_proc_t = QVector<port_desc_t*>
using MTrack = MidiFile::MIDITrack<BUFFER_SIZE>
using MidiNoteVector = std::vector<MidiNote>
using MidiNoteIterator = std::vector<MidiNote>::iterator
using NineButtonSelectorModel = IntModel
using symbol_table_t = exprtk::symbol_table<float>
using expression_t = exprtk::expression<float>
using parser_t = exprtk::parser<float>

Enumerations

enum class  FFTWindow { Rectangular = 0 , BlackmanHarris , Hamming , Hanning }
enum class  BufferRate {
  ChannelIn , ChannelOut , AudioRateInput , AudioRateOutput ,
  ControlRateInput , ControlRateOutput
}
enum class  BufferDataType {
  Toggled , Enum , Integer , Floating ,
  Time , None
}
enum class  LadspaPluginType {
  Source , Transfer , Valid , Invalid ,
  Sink , Other
}
enum class  FrequencyRange {
  Full = 0 , Audible , Bass , Mids ,
  High
}
enum class  AmplitudeRange { Extended = 0 , Audible , Loud , Silent }
enum  MidiEventTypes {
  MidiNoteOff = 0x80 , MidiNoteOn = 0x90 , MidiKeyPressure = 0xA0 , MidiControlChange = 0xB0 ,
  MidiProgramChange = 0xC0 , MidiChannelPressure = 0xD0 , MidiPitchBend = 0xE0 , MidiSysEx = 0xF0 ,
  MidiTimeCode = 0xF1 , MidiSongPosition = 0xF2 , MidiSongSelect = 0xF3 , MidiTuneRequest = 0xF6 ,
  MidiEOX = 0xF7 , MidiSync = 0xF8 , MidiTick = 0xF9 , MidiStart = 0xFA ,
  MidiContinue = 0xFB , MidiStop = 0xFC , MidiActiveSensing = 0xFE , MidiSystemReset = 0xFF ,
  MidiMetaEvent = 0xFF
}
enum  MidiMetaEventTypes {
  MidiMetaInvalid = 0x00 , MidiCopyright = 0x02 , MidiTrackName = 0x03 , MidiInstName = 0x04 ,
  MidiLyric = 0x05 , MidiMarker = 0x06 , MidiCuePoint = 0x07 , MidiPortNumber = 0x21 ,
  MidiEOT = 0x2f , MidiSetTempo = 0x51 , MidiSMPTEOffset = 0x54 , MidiTimeSignature = 0x58 ,
  MidiKeySignature = 0x59 , MidiSequencerEvent = 0x7f , MidiMetaCustom = 0x80 , MidiNotePanning
}
enum  MidiStandardControllers {
  MidiControllerBankSelect = 0 , MidiControllerModulationWheel = 1 , MidiControllerBreathController = 2 , MidiControllerFootController = 4 ,
  MidiControllerPortamentoTime = 5 , MidiControllerDataEntry = 6 , MidiControllerMainVolume = 7 , MidiControllerBalance = 8 ,
  MidiControllerPan = 10 , MidiControllerEffectControl1 = 12 , MidiControllerEffectControl2 = 13 , MidiControllerSustain = 64 ,
  MidiControllerPortamento = 65 , MidiControllerSostenuto = 66 , MidiControllerSoftPedal = 67 , MidiControllerLegatoFootswitch = 68 ,
  MidiControllerRegisteredParameterNumberLSB = 100 , MidiControllerRegisteredParameterNumberMSB = 101 , MidiControllerAllSoundOff = 120 , MidiControllerResetAllControllers = 121 ,
  MidiControllerLocalControl = 122 , MidiControllerAllNotesOff = 123 , MidiControllerOmniOn = 124 , MidiControllerOmniOff = 125 ,
  MidiControllerMonoOn = 126 , MidiControllerPolyOn = 127
}
enum  MidiControllerRegisteredParameterNumbers {
  MidiPitchBendSensitivityRPN = 0x0000 , MidiChannelFineTuningRPN = 0x0001 , MidiChannelCoarseTuningRPN = 0x0002 , MidiTuningProgramChangeRPN = 0x0003 ,
  MidiTuningBankSelectRPN = 0x0004 , MidiModulationDepthRangeRPN = 0x0005 , MidiNullFunctionNumberRPN = 0x7F7F
}
enum class  Key : int {
  C = 0 , Cis = 1 , Des = 1 , D = 2 ,
  Dis = 3 , Es = 3 , E = 4 , Fes = 4 ,
  F = 5 , Fis = 6 , Ges = 6 , G = 7 ,
  Gis = 8 , As = 8 , A = 9 , Ais = 10 ,
  B = 10 , H = 11
}
enum class  Octave : int {
  Octave_m1 , Octave_0 , Octave_1 , Octave_2 ,
  Octave_3 , Octave_4 , Octave_5 , Octave_6 ,
  Octave_7 , Octave_8 , Octave_9
}
enum class  PluginIssueType {
  UnknownPortFlow , UnknownPortType , TooManyInputChannels , TooManyOutputChannels ,
  TooManyMidiInputChannels , TooManyMidiOutputChannels , NoOutputChannel , PortHasNoDef ,
  PortHasNoMin , PortHasNoMax , MinGreaterMax , DefaultValueNotInRange ,
  LogScaleMinMissing , LogScaleMaxMissing , LogScaleMinMaxDifferentSigns , FeatureNotSupported ,
  BadPortType , Blocked , NoIssue
}
enum  RemoteMessageIDs {
  IdUndefined , IdHostInfoGotten , IdInitDone , IdQuit ,
  IdSyncKey , IdSampleRateInformation , IdBufferSizeInformation , IdInformationUpdated ,
  IdMidiEvent , IdStartProcessing , IdProcessingDone , IdChangeSharedMemoryKey ,
  IdChangeInputCount , IdChangeOutputCount , IdChangeInputOutputCount , IdShowUI ,
  IdHideUI , IdToggleUI , IdIsUIVisible , IdSaveSettingsToString ,
  IdSaveSettingsToFile , IdLoadSettingsFromString , IdLoadSettingsFromFile , IdSavePresetFile ,
  IdLoadPresetFile , IdDebugMessage , IdIdle , IdUserBase = 64
}
enum class  GigState {
  KeyDown , PlayingKeyDown , KeyUp , PlayingKeyUp ,
  Completed
}
enum class  SfxrWave {
  Square , Saw , Sine , Noise ,
  Count
}
enum class  SlewDistortionType : int {
  HardClip = 0 , Tanh , FastSoftClip1 , FastSoftClip2 ,
  Sinusoidal , Foldback , FullRectify , HalfRectify ,
  SmoothRectify , Bitcrush , Count
}
enum class  VstHostLanguage {
  English = 1 , German , French , Italian ,
  Spanish , Japanese , Korean
}
enum  VstRemoteMessageIDs {
  IdVstLoadPlugin = RemoteMessageIDs::IdUserBase , IdVstClosePlugin , IdVstSetTempo , IdVstSetLanguage ,
  IdVstGetParameterCount , IdVstGetParameterDump , IdVstSetParameterDump , IdVstProgramNames ,
  IdVstCurrentProgram , IdVstCurrentProgramName , IdVstSetProgram , IdVstRotateProgram ,
  IdVstIdleUpdate , IdVstParameterDisplays , IdVstParameterLabels , IdVstFailedLoadingPlugin ,
  IdVstPluginWindowID , IdVstPluginEditorGeometry , IdVstPluginName , IdVstPluginVersion ,
  IdVstPluginVendorString , IdVstPluginProductString , IdVstPluginPresetsString , IdVstPluginUniqueID ,
  IdVstSetParameter , IdVstParameterCount , IdVstParameterDump
}
enum class  ExecutableType { Unknown , Win32 , Win64 , Linux64 }
enum  ZasfRemoteMessageIDs { IdZasfPresetDirectory = RemoteMessageIDs::IdUserBase , IdZasfLmmsWorkingDirectory , IdZasfSetPitchWheelBendRange }

Functions

MPEG_mode mapToMPEG_mode (OutputSettings::StereoMode stereoMode)
static void stream_write_callback (pa_stream *s, size_t length, void *userdata)
static void stream_state_callback (pa_stream *s, void *userdata)
static void context_state_callback (pa_context *c, void *userdata)
static void setupWidgetOnBackendDisconnect (SoundIo *soundio, int err)
static void setup_widget_on_devices_change (SoundIo *soundio)
QDataStream & operator<< (QDataStream &out, WaveMipMap &waveMipMap)
QDataStream & operator>> (QDataStream &in, WaveMipMap &waveMipMap)
static QString ensureTrailingSlash (const QString &s)
static void findIds (const QDomElement &elem, QList< jo_id_t > &idList)
static void upgradeElement_1_2_0_rc2_42 (QDomElement &el)
template<class Ftor>
void iterate_ladspa_ports (QDomElement &effect, Ftor &ftor)
QDebug operator<< (QDebug dbg, const QDomNode &node)
static QMap< QString, QString > buildReplacementMap ()
float maximum (const float *abs_spectrum, unsigned int spec_size)
float maximum (const std::vector< float > &abs_spectrum)
int normalize (const float *abs_spectrum, float *norm_spectrum, unsigned int bin_count, unsigned int block_size)
int normalize (const std::vector< float > &abs_spectrum, std::vector< float > &norm_spectrum, unsigned int block_size)
int notEmpty (const std::vector< float > &spectrum)
int precomputeWindow (float *window, unsigned int length, FFTWindow type, bool normalized)
int absspec (const fftwf_complex *complex_buffer, float *absspec_buffer, unsigned int compl_length)
int compressbands (const float *absspec_buffer, float *compressedband, int num_old, int num_new, int bottom, int top)
static int countZeroCrossings (SampleFrame *buf, f_cnt_t start, f_cnt_t frames)
f_cnt_t getFadeInLength (float maxLength, f_cnt_t frames, int zeroCrossings)
static void saveEnvelopeAndLFOParameters (EnvelopeAndLfoParameters &p, const QString &tagName, QDomDocument &_doc, QDomElement &_this)
static size_t align (size_t size, size_t alignment)
QString qStringFromPluginNode (const LilvPlugin *plug, LilvNode *(*getFunc)(const LilvPlugin *))
QString qStringFromPortName (const LilvPlugin *plug, const LilvPort *port)
 Return port name as QString, everything will be freed automatically.
std::string stdStringFromPortName (const LilvPlugin *plug, const LilvPort *port)
 Return port name as std::string, everything will be freed automatically.
static uint32_t lv2_evbuf_pad_size (uint32_t size)
LV2_Evbuflv2_evbuf_new (uint32_t capacity, uint32_t atom_Chunk, uint32_t atom_Sequence)
void lv2_evbuf_free (LV2_Evbuf *evbuf)
void lv2_evbuf_reset (LV2_Evbuf *evbuf, bool input)
uint32_t lv2_evbuf_get_size (LV2_Evbuf *evbuf)
voidlv2_evbuf_get_buffer (LV2_Evbuf *evbuf)
LV2_Evbuf_Iterator lv2_evbuf_begin (LV2_Evbuf *evbuf)
LV2_Evbuf_Iterator lv2_evbuf_end (LV2_Evbuf *evbuf)
bool lv2_evbuf_is_valid (LV2_Evbuf_Iterator iter)
LV2_Evbuf_Iterator lv2_evbuf_next (LV2_Evbuf_Iterator iter)
bool lv2_evbuf_get (LV2_Evbuf_Iterator iter, uint32_t *frames, uint32_t *type, uint32_t *size, uint8_t **data)
bool lv2_evbuf_write (LV2_Evbuf_Iterator *iter, uint32_t frames, uint32_t type, uint32_t size, const uint8_t *data)
static void addHbox (QWidget *parent, QString left, QString right)
static void addLabel (QWidget *parent, QString left, QString right)
AutoLilvNodes pluginGetValues (const LilvPlugin *plug, const char *valueUri)
static LV2_URID staticMap (LV2_URID_Map_Handle handle, const char *uri)
static const char * staticUnmap (LV2_URID_Unmap_Handle handle, LV2_URID urid)
static LV2_Worker_Status staticWorkerRespond (LV2_Worker_Respond_Handle handle, uint32_t size, const void *data)
static QString portName (snd_seq_client_info_t *_cinfo, snd_seq_port_info_t *_pinfo)
static QString portName (snd_seq_t *_seq, const snd_seq_addr_t *_addr)
std::size_t writeToByteSeq (const MidiEvent &ev, uint8_t *data, std::size_t bufsize)
static int JackMidiProcessCallback (jack_nframes_t nframes, void *arg)
static void JackMidiShutdown (void *arg)
std::optional< NoteBoundsboundsForNotes (const NoteVector &notes)
 Get the start/end/bottom/top positions of notes in a vector.
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::Sine > (const float sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::Triangle > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::Saw > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::Square > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::MoogSaw > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::Exponential > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::WhiteNoise > (const float _sample)
template<>
sample_t Oscillator::getSample< Oscillator::WaveShape::UserDefined > (const float _sample)
PerfTime operator- (const PerfTime &lhs, const PerfTime &rhs)
template<class T>
use_this_or (T this_param, T or_param)
QString use_this_or (QString this_param, QString or_param)
QStringList nameFilters ("lib*.so")
PluginFactorygetPluginFactory ()
QDebug operator<< (QDebug stream, const PluginIssue &iss)
void swap (SampleBuffer &first, SampleBuffer &second)
static PatternAnalysisResult analyzeAutomationPattern (QDomElement const &automationPattern, std::set< unsigned int > const &automatedBaseNoteIds)
 Helper function that checks for an automation pattern if it contains automation for targets that are base notes and/or other targets.
static void fixNotePatterns (QDomNodeList &patterns)
static void fixInstrumentBaseNoteAndCollectIds (QDomElement &instrument, std::set< unsigned int > &automatedBaseNoteIds)
static void fixAutomationPattern (QDomElement &automationPattern)
 Helper method that fixes the values and out values for an automation pattern.
static bool affected (QDomElement &instrument)
static void fixTrack (QDomElement &track, std::set< unsigned int > &automatedBaseNoteIds)
static void fixAutomationTracks (QDomElement &song, std::set< unsigned int > const &automatedBaseNoteIds)
 InterleavedBufferView (const SampleFrame *, f_cnt_t) -> InterleavedBufferView< const float, 2 >
 InterleavedBufferView (SampleFrame *, f_cnt_t) -> InterleavedBufferView< float, 2 >
template<class T, ch_cnt_t inputs, ch_cnt_t outputs>
constexpr void toInterleaved (PlanarBufferView< T, inputs > src, InterleavedBufferView< std::remove_const_t< T >, outputs > dst)
 Converts planar buffers to interleaved buffers.
template<class T, ch_cnt_t inputs, ch_cnt_t outputs>
constexpr void toPlanar (InterleavedBufferView< T, inputs > src, PlanarBufferView< std::remove_const_t< T >, outputs > dst)
 Converts interleaved buffers to planar buffers.
float INVAL (AutomationClip::TimemapIterator it)
float OUTVAL (AutomationClip::TimemapIterator it)
float OFFSET (AutomationClip::TimemapIterator it)
float INTAN (AutomationClip::TimemapIterator it)
float OUTTAN (AutomationClip::TimemapIterator it)
float LOCKEDTAN (AutomationClip::TimemapIterator it)
int POS (AutomationClip::TimemapIterator it)
void disable_denormals ()
QPoint position (const QDropEvent *de)
 position is a backwards-compatible adapter for QDropEvent::position and pos functions.
QPoint position (const QMouseEvent *me)
 position is a backwards-compatible adapter for QMouseEvent::position and pos functions.
QPointF positionF (const QMouseEvent *me)
 positionF is a backwards-compatible adapter for QMouseEvent::position and localPos functions.
QPoint globalPosition (const QMouseEvent *me)
 globalPosition is a backwards-compatible adapter for QMouseEvent::globalPosition and globalPos functions.
template<typename... Args>
QKeySequence keySequence (Args... args)
 Combines Qt key and modifier arguments together, replacing A | B which was deprecated in C++20 due to the enums being different types. (P1120R0).
QMetaType::Type typeId (const QVariant &variant)
 typeId is a backwards-compatible adapter for QVariant::typeId and type functions.
bool setContent (QDomDocument &doc, const QByteArray &text, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr)
 Backwards-compatible adapter for QDomDocument::setContent.
bool setContent (QDomDocument &doc, QIODevice *dev, bool namespaceProcessing, QString *errorMsg=nullptr, int *errorLine=nullptr, int *errorColumn=nullptr)
 Backwards-compatible adapter for QDomDocument::setContent.
bool isLittleEndian ()
int16_t swap16IfBE (int16_t i)
int32_t swap32IfBE (int32_t i)
float hermiteInterpolate (float x0, float x1, float x2, float x3, float frac_pos)
float cubicInterpolate (float v0, float v1, float v2, float v3, float x)
float cosinusInterpolate (float v0, float v1, float x)
float optimalInterpolate (float v0, float v1, float x)
float optimal4pInterpolate (float v0, float v1, float v2, float v3, float x)
float lagrangeInterpolate (float v0, float v1, float v2, float v3, float x)
std::FILE * fopenUtf8 (const std::string &filename, const char *mode)
 std::fopen wrapper that expects UTF-8 encoded filename and mode
int fileToDescriptor (std::FILE *file, bool closeFile=true)
 Returns the POSIX file descriptor of the given FILE.
Plugin::Descriptor::SubPluginFeatures::Key ladspaKeyToSubPluginKey (const Plugin::Descriptor *_desc, const QString &_name, const ladspa_key_t &_key)
bool approximatelyEqual (float x, float y) noexcept
auto fraction (std::floating_point auto x) noexcept
 Returns the fractional part of a float, a value between -1.0f and 1.0f.
auto absFraction (std::floating_point auto x) noexcept
 Returns the wrapped fractional part of a float, a value between 0.0f and 1.0f.
int fastRand () noexcept
 Returns a pseudorandom integer within [0, 32768).
template<std::floating_point T>
fastRand (T upper) noexcept
 Returns a pseudorandom number within [0, upper) (exclusive upper bound).
template<std::integral T>
fastRand (T upper) noexcept
 Returns a pseudorandom integer within [0, upper) (exclusive upper bound). upper may be negative, in which case the output range is (upper, 0].
template<typename T>
auto fastRand (T from, T to) noexcept
 Returns a pseudorandom integer within [from, to) (exclusive upper bound).
template<std::floating_point T>
fastRandInc (T upper) noexcept
 Returns a pseudorandom number within [0, upper] (inclusive upper bound).
template<std::unsigned_integral T>
fastRandInc (T upper) noexcept
 Returns a pseudorandom integer within [0, upper] (inclusive upper bound).
template<std::signed_integral T>
fastRandInc (T upper) noexcept
 Returns a pseudorandom integer within [0, upper] (inclusive upper bound). upper may be negative, in which case the output range is [upper, 0].
template<typename T>
auto fastRandInc (T from, T to) noexcept
 Returns a pseudorandom integer within [from, to] (inclusive upper bound). This function does not require the parameters to be in the proper order. fastRand(a, b) behaves identically to fastRand(b, a).
bool oneIn (unsigned chance) noexcept
 Returns true one in chance times at random.
template<class T>
static void roundAt (T &value, const T &where, const T &stepSize)
 Round value to where depending on step size.
double fastPow (double a, double b)
 Source: http://martin.ankerl.com/2007/10/04/optimized-pow-approximation-for-java-and-c-c/.
template<typename T>
constexprsign (T val) noexcept
 returns +1 if val >= 0, else -1
float sqrt_neg (float val)
 if val >= 0.0f, returns sqrt(val), else: -sqrt(-val)
float signedPowf (float v, float e)
 Exponential function that deals with negative bases.
float logToLinearScale (float min, float max, float value)
 Scales @value from linear to logarithmic. Value should be within [0,1].
float linearToLogScale (float min, float max, float value)
 Scales value from logarithmic to linear. Value should be in min-max range.
template<typename T>
auto fastPow10f (T x)
template<typename T>
auto fastLog10f (T x)
float ampToDbfs (float amp)
 Converts linear amplitude (>0-1.0) to dBFS scale.
float dbfsToAmp (float dbfs)
 Converts dBFS-scale to linear amplitude with 0dBFS = 1.0.
float safeAmpToDbfs (float amp)
 Converts linear amplitude (0-1.0) to dBFS scale. Handles zeroes as -inf.
float safeDbfsToAmp (float dbfs)
 Converts dBFS-scale to linear amplitude with 0dBFS = 1.0. Handles infinity as zero.
int numDigitsAsInt (float f)
std::size_t LMMS_EXPORT writeToByteSeq (const class MidiEvent &ev, uint8_t *data, std::size_t bufsize)
constexpr auto operator+ (Octave octave, Key key) -> int
StereoVolumeVector panningToVolumeVector (panning_t _p, float _scale=1.0f)
int panningToMidi (panning_t _p)
bool operator< (const ProjectVersion &v1, const ProjectVersion &v2)
bool operator> (const ProjectVersion &v1, const ProjectVersion &v2)
bool operator<= (const ProjectVersion &v1, const ProjectVersion &v2)
bool operator>= (const ProjectVersion &v1, const ProjectVersion &v2)
bool operator== (const ProjectVersion &v1, const ProjectVersion &v2)
bool operator!= (const ProjectVersion &v1, const ProjectVersion &v2)
std::string QSTR_TO_STDSTR (QString const &qstr)
void zeroSampleFrames (SampleFrame *buffer, size_t frames)
SampleFrame getAbsPeakValues (SampleFrame *buffer, size_t frames)
void copyToSampleFrames (SampleFrame *target, const float *source, size_t frames)
void copyFromSampleFrames (float *target, const SampleFrame *source, size_t frames)
PLUGIN_EXPORT Pluginlmms_plugin_main (Model *parent, void *data)
static uint32_t host_get_buffer_size (NativeHostHandle handle)
static double host_get_sample_rate (NativeHostHandle handle)
static bool host_is_offline (NativeHostHandle handle)
static const NativeTimeInfohost_get_time_info (NativeHostHandle handle)
static bool host_write_midi_event (NativeHostHandle, const NativeMidiEvent *)
static void host_ui_parameter_changed (NativeHostHandle handle, uint32_t index, float value)
static void host_ui_custom_data_changed (NativeHostHandle handle, const char *key, const char *value)
static void host_ui_closed (NativeHostHandle handle)
static intptr_t host_dispatcher (NativeHostHandle handle, NativeHostDispatcherOpcode opcode, int32_t index, intptr_t value, void *ptr, float opt)
static const char * host_ui_open_file (NativeHostHandle, bool isDir, const char *title, const char *filter)
static const char * host_ui_save_file (NativeHostHandle, bool isDir, const char *title, const char *filter)
static float computeDecayFactor (float decayTimeInSeconds, float targetedAttenuation)
float GET_INC (float freq)
static int sid_fillbuffer (unsigned char *sidreg, reSID::SID *sid, int tdelta, short *ptr, int samples)
static void close_check (FILE *fp)
unsigned int endian_swap (unsigned int &x)
unsigned int rotateLeft (unsigned int x, const int b)
size_t find_occurances (const std::string &haystack, const char *const needle)
float positiveFraction (float x)
template<typename T>
void clearArray (T *arr, unsigned int size)
 GEN_CC_SLOT (updatePortamento, C_portamento, m_portamentoModel)
 GEN_CC_SLOT (updateFilterFreq, C_filtercutoff, m_filterFreqModel)
 GEN_CC_SLOT (updateFilterQ, C_filterq, m_filterQModel)
 GEN_CC_SLOT (updateBandwidth, C_bandwidth, m_bandwidthModel)
 GEN_CC_SLOT (updateFmGain, C_fmamp, m_fmGainModel)
 GEN_CC_SLOT (updateResCenterFreq, C_resonance_center, m_resCenterFreqModel)
 GEN_CC_SLOT (updateResBandwidth, C_resonance_bandwidth, m_resBandwidthModel)

Variables

static const QString PATH_DEV_DSP
constexpr auto SectionSDL = "audiosdl"
constexpr auto PlaybackDeviceSDL = "device"
constexpr auto InputDeviceSDL = "inputdevice"
static bool s_renderingThread = false
const int MAX = 0
const int ENV = 1
const int PNT = 2
const int dENV = 3
const int NEXTT = 4
float envpts [8][3][32]
float envData [8][6]
int chkOn [8]
int sliLev [8]
float timestretch
short DD [1200]
short clippoint
float DF [1200]
float phi [1200]
long wavewords
long wavemode = 0
float mem_t = 1.0f
float mem_o = 1.0f
float mem_n = 1.0f
float mem_b = 1.0f
float mem_tune = 1.0f
float mem_time = 1.0f
const float SECS_PER_ENV_SEGMENT = 5.0f
const float SECS_PER_LFO_OSCILLATION = 20.0f
const f_cnt_t minimumFrames = 1
const float CUT_FREQ_MULTIPLIER = 6000.0f
const float RES_MULTIPLIER = 2.0f
const float RES_PRECISION = 1000.0f
static const size_t SIZEOF_SET = sizeof( int ) * 8
const int EventPollTimeOut = 250
static const auto REMAINS_F0F6
static const auto REMAINS_80E0
static MidiDummy s_dummyClient
static const auto KEY_ORDER
static PixmapLoader dummyLoader
static Plugin::Descriptor dummyPluginDescriptor
static const int EO_ID_MSB = 1 << 23
const int REMOVE_RELEASED_NOTE_TIME_THRESHOLD_MS = 70
constexpr auto DynamicChannelCount = static_cast<ch_cnt_t>(-1)
 Use when the number of channels is not known at compile time.
constexpr f_cnt_t MINIMUM_BUFFER_SIZE = 32
constexpr f_cnt_t DEFAULT_BUFFER_SIZE = 256
constexpr f_cnt_t MAXIMUM_BUFFER_SIZE = 4096
constexpr int BYTES_PER_SAMPLE = sizeof(sample_t)
constexpr int BYTES_PER_INT_SAMPLE = sizeof(int_sample_t)
constexpr int BYTES_PER_FRAME = sizeof(SampleFrame)
constexpr float OUTPUT_SAMPLE_MULTIPLIER = 32767.0f
constexpr auto SUPPORTED_SAMPLERATES = std::array{44100, 48000, 88200, 96000, 192000}
constexpr auto SUPPORTED_BITRATES = std::array{64, 128, 160, 192, 256, 320}
constexpr int MAXLEN = 11
constexpr int MIPMAPSIZE = 2 << ( MAXLEN + 1 )
constexpr int MIPMAPSIZE3 = 3 << ( MAXLEN + 1 )
constexpr int MAXTBL = 23
constexpr int MINTLEN = 2 << 0
constexpr int MAXTLEN = 3 << MAXLEN
const int TLENS [MAXTBL+1]
const QString PROJECTS_PATH = "projects/"
const QString TEMPLATE_PATH = "templates/"
const QString PRESETS_PATH = "presets/"
const QString SAMPLES_PATH = "samples/"
const QString GIG_PATH = "samples/gig/"
const QString SF2_PATH = "samples/soundfonts/"
const QString LADSPA_PATH ="plugins/ladspa/"
const QString DEFAULT_THEME_PATH = "themes/default/"
const QString TRACK_ICON_PATH = "track_icons/"
const QString LOCALE_PATH = "locale/"
const QString PORTABLE_MODE_FILE = "/portable_mode.txt"
constexpr auto FFT_BUFFER_SIZE = std::size_t{2048}
const std::vector< unsigned intFFT_BLOCK_SIZES = {256, 512, 1024, 2048, 4096, 8192, 16384}
constexpr const char * UI_CTRL_KEY
constexpr const char * UI_ALT_KEY
constexpr const char * UI_COPY_KEY
constexpr Qt::KeyboardModifier KBD_COPY_MODIFIER
const float NOHINT = -99342.2243f
constexpr float F_EPSILON = 1.0e-10f
constexpr auto DEFAULT_CHANNELS = ch_cnt_t{2}
constexpr auto MaxChannelsPerAudioBuffer = ch_cnt_t{128}
constexpr auto MaxGroupsPerAudioBuffer = group_cnt_t{MaxChannelsPerAudioBuffer / 2}
constexpr unsigned MaxScaleCount = 10
 number of scales per project
constexpr unsigned MaxKeymapCount = 10
 number of keyboard mappings per project
constexpr auto LOWEST_LOG_FREQ = 5
constexpr auto FRANGE_AUDIBLE_START = 20
constexpr auto FRANGE_AUDIBLE_END = 20000
constexpr auto FRANGE_BASS_START = 20
constexpr auto FRANGE_BASS_END = 300
constexpr auto FRANGE_MIDS_START = 200
constexpr auto FRANGE_MIDS_END = 5000
constexpr auto FRANGE_HIGH_START = 4000
constexpr auto FRANGE_HIGH_END = 20000
constexpr auto ARANGE_EXTENDED_START = -80
constexpr auto ARANGE_EXTENDED_END = 20
constexpr auto ARANGE_AUDIBLE_START = -50
constexpr auto ARANGE_AUDIBLE_END = 0
constexpr auto ARANGE_LOUD_START = -30
constexpr auto ARANGE_LOUD_END = 0
constexpr auto ARANGE_SILENT_START = -60
constexpr auto ARANGE_SILENT_END = -10
constexpr char LADSPA_PATH_SEPERATOR
const int MidiChannelCount = 16
const int MidiControllerCount = 128
const int MidiProgramCount = 128
const int MidiMaxVelocity = 127
const int MidiDefaultVelocity = MidiMaxVelocity / 2
const int MidiMaxControllerValue = 127
const int MidiMaxKey = 127
const int MidiMaxPanning = 127
const int MidiMinPanning = -128
const int MidiMinPitchBend = 0
const int MidiMaxPitchBend = 16383
const uint32_t RAW_MIDI_PARSE_BUF_SIZE = 16
constexpr size_t JACK_MIDI_BUFFER_MAX = 64
const int FirstOctave = -1
const int KeysPerOctave = 12
constexpr auto DefaultOctave = Octave::Octave_4
const int DefaultKey = DefaultOctave + Key::A
const int NumKeys = 128
 Number of physical keys, limited to MIDI range (valid for both MIDI 1.0 and 2.0).
const int DefaultMiddleKey = Octave::Octave_4 + Key::C
const int DefaultBaseKey = Octave::Octave_4 + Key::A
const float DefaultBaseFreq = 440.f
const float MaxDetuning = 5 * 12.0f
const int INITIAL_NPH_CACHE = 256
const int NPH_CACHE_INCREMENT = 16
constexpr panning_t PanningRight = 100
constexpr panning_t PanningLeft = -PanningRight
constexpr panning_t PanningCenter = 0
constexpr panning_t DefaultPanning = PanningCenter
constexpr pitch_t CentsPerSemitone = 100
constexpr pitch_t MinPitchDefault = -CentsPerSemitone
constexpr pitch_t MaxPitchDefault = CentsPerSemitone
constexpr pitch_t DefaultPitch = 0
const bpm_t MinTempo = 10
const bpm_t DefaultTempo = 140
const bpm_t MaxTempo = 999
const tick_t MaxSongLength = 9999 * DefaultTicksPerBar
const int DefaultTicksPerBar = 192
const int DefaultStepsPerBar = 16
const int DefaultBeatsPerBar = DefaultTicksPerBar / DefaultStepsPerBar
const int MINIMAL_TRACK_HEIGHT = 32
const int DEFAULT_TRACK_HEIGHT = 32
char const *const FILENAME_FILTER = "[\\0000-\x1f\"*/:<>?\\\\|\x7f]"
constexpr volume_t MinVolume = 0
constexpr volume_t MaxVolume = 200
constexpr volume_t DefaultVolume = 100
Plugin::Descriptor PLUGIN_EXPORT amplifier_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT audiofileprocessor_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT bassbooster_plugin_descriptor
const int OS_RATE = 5
const float OS_RATIO = 1.0f / OS_RATE
const float CUTOFF_RATIO = 0.353553391f
const int SILENCEFRAMES = 10
const auto OS_RESAMPLE
Plugin::Descriptor PLUGIN_EXPORT bitcrush_plugin_descriptor
static const int wavetableSize = 200
static const float defaultNormalizationFactor = 1.0f
Plugin::Descriptor PLUGIN_EXPORT bitinvader_plugin_descriptor
static const double ticksPerBeat = 48.0
Plugin::Descriptor PLUGIN_EXPORT carlapatchbay_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT carlarack_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT compressor_plugin_descriptor
constexpr float COMP_LOG = -2.2f
constexpr float COMP_NOISE_FLOOR = 0.000001f
Plugin::Descriptor PLUGIN_EXPORT crossovereq_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT delay_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT dispersion_plugin_descriptor
constexpr int MAX_DISPERSION_FILTERS = 999
Plugin::Descriptor PLUGIN_EXPORT dualfilter_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT dynamicsprocessor_plugin_descriptor
const float DYN_NOISE_FLOOR = 0.00001f
const double DNF_LOG = -1.0
Plugin::Descriptor PLUGIN_EXPORT eq_plugin_descriptor
const int MAX_BANDS = 2048
Plugin::Descriptor PLUGIN_EXPORT flanger_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT freeboy_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT frequencyshifter_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT gigplayer_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT granularpitchshifter_plugin_descriptor
constexpr float PrefilterBandwidth = 0.96f
constexpr double GlideSnagRadius = 0.001
constexpr int SafetyLatency = 3
constexpr float RangeSeconds [5] = {5, 10, 40, 40, 120}
constexpr float DcRemovalHz = 7.f
constexpr float SatuSafeVol = 16.f
constexpr float SatuStrength = 0.001f
Plugin::Descriptor PLUGIN_EXPORT hydrogenimport_plugin_descriptor
QString filename
Instrumentins
Plugin::Descriptor PLUGIN_EXPORT kicker_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT ladspabrowser_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT ladspaeffect_plugin_descriptor
const float sampleRateCutoff = 44100.0f
Plugin::Descriptor PLUGIN_EXPORT lb302_plugin_descriptor
static const int NUM_FILTERS = 2
Plugin::Descriptor PLUGIN_EXPORT lomm_plugin_descriptor
constexpr float LOMM_MIN_FLOOR = 0.00012589f
constexpr float LOMM_MAX_LOOKAHEAD = 20.f
constexpr float LOMM_AUTO_TIME_ADJUST = 5.f
constexpr float LOMM_DISPLAY_MIN = -72
constexpr float LOMM_DISPLAY_MAX = 0
constexpr float LOMM_DISPLAY_X = 125
constexpr float LOMM_DISPLAY_Y [6] = {24, 41, 106, 123, 186, 203}
constexpr float LOMM_DISPLAY_WIDTH = 150
constexpr float LOMM_DISPLAY_HEIGHT = 13
constexpr float LOMM_DISPLAY_DB_PER_PIXEL = (LOMM_DISPLAY_MAX - LOMM_DISPLAY_MIN) / LOMM_DISPLAY_WIDTH
Plugin::Descriptor PLUGIN_EXPORT lv2effect_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT lv2instrument_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT midiexport_plugin_descriptor
const int BUFFER_SIZE = 50*1024
Plugin::Descriptor PLUGIN_EXPORT midiimport_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT monstro_plugin_descriptor
const int WAVE_SINE = 0
const int WAVE_TRI = 1
const int WAVE_SAW = 2
const int WAVE_RAMP = 3
const int WAVE_SQR = 4
const int WAVE_MOOG = 5
const int WAVE_SQRSOFT = 6
const int WAVE_SINABS = 7
const int WAVE_EXP = 8
const int WAVE_NOISE = 9
const int WAVE_TRI_D = 10
const int WAVE_SAW_D = 11
const int WAVE_RAMP_D = 12
const int WAVE_SQR_D = 13
const int WAVE_MOOG_D = 14
const int NUM_WAVES = 15
const int WAVE_RANDOM = 9
const int WAVE_RANDOM_SMOOTH = 10
const int NUM_LFO_WAVES = 11
const int MOD_MIX = 0
const int MOD_AM = 1
const int MOD_FM = 2
const int MOD_PM = 3
const int NUM_MODS = 4
const float MODCLIP = 2.0
const float MIN_FREQ = 18.0f
const float MAX_FREQ = 48000.0f
const float INTEGRATOR = 3.0f / 7.0f
const float FM_AMOUNT = 0.25f
const float PW_MIN = 0.25f
const float PW_MAX = 100.0f - PW_MIN
Plugin::Descriptor PLUGIN_EXPORT multitapecho_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT nes_plugin_descriptor
const float NES_SIMPLE_FILTER = 1.f / 20.f
const float NFB = 895000.0f
const float NOISE_FREQS [16]
const uint16_t LFSR_INIT = 1
const float DUTY_CYCLE [4] = { 0.125, 0.25, 0.5, 0.75 }
const float DITHER_AMP = 1.f / 60.f
const int TRIANGLE_WAVETABLE [32]
const float NES_DIST = 0.9f
const float NES_MIXING_12 = 1.f / 20.f
const float NES_MIXING_34 = 1.f / 12.f
const float NES_MIXING_ALL = 1.f / (NES_MIXING_12 + NES_MIXING_34)
const int MIN_WLEN = 4
Plugin::Descriptor PLUGIN_EXPORT opulenz_plugin_descriptor
const auto adlib_opadd = std::array<unsigned int, OPL2_VOICES>{0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11, 0x12}
Plugin::Descriptor PLUGIN_EXPORT organic_plugin_descriptor
const int NUM_OSCILLATORS = 8
const int NUM_HARMONICS = 18
const QString HARMONIC_NAMES [NUM_HARMONICS]
const QString WAVEFORM_NAMES [6]
const float CENT = 1.0f / 1200.0f
Plugin::Descriptor PLUGIN_EXPORT patman_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT peakcontrollereffect_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT reverbsc_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT sf2player_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT sfxr_plugin_descriptor
constexpr auto NumSfxrWaves = static_cast<std::size_t>(SfxrWave::Count)
const int WAVEFORM_BASE_X = 20
const int WAVEFORM_BASE_Y = 15
const int WAVEFORM_BUTTON_WIDTH = 16
const int GENERATOR_BASE_X = 110
const int GENERATOR_BASE_Y = 25
const int GENERATOR_BUTTON_WIDTH = 16
const int RAND_BUTTON_X = 160
const int RAND_BUTTON_Y = 4
const int MUTA_BUTTON_X = 205
const int MUTA_BUTTON_Y = 4
const int KNOBS_BASE_X = 20
const int KNOBS_BASE_Y = 50
const int KNOB_BLOCK_SIZE_X = 40
const int KNOB_BLOCK_SIZE_Y = 40
auto sidorder
static auto attackTime
static auto decRelTime
static const auto relTime
Plugin::Descriptor PLUGIN_EXPORT sid_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT slewdistortion_plugin_descriptor
constexpr float SLEW_DISTORTION_MIN_FLOOR = 0.0012589f
constexpr float SLEW_DISTORTION_DC_FREQ = 7.f
constexpr int SLEWDIST_MAX_OVERSAMPLE_STAGES = 5
Plugin::Descriptor PLUGIN_EXPORT slicert_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT analyzer_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT stereoenhancer_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT stereomatrix_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT malletsstk_plugin_descriptor
static const int MALLETS_PRESET_VERSION = 1
Plugin::Descriptor PLUGIN_EXPORT taptempo_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT tripleoscillator_plugin_descriptor
const int NUM_OF_OSCILLATORS = 3
Plugin::Descriptor PLUGIN_EXPORT vectorscope_plugin_descriptor
Plugin::Descriptor Q_DECL_EXPORT vestige_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT vibedstrings_plugin_descriptor
Plugin::Descriptor VSTBASE_EXPORT vstbase_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT vsteffect_plugin_descriptor
Plugin::Descriptor PLUGIN_EXPORT watsyn_plugin_descriptor
const int GRAPHLEN = 220
const int WAVERATIO = 32
const int WAVELEN = GRAPHLEN * WAVERATIO
const int PMOD_AMT = WAVELEN / 2
const int MOD_RM = 2
const int A1_OSC = 0
const int A2_OSC = 1
const int B1_OSC = 2
const int B2_OSC = 3
const int NUM_OSCS = 4
Plugin::Descriptor PLUGIN_EXPORT waveshaper_plugin_descriptor
static const auto random_data
static RandomVectorSeedFunction randsv_func
static freefunc0< float, SimpleRandom::float_random_with_engine, falsesimple_rand
static freefunc1< float, sin_wave, truesin_wave_func
static freefunc1< float, square_wave, truesquare_wave_func
static freefunc1< float, triangle_wave, truetriangle_wave_func
static freefunc1< float, saw_wave, truesaw_wave_func
static freefunc1< float, moogsaw_wave, truemoogsaw_wave_func
static freefunc1< float, moog_wave, truemoog_wave_func
static freefunc1< float, exp_wave, trueexp_wave_func
static freefunc1< float, exp2_wave, trueexp2_wave_func
static freefunc1< float, harmonic_cent, trueharmonic_cent_func
static freefunc1< float, harmonic_semitone, trueharmonic_semitone_func
Plugin::Descriptor PLUGIN_EXPORT xpressive_plugin_descriptor
const int W1_EXPR = 0
const int W2_EXPR = 1
const int W3_EXPR = 2
const int O1_EXPR = 3
const int O2_EXPR = 4
const int NUM_EXPRS = 5
Plugin::Descriptor PLUGIN_EXPORT zynaddsubfx_plugin_descriptor

Typedef Documentation

◆ AudioFileDeviceInstantiaton

◆ AutoLilvNode

using lmms::AutoLilvNode = std::unique_ptr<LilvNode, LilvNodeDeleter>

◆ AutoLilvNodes

using lmms::AutoLilvNodes = std::unique_ptr<LilvNodes, LilvNodesDeleter>

◆ AutoLilvPtr

template<class T>
using lmms::AutoLilvPtr = std::unique_ptr<T, LilvPtrDeleter<T>>

◆ AutoLilvScalePoints

◆ AutomatedValueMap

◆ bar_t

using lmms::bar_t = std::int32_t

◆ bitrate_t

using lmms::bitrate_t = std::uint16_t

◆ bpm_t

using lmms::bpm_t = std::uint16_t

◆ ch_cnt_t

using lmms::ch_cnt_t = std::uint16_t

◆ ConstNotePlayHandleList

◆ ConstPlayHandleList

◆ control_list_t

◆ ControllerConnectionVector

◆ ControllerVector

using lmms::ControllerVector = std::vector<Controller*>

◆ DistFX

◆ EffectKey

using lmms::EffectKey = Effect::Descriptor::SubPluginFeatures::Key

◆ EffectKeyList

using lmms::EffectKeyList = Effect::Descriptor::SubPluginFeatures::KeyList

◆ expression_t

using lmms::expression_t = exprtk::expression<float>

◆ f_cnt_t

using lmms::f_cnt_t = std::uint64_t

◆ group_cnt_t

using lmms::group_cnt_t = std::uint8_t

◆ int_sample_t

using lmms::int_sample_t = std::int16_t

◆ jo_id_t

using lmms::jo_id_t = std::uint32_t

◆ l_ladspa_key_t

◆ l_sortable_plugin_t

◆ ladspa_key_t

using lmms::ladspa_key_t = QPair<QString, QString>

◆ LocklessListElement

◆ LV2_Evbuf

An abstract/opaque LV2 event buffer.

◆ MidiMetaEventType

◆ MidiNoteIterator

using lmms::MidiNoteIterator = std::vector<MidiNote>::iterator

◆ MidiNoteVector

using lmms::MidiNoteVector = std::vector<MidiNote>

◆ MidiPortList

using lmms::MidiPortList = QList<MidiPort*>

◆ mix_ch_t

using lmms::mix_ch_t = std::uint16_t

◆ MixerRouteVector

using lmms::MixerRouteVector = std::vector<MixerRoute*>

◆ MTrack

using lmms::MTrack = MidiFile::MIDITrack<BUFFER_SIZE>

◆ multi_proc_t

using lmms::multi_proc_t = QVector<port_desc_t*>

◆ NineButtonSelectorModel

◆ NotePlayHandleList

◆ NoteVector

using lmms::NoteVector = std::vector<Note*>

◆ panning_t

using lmms::panning_t = std::int8_t

◆ parser_t

using lmms::parser_t = exprtk::parser<float>

◆ PeakControllerEffectVector

◆ pitch_t

◆ PlayHandleList

◆ sample_rate_t

using lmms::sample_rate_t = std::uint32_t

◆ sample_t

using lmms::sample_t = float

◆ sortable_plugin_t

using lmms::sortable_plugin_t = QPair<QString, ladspa_key_t>

◆ StereoAllpassDelay

◆ StereoBiQuad

◆ StereoCombFeedback

◆ StereoCombFeedbackDualtap

◆ StereoCombFeedfwd

◆ StereoLinkwitzRiley

◆ StereoOnePole

◆ SweepOsc

◆ symbol_table_t

using lmms::symbol_table_t = exprtk::symbol_table<float>

◆ tick_t

using lmms::tick_t = std::int32_t

◆ timeMap

◆ UniqueNullableResource

template<typename T, T Null, auto Deleter>
using lmms::UniqueNullableResource = std::unique_ptr<T, NullableResourceDeleter<T, Null, Deleter>>

◆ volume_t

using lmms::volume_t = std::uint8_t

Enumeration Type Documentation

◆ AmplitudeRange

enum class lmms::AmplitudeRange
strong
Enumerator
Extended 
Audible 
Loud 
Silent 

◆ BufferDataType

enum class lmms::BufferDataType
strong
Enumerator
Toggled 
Enum 
Integer 
Floating 
Time 
None 

◆ BufferRate

enum class lmms::BufferRate
strong
Enumerator
ChannelIn 
ChannelOut 
AudioRateInput 
AudioRateOutput 
ControlRateInput 
ControlRateOutput 

◆ ExecutableType

enum class lmms::ExecutableType
strong
Enumerator
Unknown 
Win32 
Win64 
Linux64 

◆ FFTWindow

enum class lmms::FFTWindow
strong
Enumerator
Rectangular 
BlackmanHarris 
Hamming 
Hanning 

◆ FrequencyRange

enum class lmms::FrequencyRange
strong
Enumerator
Full 
Audible 
Bass 
Mids 
High 

◆ GigState

enum class lmms::GigState
strong
Enumerator
KeyDown 
PlayingKeyDown 
KeyUp 
PlayingKeyUp 
Completed 

◆ Key

enum class lmms::Key : int
strong
Enumerator
Cis 
Des 
Dis 
Es 
Fes 
Fis 
Ges 
Gis 
As 
Ais 

◆ LadspaPluginType

enum class lmms::LadspaPluginType
strong
Enumerator
Source 
Transfer 
Valid 
Invalid 
Sink 
Other 

◆ MidiControllerRegisteredParameterNumbers

Enumerator
MidiPitchBendSensitivityRPN 
MidiChannelFineTuningRPN 
MidiChannelCoarseTuningRPN 
MidiTuningProgramChangeRPN 
MidiTuningBankSelectRPN 
MidiModulationDepthRangeRPN 
MidiNullFunctionNumberRPN 

◆ MidiEventTypes

Enumerator
MidiNoteOff 
MidiNoteOn 
MidiKeyPressure 
MidiControlChange 
MidiProgramChange 
MidiChannelPressure 
MidiPitchBend 
MidiSysEx 
MidiTimeCode 
MidiSongPosition 
MidiSongSelect 
MidiTuneRequest 
MidiEOX 
MidiSync 
MidiTick 
MidiStart 
MidiContinue 
MidiStop 
MidiActiveSensing 
MidiSystemReset 
MidiMetaEvent 

◆ MidiMetaEventTypes

Enumerator
MidiMetaInvalid 
MidiCopyright 
MidiTrackName 
MidiInstName 
MidiLyric 
MidiMarker 
MidiCuePoint 
MidiPortNumber 
MidiEOT 
MidiSetTempo 
MidiSMPTEOffset 
MidiTimeSignature 
MidiKeySignature 
MidiSequencerEvent 
MidiMetaCustom 
MidiNotePanning 

◆ MidiStandardControllers

Enumerator
MidiControllerBankSelect 
MidiControllerModulationWheel 
MidiControllerBreathController 
MidiControllerFootController 
MidiControllerPortamentoTime 
MidiControllerDataEntry 
MidiControllerMainVolume 
MidiControllerBalance 
MidiControllerPan 
MidiControllerEffectControl1 
MidiControllerEffectControl2 
MidiControllerSustain 
MidiControllerPortamento 
MidiControllerSostenuto 
MidiControllerSoftPedal 
MidiControllerLegatoFootswitch 
MidiControllerRegisteredParameterNumberLSB 
MidiControllerRegisteredParameterNumberMSB 
MidiControllerAllSoundOff 
MidiControllerResetAllControllers 
MidiControllerLocalControl 
MidiControllerAllNotesOff 
MidiControllerOmniOn 
MidiControllerOmniOff 
MidiControllerMonoOn 
MidiControllerPolyOn 

◆ Octave

enum class lmms::Octave : int
strong
Enumerator
Octave_m1 
Octave_0 
Octave_1 
Octave_2 
Octave_3 
Octave_4 
Octave_5 
Octave_6 
Octave_7 
Octave_8 
Octave_9 

◆ PluginIssueType

enum class lmms::PluginIssueType
strong

Types of issues that can cause LMMS to not load a plugin LMMS Plugins should use this to indicate errors

Enumerator
UnknownPortFlow 
UnknownPortType 
TooManyInputChannels 
TooManyOutputChannels 
TooManyMidiInputChannels 
TooManyMidiOutputChannels 
NoOutputChannel 
PortHasNoDef 
PortHasNoMin 
PortHasNoMax 
MinGreaterMax 
DefaultValueNotInRange 
LogScaleMinMissing 
LogScaleMaxMissing 
LogScaleMinMaxDifferentSigns 
FeatureNotSupported 

plugin requires functionality LMMS can't offer

BadPortType 

port type not supported

Blocked 
NoIssue 

◆ RemoteMessageIDs

Enumerator
IdUndefined 
IdHostInfoGotten 
IdInitDone 
IdQuit 
IdSyncKey 
IdSampleRateInformation 
IdBufferSizeInformation 
IdInformationUpdated 
IdMidiEvent 
IdStartProcessing 
IdProcessingDone 
IdChangeSharedMemoryKey 
IdChangeInputCount 
IdChangeOutputCount 
IdChangeInputOutputCount 
IdShowUI 
IdHideUI 
IdToggleUI 
IdIsUIVisible 
IdSaveSettingsToString 
IdSaveSettingsToFile 
IdLoadSettingsFromString 
IdLoadSettingsFromFile 
IdSavePresetFile 
IdLoadPresetFile 
IdDebugMessage 
IdIdle 
IdUserBase 

◆ SfxrWave

enum class lmms::SfxrWave
strong
Enumerator
Square 
Saw 
Sine 
Noise 
Count 

◆ SlewDistortionType

enum class lmms::SlewDistortionType : int
strong
Enumerator
HardClip 
Tanh 
FastSoftClip1 
FastSoftClip2 
Sinusoidal 
Foldback 
FullRectify 
HalfRectify 
SmoothRectify 
Bitcrush 
Count 

◆ VstHostLanguage

enum class lmms::VstHostLanguage
strong
Enumerator
English 
German 
French 
Italian 
Spanish 
Japanese 
Korean 

◆ VstRemoteMessageIDs

Enumerator
IdVstLoadPlugin 
IdVstClosePlugin 
IdVstSetTempo 
IdVstSetLanguage 
IdVstGetParameterCount 
IdVstGetParameterDump 
IdVstSetParameterDump 
IdVstProgramNames 
IdVstCurrentProgram 
IdVstCurrentProgramName 
IdVstSetProgram 
IdVstRotateProgram 
IdVstIdleUpdate 
IdVstParameterDisplays 
IdVstParameterLabels 
IdVstFailedLoadingPlugin 
IdVstPluginWindowID 
IdVstPluginEditorGeometry 
IdVstPluginName 
IdVstPluginVersion 
IdVstPluginVendorString 
IdVstPluginProductString 
IdVstPluginPresetsString 
IdVstPluginUniqueID 
IdVstSetParameter 
IdVstParameterCount 
IdVstParameterDump 

◆ ZasfRemoteMessageIDs

Enumerator
IdZasfPresetDirectory 
IdZasfLmmsWorkingDirectory 
IdZasfSetPitchWheelBendRange 

Function Documentation

◆ absFraction()

auto lmms::absFraction ( std::floating_point auto x)
inlinenoexcept

Returns the wrapped fractional part of a float, a value between 0.0f and 1.0f.

absFraction( 2.3) => 0.3 absFraction(-2.3) => 0.7

Note that this not the same as the absolute value of the fraction (as the function name suggests). If the result is interpreted as a phase of an oscillator, it makes that negative phases are converted to positive phases.

◆ absspec()

int LMMS_EXPORT lmms::absspec ( const fftwf_complex * complex_buffer,
float * absspec_buffer,
unsigned int compl_length )

Compute absolute values of complex_buffer, save to absspec_buffer. Take care that - compl_len is not bigger than complex_buffer!

  • absspec buffer is big enough!
Returns
0 on success, else -1

◆ addHbox()

void lmms::addHbox ( QWidget * parent,
QString left,
QString right )
static

◆ addLabel()

void lmms::addLabel ( QWidget * parent,
QString left,
QString right )
static

◆ affected()

bool lmms::affected ( QDomElement & instrument)
static

◆ align()

size_t lmms::align ( size_t size,
size_t alignment )
static

◆ ampToDbfs()

float lmms::ampToDbfs ( float amp)
inline

Converts linear amplitude (>0-1.0) to dBFS scale.

Parameters
ampLinear amplitude, where 1.0 = 0dBFS. ** Must be larger than zero! **
Returns
Amplitude in dBFS.

◆ analyzeAutomationPattern()

PatternAnalysisResult lmms::analyzeAutomationPattern ( QDomElement const & automationPattern,
std::set< unsigned int > const & automatedBaseNoteIds )
static

Helper function that checks for an automation pattern if it contains automation for targets that are base notes and/or other targets.

Parameters
automationPatternThe automation pattern to be checked.
automatedBaseNoteIdsA set of id of automated base notes that are used in the check.
Returns
A struct that contains the results.

◆ approximatelyEqual()

bool lmms::approximatelyEqual ( float x,
float y )
inlinenoexcept

◆ boundsForNotes()

std::optional< NoteBounds > lmms::boundsForNotes ( const NoteVector & notes)

Get the start/end/bottom/top positions of notes in a vector.

Returns no value if there are no notes

◆ buildReplacementMap()

QMap< QString, QString > lmms::buildReplacementMap ( )
static

◆ clearArray()

template<typename T>
void lmms::clearArray ( T * arr,
unsigned int size )
inline

◆ close_check()

void lmms::close_check ( FILE * fp)
static

◆ compressbands()

int LMMS_EXPORT lmms::compressbands ( const float * _absspec_buffer,
float * _compressedband,
int _num_old,
int _num_new,
int _bottom,
int _top )

Build fewer subbands from many absolute spectrum values. Take care that - compressedbands[] array num_new elements long

  • num_old > num_new
Returns
0 on success, else -1

◆ computeDecayFactor()

float lmms::computeDecayFactor ( float decayTimeInSeconds,
float targetedAttenuation )
static

◆ context_state_callback()

void lmms::context_state_callback ( pa_context * c,
void * userdata )
static

◆ copyFromSampleFrames()

void lmms::copyFromSampleFrames ( float * target,
const SampleFrame * source,
size_t frames )
inline

◆ copyToSampleFrames()

void lmms::copyToSampleFrames ( SampleFrame * target,
const float * source,
size_t frames )
inline

◆ cosinusInterpolate()

float lmms::cosinusInterpolate ( float v0,
float v1,
float x )
inline

◆ countZeroCrossings()

int lmms::countZeroCrossings ( SampleFrame * buf,
f_cnt_t start,
f_cnt_t frames )
static

◆ cubicInterpolate()

float lmms::cubicInterpolate ( float v0,
float v1,
float v2,
float v3,
float x )
inline

◆ dbfsToAmp()

float lmms::dbfsToAmp ( float dbfs)
inline

Converts dBFS-scale to linear amplitude with 0dBFS = 1.0.

Parameters
dbfsThe dBFS value to convert. ** Must be a real number - not inf/nan! **
Returns
Linear amplitude

◆ disable_denormals()

void lmms::disable_denormals ( )
inline

◆ endian_swap()

unsigned int lmms::endian_swap ( unsigned int & x)
inline

◆ ensureTrailingSlash()

QString lmms::ensureTrailingSlash ( const QString & s)
inlinestatic

◆ fastLog10f()

template<typename T>
auto lmms::fastLog10f ( T x)
inline

◆ fastPow()

double lmms::fastPow ( double a,
double b )
inline

◆ fastPow10f()

template<typename T>
auto lmms::fastPow10f ( T x)
inline

◆ fastRand() [1/4]

int lmms::fastRand ( )
inlinenoexcept

Returns a pseudorandom integer within [0, 32768).

Returns
A pseudorandom integer greater than or equal to 0 and less than 32767.

◆ fastRand() [2/4]

template<typename T>
auto lmms::fastRand ( T from,
T to )
inlinenoexcept

Returns a pseudorandom integer within [from, to) (exclusive upper bound).

Returns
A pseudorandom integer greater than or equal to from and less than to.

◆ fastRand() [3/4]

template<std::integral T>
T lmms::fastRand ( T upper)
inlinenoexcept

Returns a pseudorandom integer within [0, upper) (exclusive upper bound). upper may be negative, in which case the output range is (upper, 0].

Returns
A pseudorandom integer greater than or equal to 0 and less than upper.

◆ fastRand() [4/4]

template<std::floating_point T>
T lmms::fastRand ( T upper)
inlinenoexcept

Returns a pseudorandom number within [0, upper) (exclusive upper bound).

Returns
A pseudorandom number greater than or equal to 0 and less upper.

◆ fastRandInc() [1/4]

template<typename T>
auto lmms::fastRandInc ( T from,
T to )
inlinenoexcept

Returns a pseudorandom integer within [from, to] (inclusive upper bound). This function does not require the parameters to be in the proper order. fastRand(a, b) behaves identically to fastRand(b, a).

Returns
A pseudorandom integer greater than or equal to from and less than or equal to to.

◆ fastRandInc() [2/4]

template<std::signed_integral T>
T lmms::fastRandInc ( T upper)
inlinenoexcept

Returns a pseudorandom integer within [0, upper] (inclusive upper bound). upper may be negative, in which case the output range is [upper, 0].

Returns
A pseudorandom integer greater than or equal to 0 and less than or equal to upper.

◆ fastRandInc() [3/4]

template<std::unsigned_integral T>
T lmms::fastRandInc ( T upper)
inlinenoexcept

Returns a pseudorandom integer within [0, upper] (inclusive upper bound).

Returns
A pseudorandom integer greater than or equal to 0 and less than or equal to upper.

◆ fastRandInc() [4/4]

template<std::floating_point T>
T lmms::fastRandInc ( T upper)
inlinenoexcept

Returns a pseudorandom number within [0, upper] (inclusive upper bound).

Returns
A pseudorandom number greater than or equal to 0 and less than or equal to upper.

◆ fileToDescriptor()

int lmms::fileToDescriptor ( std::FILE * file,
bool closeFile = true )
inline

Returns the POSIX file descriptor of the given FILE.

◆ find_occurances()

size_t lmms::find_occurances ( const std::string & haystack,
const char *const needle )

◆ findIds()

void lmms::findIds ( const QDomElement & elem,
QList< jo_id_t > & idList )
static

◆ fixAutomationPattern()

void lmms::fixAutomationPattern ( QDomElement & automationPattern)
static

Helper method that fixes the values and out values for an automation pattern.

Parameters
automationPatternThe automation pattern to be fixed.

◆ fixAutomationTracks()

void lmms::fixAutomationTracks ( QDomElement & song,
std::set< unsigned int > const & automatedBaseNoteIds )
static

◆ fixInstrumentBaseNoteAndCollectIds()

void lmms::fixInstrumentBaseNoteAndCollectIds ( QDomElement & instrument,
std::set< unsigned int > & automatedBaseNoteIds )
static

◆ fixNotePatterns()

void lmms::fixNotePatterns ( QDomNodeList & patterns)
static

◆ fixTrack()

void lmms::fixTrack ( QDomElement & track,
std::set< unsigned int > & automatedBaseNoteIds )
static

◆ fopenUtf8()

std::FILE * lmms::fopenUtf8 ( const std::string & filename,
const char * mode )
inline

std::fopen wrapper that expects UTF-8 encoded filename and mode

◆ fraction()

auto lmms::fraction ( std::floating_point auto x)
inlinenoexcept

Returns the fractional part of a float, a value between -1.0f and 1.0f.

fraction( 2.3) => 0.3 fraction(-2.3) => -0.3

Note that if the return value is used as a phase of an oscillator, that the oscillator must support negative phases.

◆ GEN_CC_SLOT() [1/7]

lmms::GEN_CC_SLOT ( updateBandwidth ,
C_bandwidth ,
m_bandwidthModel  )

◆ GEN_CC_SLOT() [2/7]

lmms::GEN_CC_SLOT ( updateFilterFreq ,
C_filtercutoff ,
m_filterFreqModel  )

◆ GEN_CC_SLOT() [3/7]

lmms::GEN_CC_SLOT ( updateFilterQ ,
C_filterq ,
m_filterQModel  )

◆ GEN_CC_SLOT() [4/7]

lmms::GEN_CC_SLOT ( updateFmGain ,
C_fmamp ,
m_fmGainModel  )

◆ GEN_CC_SLOT() [5/7]

lmms::GEN_CC_SLOT ( updatePortamento ,
C_portamento ,
m_portamentoModel  )

◆ GEN_CC_SLOT() [6/7]

lmms::GEN_CC_SLOT ( updateResBandwidth ,
C_resonance_bandwidth ,
m_resBandwidthModel  )

◆ GEN_CC_SLOT() [7/7]

lmms::GEN_CC_SLOT ( updateResCenterFreq ,
C_resonance_center ,
m_resCenterFreqModel  )

◆ GET_INC()

float lmms::GET_INC ( float freq)
inline

◆ getAbsPeakValues()

SampleFrame lmms::getAbsPeakValues ( SampleFrame * buffer,
size_t frames )
inline

◆ getFadeInLength()

f_cnt_t lmms::getFadeInLength ( float maxLength,
f_cnt_t frames,
int zeroCrossings )

◆ getPluginFactory()

LMMS_EXPORT PluginFactory * lmms::getPluginFactory ( )

◆ globalPosition()

QPoint lmms::globalPosition ( const QMouseEvent * me)
inline

globalPosition is a backwards-compatible adapter for QMouseEvent::globalPosition and globalPos functions.

Parameters
me
Returns
the global position of the mouse event

◆ hermiteInterpolate()

float lmms::hermiteInterpolate ( float x0,
float x1,
float x2,
float x3,
float frac_pos )
inline

◆ host_dispatcher()

intptr_t lmms::host_dispatcher ( NativeHostHandle handle,
NativeHostDispatcherOpcode opcode,
int32_t index,
intptr_t value,
void * ptr,
float opt )
static

◆ host_get_buffer_size()

uint32_t lmms::host_get_buffer_size ( NativeHostHandle handle)
static

◆ host_get_sample_rate()

double lmms::host_get_sample_rate ( NativeHostHandle handle)
static

◆ host_get_time_info()

const NativeTimeInfo * lmms::host_get_time_info ( NativeHostHandle handle)
static

◆ host_is_offline()

bool lmms::host_is_offline ( NativeHostHandle handle)
static

◆ host_ui_closed()

void lmms::host_ui_closed ( NativeHostHandle handle)
static

◆ host_ui_custom_data_changed()

void lmms::host_ui_custom_data_changed ( NativeHostHandle handle,
const char * key,
const char * value )
static

◆ host_ui_open_file()

const char * lmms::host_ui_open_file ( NativeHostHandle ,
bool isDir,
const char * title,
const char * filter )
static

◆ host_ui_parameter_changed()

void lmms::host_ui_parameter_changed ( NativeHostHandle handle,
uint32_t index,
float value )
static

◆ host_ui_save_file()

const char * lmms::host_ui_save_file ( NativeHostHandle ,
bool isDir,
const char * title,
const char * filter )
static

◆ host_write_midi_event()

bool lmms::host_write_midi_event ( NativeHostHandle ,
const NativeMidiEvent *  )
static

◆ INTAN()

float lmms::INTAN ( AutomationClip::TimemapIterator it)
inline

◆ InterleavedBufferView() [1/2]

lmms::InterleavedBufferView ( const SampleFrame * ,
f_cnt_t  ) -> InterleavedBufferView< const float, 2 >

◆ InterleavedBufferView() [2/2]

lmms::InterleavedBufferView ( SampleFrame * ,
f_cnt_t  ) -> InterleavedBufferView< float, 2 >

◆ INVAL()

float lmms::INVAL ( AutomationClip::TimemapIterator it)
inline

◆ isLittleEndian()

bool lmms::isLittleEndian ( )
inline

◆ iterate_ladspa_ports()

template<class Ftor>
void lmms::iterate_ladspa_ports ( QDomElement & effect,
Ftor & ftor )

Helper function to call a functor for all effect ports' DomElements, providing the functor with lists to add and remove DomElements. Helpful for patching port values from savefiles.

◆ JackMidiProcessCallback()

int lmms::JackMidiProcessCallback ( jack_nframes_t nframes,
void * arg )
static

◆ JackMidiShutdown()

void lmms::JackMidiShutdown ( void * arg)
static

◆ keySequence()

template<typename... Args>
QKeySequence lmms::keySequence ( Args... args)
inline

Combines Qt key and modifier arguments together, replacing A | B which was deprecated in C++20 due to the enums being different types. (P1120R0).

Parameters
argsAny number of Qt::Key, Qt::Modifier, or Qt::KeyboardModifier
Returns
The combination of the given keys/modifiers as a QKeySequence

◆ ladspaKeyToSubPluginKey()

Plugin::Descriptor::SubPluginFeatures::Key lmms::ladspaKeyToSubPluginKey ( const Plugin::Descriptor * _desc,
const QString & _name,
const ladspa_key_t & _key )
inline

◆ lagrangeInterpolate()

float lmms::lagrangeInterpolate ( float v0,
float v1,
float v2,
float v3,
float x )
inline

◆ linearToLogScale()

float lmms::linearToLogScale ( float min,
float max,
float value )
inline

Scales value from logarithmic to linear. Value should be in min-max range.

◆ lmms_plugin_main()

PLUGIN_EXPORT Plugin * lmms::lmms_plugin_main ( Model * parent,
void * data )

◆ LOCKEDTAN()

float lmms::LOCKEDTAN ( AutomationClip::TimemapIterator it)
inline

◆ logToLinearScale()

float lmms::logToLinearScale ( float min,
float max,
float value )
inline

Scales @value from linear to logarithmic. Value should be within [0,1].

◆ lv2_evbuf_begin()

LV2_Evbuf_Iterator lmms::lv2_evbuf_begin ( LV2_Evbuf * evbuf)

Return an iterator to the start of evbuf.

◆ lv2_evbuf_end()

LV2_Evbuf_Iterator lmms::lv2_evbuf_end ( LV2_Evbuf * evbuf)

Return an iterator to the end of evbuf.

◆ lv2_evbuf_free()

void lmms::lv2_evbuf_free ( LV2_Evbuf * evbuf)

Free an event buffer allocated with lv2_evbuf_new.

◆ lv2_evbuf_get()

bool lmms::lv2_evbuf_get ( LV2_Evbuf_Iterator iter,
uint32_t * frames,
uint32_t * type,
uint32_t * size,
uint8_t ** data )

Dereference an event iterator (i.e. get the event currently pointed to). iter must be valid. type Set to the type of the event. size Set to the size of the event. data Set to the contents of the event.

Returns
True on success.

◆ lv2_evbuf_get_buffer()

void * lmms::lv2_evbuf_get_buffer ( LV2_Evbuf * evbuf)

Return the actual buffer implementation. The format of the buffer returned depends on the buffer type.

◆ lv2_evbuf_get_size()

uint32_t lmms::lv2_evbuf_get_size ( LV2_Evbuf * evbuf)

Return the total padded size of the events stored in the buffer.

◆ lv2_evbuf_is_valid()

bool lmms::lv2_evbuf_is_valid ( LV2_Evbuf_Iterator iter)

Check if iter is valid.

Returns
True if iter is valid, otherwise false (past end of buffer)

◆ lv2_evbuf_new()

LV2_Evbuf * lmms::lv2_evbuf_new ( uint32_t capacity,
uint32_t atom_Chunk,
uint32_t atom_Sequence )

Allocate a new, empty event buffer. URIDs for atom:Chunk and atom:Sequence must be passed for LV2_EVBUF_ATOM.

◆ lv2_evbuf_next()

LV2_Evbuf_Iterator lmms::lv2_evbuf_next ( LV2_Evbuf_Iterator iter)

Advance iter forward one event. iter must be valid.

Returns
True if iter is valid, otherwise false (reached end of buffer)

◆ lv2_evbuf_pad_size()

uint32_t lmms::lv2_evbuf_pad_size ( uint32_t size)
inlinestatic

◆ lv2_evbuf_reset()

void lmms::lv2_evbuf_reset ( LV2_Evbuf * evbuf,
bool input )

Clear and initialize an existing event buffer. The contents of buf are ignored entirely and overwritten, except capacity which is unmodified. If input is false and this is an atom buffer, the buffer will be prepared for writing by the plugin. This MUST be called before every run cycle.

◆ lv2_evbuf_write()

bool lmms::lv2_evbuf_write ( LV2_Evbuf_Iterator * iter,
uint32_t frames,
uint32_t type,
uint32_t size,
const uint8_t * data )

Write an event at iter. The event (if any) pointed to by iter will be overwritten, and iter incremented to point to the following event (i.e. several calls to this function can be done in sequence without twiddling iter in-between).

Returns
True if event was written, otherwise false (buffer is full).

◆ mapToMPEG_mode()

MPEG_mode lmms::mapToMPEG_mode ( OutputSettings::StereoMode stereoMode)

◆ maximum() [1/2]

float LMMS_EXPORT lmms::maximum ( const float * abs_spectrum,
unsigned int spec_size )

Returns biggest value from abs_spectrum[spec_size] array.

Returns
-1 on error, 0 on success

◆ maximum() [2/2]

float LMMS_EXPORT lmms::maximum ( const std::vector< float > & abs_spectrum)

◆ nameFilters()

QStringList lmms::nameFilters ( "lib*.so" )

◆ normalize() [1/2]

int LMMS_EXPORT lmms::normalize ( const float * abs_spectrum,
float * norm_spectrum,
unsigned int bin_count,
unsigned int block_size )

Normalize the abs_spectrum array of absolute values to a 0..1 range based on supplied energy and stores it in the norm_spectrum array.

Returns
-1 on error

◆ normalize() [2/2]

int LMMS_EXPORT lmms::normalize ( const std::vector< float > & abs_spectrum,
std::vector< float > & norm_spectrum,
unsigned int block_size )

◆ notEmpty()

int LMMS_EXPORT lmms::notEmpty ( const std::vector< float > & spectrum)

Check if the spectrum contains any non-zero value.

Returns
1 if spectrum contains any non-zero value
0 otherwise

◆ numDigitsAsInt()

int lmms::numDigitsAsInt ( float f)
inline

◆ OFFSET()

float lmms::OFFSET ( AutomationClip::TimemapIterator it)
inline

◆ oneIn()

bool lmms::oneIn ( unsigned chance)
inlinenoexcept

Returns true one in chance times at random.

◆ operator!=()

bool lmms::operator!= ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator+()

auto lmms::operator+ ( Octave octave,
Key key ) -> int
inlineconstexpr

◆ operator-()

PerfTime lmms::operator- ( const PerfTime & lhs,
const PerfTime & rhs )

◆ operator<()

bool lmms::operator< ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator<<() [1/3]

QDataStream & lmms::operator<< ( QDataStream & out,
WaveMipMap & waveMipMap )

◆ operator<<() [2/3]

QDebug lmms::operator<< ( QDebug dbg,
const QDomNode & node )

◆ operator<<() [3/3]

QDebug lmms::operator<< ( QDebug stream,
const PluginIssue & iss )

◆ operator<=()

bool lmms::operator<= ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator==()

bool lmms::operator== ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator>()

bool lmms::operator> ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator>=()

bool lmms::operator>= ( const ProjectVersion & v1,
const ProjectVersion & v2 )
inline

◆ operator>>()

QDataStream & lmms::operator>> ( QDataStream & in,
WaveMipMap & waveMipMap )

◆ optimal4pInterpolate()

float lmms::optimal4pInterpolate ( float v0,
float v1,
float v2,
float v3,
float x )
inline

◆ optimalInterpolate()

float lmms::optimalInterpolate ( float v0,
float v1,
float x )
inline

◆ Oscillator::getSample< Oscillator::WaveShape::Exponential >()

◆ Oscillator::getSample< Oscillator::WaveShape::MoogSaw >()

◆ Oscillator::getSample< Oscillator::WaveShape::Saw >()

◆ Oscillator::getSample< Oscillator::WaveShape::Sine >()

◆ Oscillator::getSample< Oscillator::WaveShape::Square >()

◆ Oscillator::getSample< Oscillator::WaveShape::Triangle >()

◆ Oscillator::getSample< Oscillator::WaveShape::UserDefined >()

◆ Oscillator::getSample< Oscillator::WaveShape::WhiteNoise >()

◆ OUTTAN()

float lmms::OUTTAN ( AutomationClip::TimemapIterator it)
inline

◆ OUTVAL()

float lmms::OUTVAL ( AutomationClip::TimemapIterator it)
inline

◆ panningToMidi()

int lmms::panningToMidi ( panning_t _p)
inline

◆ panningToVolumeVector()

StereoVolumeVector lmms::panningToVolumeVector ( panning_t _p,
float _scale = 1.0f )
inline

◆ pluginGetValues()

AutoLilvNodes lmms::pluginGetValues ( const LilvPlugin * plug,
const char * valueUri )

◆ portName() [1/2]

QString lmms::portName ( snd_seq_client_info_t * _cinfo,
snd_seq_port_info_t * _pinfo )
static

◆ portName() [2/2]

QString lmms::portName ( snd_seq_t * _seq,
const snd_seq_addr_t * _addr )
static

◆ POS()

int lmms::POS ( AutomationClip::TimemapIterator it)
inline

◆ position() [1/2]

QPoint lmms::position ( const QDropEvent * de)
inline

position is a backwards-compatible adapter for QDropEvent::position and pos functions.

Parameters
me
Returns
the position of the drop event

◆ position() [2/2]

QPoint lmms::position ( const QMouseEvent * me)
inline

position is a backwards-compatible adapter for QMouseEvent::position and pos functions.

Parameters
me
Returns
the position of the mouse event

◆ positionF()

QPointF lmms::positionF ( const QMouseEvent * me)
inline

positionF is a backwards-compatible adapter for QMouseEvent::position and localPos functions.

Parameters
me
Returns
the position of the mouse event

◆ positiveFraction()

float lmms::positiveFraction ( float x)
inline

◆ precomputeWindow()

int LMMS_EXPORT lmms::precomputeWindow ( float * window,
unsigned int length,
FFTWindow type,
bool normalized = true )

Precompute a window function for later real-time use. Set normalized to false if you do not want to apply amplitude correction.

Returns
-1 on error

◆ QSTR_TO_STDSTR()

std::string lmms::QSTR_TO_STDSTR ( QString const & qstr)
inline

◆ qStringFromPluginNode()

QString lmms::qStringFromPluginNode ( const LilvPlugin * plug,
LilvNode *(* getFunc )(const LilvPlugin *) )

Return QString from a plugin's node, everything will be freed automatically

Parameters
plugThe plugin where the node is
getFuncThe function to return the node from the plugin

◆ qStringFromPortName()

QString lmms::qStringFromPortName ( const LilvPlugin * plug,
const LilvPort * port )

Return port name as QString, everything will be freed automatically.

◆ rotateLeft()

unsigned int lmms::rotateLeft ( unsigned int x,
const int b )
inline

◆ roundAt()

template<class T>
void lmms::roundAt ( T & value,
const T & where,
const T & stepSize )
static

Round value to where depending on step size.

◆ safeAmpToDbfs()

float lmms::safeAmpToDbfs ( float amp)
inline

Converts linear amplitude (0-1.0) to dBFS scale. Handles zeroes as -inf.

Parameters
ampLinear amplitude, where 1.0 = 0dBFS.
Returns
Amplitude in dBFS. -inf for 0 amplitude.

◆ safeDbfsToAmp()

float lmms::safeDbfsToAmp ( float dbfs)
inline

Converts dBFS-scale to linear amplitude with 0dBFS = 1.0. Handles infinity as zero.

Parameters
dbfsThe dBFS value to convert: all infinites are treated as -inf and result in 0
Returns
Linear amplitude

◆ saveEnvelopeAndLFOParameters()

void lmms::saveEnvelopeAndLFOParameters ( EnvelopeAndLfoParameters & p,
const QString & tagName,
QDomDocument & _doc,
QDomElement & _this )
static

◆ setContent() [1/2]

bool lmms::setContent ( QDomDocument & doc,
const QByteArray & text,
QString * errorMsg = nullptr,
int * errorLine = nullptr,
int * errorColumn = nullptr )
inline

Backwards-compatible adapter for QDomDocument::setContent.

◆ setContent() [2/2]

bool lmms::setContent ( QDomDocument & doc,
QIODevice * dev,
bool namespaceProcessing,
QString * errorMsg = nullptr,
int * errorLine = nullptr,
int * errorColumn = nullptr )
inline

Backwards-compatible adapter for QDomDocument::setContent.

◆ setup_widget_on_devices_change()

void lmms::setup_widget_on_devices_change ( SoundIo * soundio)
static

◆ setupWidgetOnBackendDisconnect()

void lmms::setupWidgetOnBackendDisconnect ( SoundIo * soundio,
int err )
static

◆ sid_fillbuffer()

int lmms::sid_fillbuffer ( unsigned char * sidreg,
reSID::SID * sid,
int tdelta,
short * ptr,
int samples )
static

◆ sign()

template<typename T>
T lmms::sign ( T val)
constexprnoexcept

returns +1 if val >= 0, else -1

◆ signedPowf()

float lmms::signedPowf ( float v,
float e )
inline

Exponential function that deals with negative bases.

◆ sqrt_neg()

float lmms::sqrt_neg ( float val)
inline

if val >= 0.0f, returns sqrt(val), else: -sqrt(-val)

◆ staticMap()

LV2_URID lmms::staticMap ( LV2_URID_Map_Handle handle,
const char * uri )
static

◆ staticUnmap()

const char * lmms::staticUnmap ( LV2_URID_Unmap_Handle handle,
LV2_URID urid )
static

◆ staticWorkerRespond()

LV2_Worker_Status lmms::staticWorkerRespond ( LV2_Worker_Respond_Handle handle,
uint32_t size,
const void * data )
static

◆ stdStringFromPortName()

std::string lmms::stdStringFromPortName ( const LilvPlugin * plug,
const LilvPort * port )

Return port name as std::string, everything will be freed automatically.

◆ stream_state_callback()

void lmms::stream_state_callback ( pa_stream * s,
void * userdata )
static

◆ stream_write_callback()

void lmms::stream_write_callback ( pa_stream * s,
size_t length,
void * userdata )
static

◆ swap()

void lmms::swap ( SampleBuffer & first,
SampleBuffer & second )
noexcept

◆ swap16IfBE()

int16_t lmms::swap16IfBE ( int16_t i)
inline

◆ swap32IfBE()

int32_t lmms::swap32IfBE ( int32_t i)
inline

◆ toInterleaved()

template<class T, ch_cnt_t inputs, ch_cnt_t outputs>
void lmms::toInterleaved ( PlanarBufferView< T, inputs > src,
InterleavedBufferView< std::remove_const_t< T >, outputs > dst )
constexpr

Converts planar buffers to interleaved buffers.

◆ toPlanar()

template<class T, ch_cnt_t inputs, ch_cnt_t outputs>
void lmms::toPlanar ( InterleavedBufferView< T, inputs > src,
PlanarBufferView< std::remove_const_t< T >, outputs > dst )
constexpr

Converts interleaved buffers to planar buffers.

◆ typeId()

QMetaType::Type lmms::typeId ( const QVariant & variant)
inline

typeId is a backwards-compatible adapter for QVariant::typeId and type functions.

Parameters
variant
Returns
the type id of the variant

◆ upgradeElement_1_2_0_rc2_42()

void lmms::upgradeElement_1_2_0_rc2_42 ( QDomElement & el)
static

◆ use_this_or() [1/2]

QString lmms::use_this_or ( QString this_param,
QString or_param )

◆ use_this_or() [2/2]

template<class T>
T lmms::use_this_or ( T this_param,
T or_param )

◆ writeToByteSeq() [1/2]

std::size_t LMMS_EXPORT lmms::writeToByteSeq ( const class MidiEvent & ev,
uint8_t * data,
std::size_t bufsize )

Write MIDI event into byte sequence.

Conforming to http://lv2plug.in/ns/ext/midi#MidiEvent

Parameters
dataPointer to the target buffer for the byte sequence. Must point to existing memory with at least 3 bytes size.
bufsizeAvailable size of the target buffer.
Returns
Used size of the target buffer, or 0 if the MidiEvent could not be converted.

◆ writeToByteSeq() [2/2]

std::size_t lmms::writeToByteSeq ( const MidiEvent & ev,
uint8_t * data,
std::size_t bufsize )

◆ zeroSampleFrames()

void lmms::zeroSampleFrames ( SampleFrame * buffer,
size_t frames )
inline

Variable Documentation

◆ A1_OSC

const int lmms::A1_OSC = 0

◆ A2_OSC

const int lmms::A2_OSC = 1

◆ adlib_opadd

const auto lmms::adlib_opadd = std::array<unsigned int, OPL2_VOICES>{0x00, 0x01, 0x02, 0x08, 0x09, 0x0A, 0x10, 0x11, 0x12}

◆ amplifier_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::amplifier_plugin_descriptor
Initial value:
=
{
"Amplifier",
QT_TRANSLATE_NOOP("PluginBrowser", "A native amplifier plugin"),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}
#define LMMS_STRINGIFY(s)
Definition LmmsCommonMacros.h:31
Definition embed.h:73
@ Effect
Definition Plugin.h:78
#define PLUGIN_NAME(name)
Definition lilv_test.c:189

◆ analyzer_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::analyzer_plugin_descriptor
Initial value:
=
{
"spectrumanalyzer",
"Spectrum Analyzer",
QT_TRANSLATE_NOOP("PluginBrowser", "A graphical spectrum analyzer."),
"Martin Pavelek <he29/dot/HS/at/gmail/dot/com>",
0x0112,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ ARANGE_AUDIBLE_END

auto lmms::ARANGE_AUDIBLE_END = 0
inlineconstexpr

◆ ARANGE_AUDIBLE_START

auto lmms::ARANGE_AUDIBLE_START = -50
inlineconstexpr

◆ ARANGE_EXTENDED_END

auto lmms::ARANGE_EXTENDED_END = 20
inlineconstexpr

◆ ARANGE_EXTENDED_START

auto lmms::ARANGE_EXTENDED_START = -80
inlineconstexpr

◆ ARANGE_LOUD_END

auto lmms::ARANGE_LOUD_END = 0
inlineconstexpr

◆ ARANGE_LOUD_START

auto lmms::ARANGE_LOUD_START = -30
inlineconstexpr

◆ ARANGE_SILENT_END

auto lmms::ARANGE_SILENT_END = -10
inlineconstexpr

◆ ARANGE_SILENT_START

auto lmms::ARANGE_SILENT_START = -60
inlineconstexpr

◆ attackTime

auto lmms::attackTime
static
Initial value:
= std::array<const char*, 16>{ "2 ms", "8 ms", "16 ms", "24 ms",
"38 ms", "56 ms", "68 ms", "80 ms",
"100 ms", "250 ms", "500 ms", "800 ms",
"1 s", "3 s", "5 s", "8 s" }

◆ audiofileprocessor_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::audiofileprocessor_plugin_descriptor
Initial value:
=
{
"AudioFileProcessor",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Simple sampler with various settings for "
"using samples (e.g. drums) in an "
"instrument-track" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
"wav,ogg,ds,spx,au,voc,aif,aiff,flac,raw"
",mp3"
,
nullptr,
}
@ Instrument
Definition Plugin.h:77

◆ B1_OSC

const int lmms::B1_OSC = 2

◆ B2_OSC

const int lmms::B2_OSC = 3

◆ bassbooster_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::bassbooster_plugin_descriptor
Initial value:
=
{
"BassBooster",
QT_TRANSLATE_NOOP( "PluginBrowser", "Boost your bass the fast and simple way" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ bitcrush_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::bitcrush_plugin_descriptor
Initial value:
=
{
"Bitcrush",
QT_TRANSLATE_NOOP( "PluginBrowser", "An oversampling bitcrusher" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ bitinvader_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::bitinvader_plugin_descriptor
Initial value:
=
{
"BitInvader",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Customizable wavetable synthesizer" ),
"Andreas Brandmaier <andreas/at/brandmaier/dot/de>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ BUFFER_SIZE

const int lmms::BUFFER_SIZE = 50*1024

◆ BYTES_PER_FRAME

int lmms::BYTES_PER_FRAME = sizeof(SampleFrame)
constexpr

◆ BYTES_PER_INT_SAMPLE

int lmms::BYTES_PER_INT_SAMPLE = sizeof(int_sample_t)
constexpr

◆ BYTES_PER_SAMPLE

int lmms::BYTES_PER_SAMPLE = sizeof(sample_t)
constexpr

◆ carlapatchbay_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::carlapatchbay_plugin_descriptor
Initial value:
=
{
"Carla Patchbay",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Carla Patchbay Instrument" ),
"falkTX <falktx/at/falktx.com>",
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}
#define CARLA_VERSION_HEX
Definition CarlaDefines.h:30

◆ carlarack_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::carlarack_plugin_descriptor
Initial value:
=
{
"Carla Rack",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Carla Rack Instrument" ),
"falkTX <falktx/at/falktx.com>",
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ CENT

const float lmms::CENT = 1.0f / 1200.0f

◆ CentsPerSemitone

pitch_t lmms::CentsPerSemitone = 100
constexpr

◆ chkOn

int lmms::chkOn[8]

◆ clippoint

short lmms::clippoint

◆ COMP_LOG

float lmms::COMP_LOG = -2.2f
constexpr

◆ COMP_NOISE_FLOOR

float lmms::COMP_NOISE_FLOOR = 0.000001f
constexpr

◆ compressor_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::compressor_plugin_descriptor
Initial value:
=
{
"Compressor",
QT_TRANSLATE_NOOP("PluginBrowser", "A dynamic range compressor."),
"Lost Robot <r94231@gmail.com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ crossovereq_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::crossovereq_plugin_descriptor
Initial value:
=
{
"Crossover Equalizer",
QT_TRANSLATE_NOOP( "PluginBrowser", "A 4-band Crossover Equalizer" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ CUT_FREQ_MULTIPLIER

const float lmms::CUT_FREQ_MULTIPLIER = 6000.0f

◆ CUTOFF_RATIO

const float lmms::CUTOFF_RATIO = 0.353553391f

◆ DcRemovalHz

float lmms::DcRemovalHz = 7.f
constexpr

◆ DD

short lmms::DD[1200]

◆ decRelTime

auto lmms::decRelTime
static
Initial value:
= std::array<const char*, 16>{ "6 ms", "24 ms", "48 ms", "72 ms",
"114 ms", "168 ms", "204 ms", "240 ms",
"300 ms", "750 ms", "1.5 s", "2.4 s",
"3 s", "9 s", "15 s", "24 s" }

◆ DEFAULT_BUFFER_SIZE

f_cnt_t lmms::DEFAULT_BUFFER_SIZE = 256
constexpr

◆ DEFAULT_CHANNELS

auto lmms::DEFAULT_CHANNELS = ch_cnt_t{2}
inlineconstexpr

◆ DEFAULT_THEME_PATH

const QString lmms::DEFAULT_THEME_PATH = "themes/default/"

◆ DEFAULT_TRACK_HEIGHT

const int lmms::DEFAULT_TRACK_HEIGHT = 32

◆ DefaultBaseFreq

const float lmms::DefaultBaseFreq = 440.f

◆ DefaultBaseKey

const int lmms::DefaultBaseKey = Octave::Octave_4 + Key::A

◆ DefaultBeatsPerBar

const int lmms::DefaultBeatsPerBar = DefaultTicksPerBar / DefaultStepsPerBar

◆ DefaultKey

const int lmms::DefaultKey = DefaultOctave + Key::A

◆ DefaultMiddleKey

const int lmms::DefaultMiddleKey = Octave::Octave_4 + Key::C

◆ defaultNormalizationFactor

const float lmms::defaultNormalizationFactor = 1.0f
static

◆ DefaultOctave

auto lmms::DefaultOctave = Octave::Octave_4
constexpr

◆ DefaultPanning

panning_t lmms::DefaultPanning = PanningCenter
inlineconstexpr

◆ DefaultPitch

pitch_t lmms::DefaultPitch = 0
constexpr

◆ DefaultStepsPerBar

const int lmms::DefaultStepsPerBar = 16

◆ DefaultTempo

const bpm_t lmms::DefaultTempo = 140

◆ DefaultTicksPerBar

const int lmms::DefaultTicksPerBar = 192

◆ DefaultVolume

volume_t lmms::DefaultVolume = 100
constexpr

◆ delay_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::delay_plugin_descriptor
Initial value:
=
{
"Delay",
QT_TRANSLATE_NOOP( "PluginBrowser", "A native delay plugin" ),
"Dave French <contact/dot/dave/dot/french3/at/googlemail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ dENV

const int lmms::dENV = 3

◆ DF

float lmms::DF[1200]

◆ dispersion_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::dispersion_plugin_descriptor
Initial value:
=
{
"Dispersion",
QT_TRANSLATE_NOOP("PluginBrowser", "An all-pass filter allowing for extremely high orders."),
"Lost Robot <r94231/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr
}

◆ DITHER_AMP

const float lmms::DITHER_AMP = 1.f / 60.f

◆ DNF_LOG

const double lmms::DNF_LOG = -1.0

◆ dualfilter_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::dualfilter_plugin_descriptor
Initial value:
=
{
"Dual Filter",
QT_TRANSLATE_NOOP( "PluginBrowser", "A Dual filter plugin" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ dummyLoader

PixmapLoader lmms::dummyLoader
static

◆ dummyPluginDescriptor

Plugin::Descriptor lmms::dummyPluginDescriptor
static
Initial value:
=
{
"dummy",
"dummy",
QT_TRANSLATE_NOOP( "PluginBrowser", "no description" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
nullptr
}
@ Undefined
Definition Plugin.h:85
static PixmapLoader dummyLoader
Definition Plugin.cpp:43

◆ DUTY_CYCLE

const float lmms::DUTY_CYCLE[4] = { 0.125, 0.25, 0.5, 0.75 }

◆ DYN_NOISE_FLOOR

const float lmms::DYN_NOISE_FLOOR = 0.00001f

◆ DynamicChannelCount

auto lmms::DynamicChannelCount = static_cast<ch_cnt_t>(-1)
inlineconstexpr

Use when the number of channels is not known at compile time.

◆ dynamicsprocessor_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::dynamicsprocessor_plugin_descriptor
Initial value:
=
{
"Dynamics Processor",
QT_TRANSLATE_NOOP( "PluginBrowser",
"plugin for processing dynamics in a flexible way" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ ENV

const int lmms::ENV = 1

◆ envData

float lmms::envData[8][6]

◆ envpts

float lmms::envpts[8][3][32]

◆ EO_ID_MSB

const int lmms::EO_ID_MSB = 1 << 23
static

Avoid clashes between loaded IDs (have the bit cleared) and newly created IDs (have the bit set)

◆ eq_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::eq_plugin_descriptor
Initial value:
=
{
"Equalizer",
QT_TRANSLATE_NOOP( "PluginBrowser", "A native eq plugin" ),
"Dave French <contact/dot/dave/dot/french3/at/googlemail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ EventPollTimeOut

const int lmms::EventPollTimeOut = 250

◆ exp2_wave_func

freefunc1<float,exp2_wave,true> lmms::exp2_wave_func
static

◆ exp_wave_func

freefunc1<float,exp_wave,true> lmms::exp_wave_func
static

◆ F_EPSILON

float lmms::F_EPSILON = 1.0e-10f
inlineconstexpr

◆ FFT_BLOCK_SIZES

const std::vector<unsigned int> lmms::FFT_BLOCK_SIZES = {256, 512, 1024, 2048, 4096, 8192, 16384}

◆ FFT_BUFFER_SIZE

auto lmms::FFT_BUFFER_SIZE = std::size_t{2048}
constexpr

◆ filename

QString lmms::filename

◆ FILENAME_FILTER

char const* const lmms::FILENAME_FILTER = "[\\0000-\x1f\"*/:<>?\\\\|\x7f]"

◆ FirstOctave

const int lmms::FirstOctave = -1

◆ flanger_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::flanger_plugin_descriptor
Initial value:
=
{
"Flanger",
QT_TRANSLATE_NOOP( "PluginBrowser", "A native flanger plugin" ),
"Dave French <contact/dot/dave/dot/french3/at/googlemail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ FM_AMOUNT

const float lmms::FM_AMOUNT = 0.25f

◆ FRANGE_AUDIBLE_END

auto lmms::FRANGE_AUDIBLE_END = 20000
inlineconstexpr

◆ FRANGE_AUDIBLE_START

auto lmms::FRANGE_AUDIBLE_START = 20
inlineconstexpr

◆ FRANGE_BASS_END

auto lmms::FRANGE_BASS_END = 300
inlineconstexpr

◆ FRANGE_BASS_START

auto lmms::FRANGE_BASS_START = 20
inlineconstexpr

◆ FRANGE_HIGH_END

auto lmms::FRANGE_HIGH_END = 20000
inlineconstexpr

◆ FRANGE_HIGH_START

auto lmms::FRANGE_HIGH_START = 4000
inlineconstexpr

◆ FRANGE_MIDS_END

auto lmms::FRANGE_MIDS_END = 5000
inlineconstexpr

◆ FRANGE_MIDS_START

auto lmms::FRANGE_MIDS_START = 200
inlineconstexpr

◆ freeboy_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::freeboy_plugin_descriptor
Initial value:
=
{
"FreeBoy",
QT_TRANSLATE_NOOP( "PluginBrowser", "Emulation of GameBoy (TM) APU" ),
"Attila Herman <attila589/at/gmail.com>"
"Csaba Hruska <csaba.hruska/at/gmail.com>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
}

◆ frequencyshifter_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::frequencyshifter_plugin_descriptor
Initial value:
=
{
"Frequency Shifter",
QT_TRANSLATE_NOOP("PluginBrowser", "A frequency shifter (not a pitch shifter) and barberpole phaser plugin"),
"Lost Robot <r94231/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ GENERATOR_BASE_X

const int lmms::GENERATOR_BASE_X = 110

◆ GENERATOR_BASE_Y

const int lmms::GENERATOR_BASE_Y = 25

◆ GENERATOR_BUTTON_WIDTH

const int lmms::GENERATOR_BUTTON_WIDTH = 16

◆ GIG_PATH

const QString lmms::GIG_PATH = "samples/gig/"

◆ gigplayer_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::gigplayer_plugin_descriptor
Initial value:
=
{
"GIG Player",
QT_TRANSLATE_NOOP( "PluginBrowser", "Player for GIG files" ),
"Garrett Wilson <g/at/floft/dot/net>",
0x0100,
new PluginPixmapLoader( "logo" ),
"gig",
nullptr,
}

◆ GlideSnagRadius

double lmms::GlideSnagRadius = 0.001
constexpr

◆ granularpitchshifter_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::granularpitchshifter_plugin_descriptor
Initial value:
=
{
"Granular Pitch Shifter",
QT_TRANSLATE_NOOP("PluginBrowser", "Granular pitch shifter"),
"Lost Robot <r94231/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ GRAPHLEN

const int lmms::GRAPHLEN = 220

◆ harmonic_cent_func

freefunc1<float,harmonic_cent,true> lmms::harmonic_cent_func
static

◆ HARMONIC_NAMES

const QString lmms::HARMONIC_NAMES[NUM_HARMONICS]
Initial value:
= {
"Octave below",
"Fifth below",
"Fundamental",
"2nd harmonic",
"3rd harmonic",
"4th harmonic",
"5th harmonic",
"6th harmonic",
"7th harmonic",
"8th harmonic",
"9th harmonic",
"10th harmonic",
"11th harmonic",
"12th harmonic",
"13th harmonic",
"14th harmonic",
"15th harmonic",
"16th harmonic"
}

◆ harmonic_semitone_func

freefunc1<float,harmonic_semitone,true> lmms::harmonic_semitone_func
static

◆ hydrogenimport_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::hydrogenimport_plugin_descriptor
Initial value:
=
{
"Hydrogen Import",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Filter for importing Hydrogen files into LMMS" ),
"frank mather",
0x0100,
nullptr,
nullptr,
nullptr,
}
@ ImportFilter
Definition Plugin.h:79

◆ INITIAL_NPH_CACHE

const int lmms::INITIAL_NPH_CACHE = 256

◆ InputDeviceSDL

auto lmms::InputDeviceSDL = "inputdevice"
constexpr

◆ ins

Instrument* lmms::ins

◆ INTEGRATOR

const float lmms::INTEGRATOR = 3.0f / 7.0f

◆ JACK_MIDI_BUFFER_MAX

size_t lmms::JACK_MIDI_BUFFER_MAX = 64
constexpr

◆ KBD_COPY_MODIFIER

Qt::KeyboardModifier lmms::KBD_COPY_MODIFIER
constexpr
Initial value:
=
Qt::ControlModifier

◆ KEY_ORDER

◆ KeysPerOctave

const int lmms::KeysPerOctave = 12

◆ kicker_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::kicker_plugin_descriptor
Initial value:
=
{
"Kicker",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Versatile drum synthesizer" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ KNOB_BLOCK_SIZE_X

const int lmms::KNOB_BLOCK_SIZE_X = 40

◆ KNOB_BLOCK_SIZE_Y

const int lmms::KNOB_BLOCK_SIZE_Y = 40

◆ KNOBS_BASE_X

const int lmms::KNOBS_BASE_X = 20

◆ KNOBS_BASE_Y

const int lmms::KNOBS_BASE_Y = 50

◆ LADSPA_PATH

const QString lmms::LADSPA_PATH ="plugins/ladspa/"

◆ LADSPA_PATH_SEPERATOR

char lmms::LADSPA_PATH_SEPERATOR
constexpr
Initial value:
=
':'

◆ ladspabrowser_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::ladspabrowser_plugin_descriptor
Initial value:
=
{
"LADSPA Plugin Browser",
QT_TRANSLATE_NOOP( "PluginBrowser",
"List installed LADSPA plugins" ),
"Danny McRae <khjklujn/at/users.sourceforge.net>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
nullptr,
}
@ Tool
Definition Plugin.h:81

◆ ladspaeffect_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::ladspaeffect_plugin_descriptor
Initial value:
=
{
"LADSPA",
QT_TRANSLATE_NOOP( "PluginBrowser",
"plugin for using arbitrary LADSPA-effects "
"inside LMMS." ),
"Danny McRae <khjklujn/at/users.sourceforge.net>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
}
Definition LadspaSubPluginFeatures.h:39

◆ lb302_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::lb302_plugin_descriptor
Initial value:
=
{
"LB302",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Incomplete monophonic imitation TB-303" ),
"Paul Giblock <pgib/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ LFSR_INIT

const uint16_t lmms::LFSR_INIT = 1

◆ LOCALE_PATH

const QString lmms::LOCALE_PATH = "locale/"

◆ LOMM_AUTO_TIME_ADJUST

float lmms::LOMM_AUTO_TIME_ADJUST = 5.f
inlineconstexpr

◆ LOMM_DISPLAY_DB_PER_PIXEL

float lmms::LOMM_DISPLAY_DB_PER_PIXEL = (LOMM_DISPLAY_MAX - LOMM_DISPLAY_MIN) / LOMM_DISPLAY_WIDTH
inlineconstexpr

◆ LOMM_DISPLAY_HEIGHT

float lmms::LOMM_DISPLAY_HEIGHT = 13
inlineconstexpr

◆ LOMM_DISPLAY_MAX

float lmms::LOMM_DISPLAY_MAX = 0
inlineconstexpr

◆ LOMM_DISPLAY_MIN

float lmms::LOMM_DISPLAY_MIN = -72
inlineconstexpr

◆ LOMM_DISPLAY_WIDTH

float lmms::LOMM_DISPLAY_WIDTH = 150
inlineconstexpr

◆ LOMM_DISPLAY_X

float lmms::LOMM_DISPLAY_X = 125
inlineconstexpr

◆ LOMM_DISPLAY_Y

float lmms::LOMM_DISPLAY_Y[6] = {24, 41, 106, 123, 186, 203}
inlineconstexpr

◆ LOMM_MAX_LOOKAHEAD

float lmms::LOMM_MAX_LOOKAHEAD = 20.f
inlineconstexpr

◆ LOMM_MIN_FLOOR

float lmms::LOMM_MIN_FLOOR = 0.00012589f
inlineconstexpr

◆ lomm_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::lomm_plugin_descriptor
Initial value:
=
{
"LOMM",
QT_TRANSLATE_NOOP("PluginBrowser", "Upwards/downwards multiband compression plugin powered by the eldritch elder god LOMMUS."),
"Lost Robot <r94231/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr
}

◆ LOWEST_LOG_FREQ

auto lmms::LOWEST_LOG_FREQ = 5
inlineconstexpr

◆ lv2effect_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::lv2effect_plugin_descriptor
Initial value:
=
{
"LV2",
QT_TRANSLATE_NOOP("PluginBrowser",
"plugin for using arbitrary LV2-effects inside LMMS."),
"Johannes Lorenz <jlsf2013$$$users.sourceforge.net, $$$=@>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
}
Definition Lv2SubPluginFeatures.h:44

◆ lv2instrument_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::lv2instrument_plugin_descriptor
Initial value:
=
{
"LV2",
QT_TRANSLATE_NOOP("PluginBrowser",
"plugin for using arbitrary LV2 instruments inside LMMS."),
"Johannes Lorenz <jlsf2013$$$users.sourceforge.net, $$$=@>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
}

◆ MALLETS_PRESET_VERSION

const int lmms::MALLETS_PRESET_VERSION = 1
static

◆ malletsstk_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::malletsstk_plugin_descriptor
Initial value:
=
{
"Mallets",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Tuneful things to bang on" ),
"Danny McRae <khjklujn/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ MAX

const int lmms::MAX = 0

◆ MAX_BANDS

const int lmms::MAX_BANDS = 2048

◆ MAX_DISPERSION_FILTERS

int lmms::MAX_DISPERSION_FILTERS = 999
inlineconstexpr

◆ MAX_FREQ

const float lmms::MAX_FREQ = 48000.0f

◆ MaxChannelsPerAudioBuffer

auto lmms::MaxChannelsPerAudioBuffer = ch_cnt_t{128}
inlineconstexpr

◆ MaxDetuning

const float lmms::MaxDetuning = 5 * 12.0f

◆ MaxGroupsPerAudioBuffer

auto lmms::MaxGroupsPerAudioBuffer = group_cnt_t{MaxChannelsPerAudioBuffer / 2}
inlineconstexpr

◆ MAXIMUM_BUFFER_SIZE

f_cnt_t lmms::MAXIMUM_BUFFER_SIZE = 4096
constexpr

◆ MaxKeymapCount

unsigned lmms::MaxKeymapCount = 10
inlineconstexpr

number of keyboard mappings per project

◆ MAXLEN

int lmms::MAXLEN = 11
constexpr

◆ MaxPitchDefault

pitch_t lmms::MaxPitchDefault = CentsPerSemitone
constexpr

◆ MaxScaleCount

unsigned lmms::MaxScaleCount = 10
inlineconstexpr

number of scales per project

◆ MaxSongLength

const tick_t lmms::MaxSongLength = 9999 * DefaultTicksPerBar

◆ MAXTBL

int lmms::MAXTBL = 23
constexpr

◆ MaxTempo

const bpm_t lmms::MaxTempo = 999

◆ MAXTLEN

int lmms::MAXTLEN = 3 << MAXLEN
constexpr

◆ MaxVolume

volume_t lmms::MaxVolume = 200
constexpr

◆ mem_b

float lmms::mem_b = 1.0f

◆ mem_n

float lmms::mem_n = 1.0f

◆ mem_o

float lmms::mem_o = 1.0f

◆ mem_t

float lmms::mem_t = 1.0f

◆ mem_time

float lmms::mem_time = 1.0f

◆ mem_tune

float lmms::mem_tune = 1.0f

◆ MidiChannelCount

const int lmms::MidiChannelCount = 16

◆ MidiControllerCount

const int lmms::MidiControllerCount = 128

◆ MidiDefaultVelocity

const int lmms::MidiDefaultVelocity = MidiMaxVelocity / 2

◆ midiexport_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::midiexport_plugin_descriptor
Initial value:
=
{
"MIDI Export",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Filter for exporting MIDI-files from LMMS" ),
"Mohamed Abdel Maksoud <mohamed at amaksoud.com> and "
"Hyunjin Song <tteu.ingog/at/gmail.com>",
0x0100,
nullptr,
nullptr,
nullptr,
}
@ ExportFilter
Definition Plugin.h:80

◆ midiimport_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::midiimport_plugin_descriptor
Initial value:
=
{
"MIDI Import",
QT_TRANSLATE_NOOP("PluginBrowser", "Filter for importing MIDI-files into LMMS"),
"Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>",
0x0100,
nullptr,
nullptr,
nullptr,
}

◆ MidiMaxControllerValue

const int lmms::MidiMaxControllerValue = 127

◆ MidiMaxKey

const int lmms::MidiMaxKey = 127

◆ MidiMaxPanning

const int lmms::MidiMaxPanning = 127

◆ MidiMaxPitchBend

const int lmms::MidiMaxPitchBend = 16383

◆ MidiMaxVelocity

const int lmms::MidiMaxVelocity = 127

◆ MidiMinPanning

const int lmms::MidiMinPanning = -128

◆ MidiMinPitchBend

const int lmms::MidiMinPitchBend = 0

◆ MidiProgramCount

const int lmms::MidiProgramCount = 128

◆ MIN_FREQ

const float lmms::MIN_FREQ = 18.0f

◆ MIN_WLEN

const int lmms::MIN_WLEN = 4

◆ MINIMAL_TRACK_HEIGHT

const int lmms::MINIMAL_TRACK_HEIGHT = 32

The minimum track height in pixels

Tracks can be resized by shift-dragging anywhere inside the track display. This sets the minimum size in pixels for a track.

◆ MINIMUM_BUFFER_SIZE

f_cnt_t lmms::MINIMUM_BUFFER_SIZE = 32
constexpr

◆ minimumFrames

const f_cnt_t lmms::minimumFrames = 1

◆ MinPitchDefault

pitch_t lmms::MinPitchDefault = -CentsPerSemitone
constexpr

◆ MinTempo

const bpm_t lmms::MinTempo = 10

◆ MINTLEN

int lmms::MINTLEN = 2 << 0
constexpr

◆ MinVolume

volume_t lmms::MinVolume = 0
constexpr

◆ MIPMAPSIZE

int lmms::MIPMAPSIZE = 2 << ( MAXLEN + 1 )
constexpr

◆ MIPMAPSIZE3

int lmms::MIPMAPSIZE3 = 3 << ( MAXLEN + 1 )
constexpr

◆ MOD_AM

const int lmms::MOD_AM = 1

◆ MOD_FM

const int lmms::MOD_FM = 2

◆ MOD_MIX

const int lmms::MOD_MIX = 0

◆ MOD_PM

const int lmms::MOD_PM = 3

◆ MOD_RM

const int lmms::MOD_RM = 2

◆ MODCLIP

const float lmms::MODCLIP = 2.0

◆ monstro_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::monstro_plugin_descriptor
Initial value:
=
{
"Monstro",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Monstrous 3-oscillator synth with modulation matrix" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ moog_wave_func

freefunc1<float,moog_wave,true> lmms::moog_wave_func
static

◆ moogsaw_wave_func

freefunc1<float,moogsaw_wave,true> lmms::moogsaw_wave_func
static

◆ multitapecho_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::multitapecho_plugin_descriptor
Initial value:
=
{
"Multitap Echo",
QT_TRANSLATE_NOOP( "PluginBrowser", "A multitap echo delay plugin" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ MUTA_BUTTON_X

const int lmms::MUTA_BUTTON_X = 205

◆ MUTA_BUTTON_Y

const int lmms::MUTA_BUTTON_Y = 4

◆ NES_DIST

const float lmms::NES_DIST = 0.9f

◆ NES_MIXING_12

const float lmms::NES_MIXING_12 = 1.f / 20.f

◆ NES_MIXING_34

const float lmms::NES_MIXING_34 = 1.f / 12.f

◆ NES_MIXING_ALL

const float lmms::NES_MIXING_ALL = 1.f / (NES_MIXING_12 + NES_MIXING_34)

◆ nes_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::nes_plugin_descriptor
Initial value:
=
{
"Nescaline",
QT_TRANSLATE_NOOP( "PluginBrowser",
"A NES-like synthesizer" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ NES_SIMPLE_FILTER

const float lmms::NES_SIMPLE_FILTER = 1.f / 20.f

◆ NEXTT

const int lmms::NEXTT = 4

◆ NFB

const float lmms::NFB = 895000.0f

◆ NOHINT

const float lmms::NOHINT = -99342.2243f

◆ NOISE_FREQS

const float lmms::NOISE_FREQS[16]
Initial value:
=
{ NFB/5, NFB/9, NFB/17, NFB/33, NFB/65, NFB/97, NFB/129, NFB/161, NFB/193, NFB/255, NFB/381, NFB/509, NFB/763, NFB/1017, NFB/2035, NFB/4069 }
const float NFB
Definition Nes.h:63

◆ NPH_CACHE_INCREMENT

const int lmms::NPH_CACHE_INCREMENT = 16

◆ NUM_EXPRS

const int lmms::NUM_EXPRS = 5

◆ NUM_FILTERS

const int lmms::NUM_FILTERS = 2
static

◆ NUM_HARMONICS

const int lmms::NUM_HARMONICS = 18

◆ NUM_LFO_WAVES

const int lmms::NUM_LFO_WAVES = 11

◆ NUM_MODS

const int lmms::NUM_MODS = 4

◆ NUM_OF_OSCILLATORS

const int lmms::NUM_OF_OSCILLATORS = 3

◆ NUM_OSCILLATORS

const int lmms::NUM_OSCILLATORS = 8

◆ NUM_OSCS

const int lmms::NUM_OSCS = 4

◆ NUM_WAVES

const int lmms::NUM_WAVES = 15

◆ NumKeys

const int lmms::NumKeys = 128

Number of physical keys, limited to MIDI range (valid for both MIDI 1.0 and 2.0).

◆ NumSfxrWaves

auto lmms::NumSfxrWaves = static_cast<std::size_t>(SfxrWave::Count)
constexpr

◆ O1_EXPR

const int lmms::O1_EXPR = 3

◆ O2_EXPR

const int lmms::O2_EXPR = 4

◆ opulenz_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::opulenz_plugin_descriptor
Initial value:
=
{
"OpulenZ",
QT_TRANSLATE_NOOP( "PluginBrowser",
"2-operator FM Synth" ),
"Raine M. Ekman <raine/at/iki/fi>",
0x0100,
new PluginPixmapLoader( "logo" ),
"sbi",
nullptr,
}

◆ organic_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::organic_plugin_descriptor
Initial value:
=
{
"Organic",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Additive Synthesizer for organ-like sounds" ),
"Andreas Brandmaier <andreas/at/brandmaier.de>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ OS_RATE

const int lmms::OS_RATE = 5

◆ OS_RATIO

const float lmms::OS_RATIO = 1.0f / OS_RATE

◆ OS_RESAMPLE

const auto lmms::OS_RESAMPLE
Initial value:
= std::array{0.0001490062883964112f, 0.1645978376763992f, 0.6705063120704088f,
0.1645978376763992f, 0.0001490062883964112f }

◆ OUTPUT_SAMPLE_MULTIPLIER

float lmms::OUTPUT_SAMPLE_MULTIPLIER = 32767.0f
constexpr

◆ PanningCenter

panning_t lmms::PanningCenter = 0
inlineconstexpr

◆ PanningLeft

panning_t lmms::PanningLeft = -PanningRight
inlineconstexpr

◆ PanningRight

panning_t lmms::PanningRight = 100
inlineconstexpr

◆ PATH_DEV_DSP

const QString lmms::PATH_DEV_DSP
static
Initial value:
=
"/dev/dsp"

◆ patman_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::patman_plugin_descriptor
Initial value:
=
{
"PatMan",
QT_TRANSLATE_NOOP( "PluginBrowser",
"GUS-compatible patch instrument" ),
"Javier Serrano Polo <jasp00/at/users.sourceforge.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
"pat",
nullptr,
}

◆ peakcontrollereffect_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::peakcontrollereffect_plugin_descriptor
Initial value:
=
{
"Peak Controller",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Plugin for controlling knobs with sound peaks" ),
"Paul Giblock <drfaygo/at/gmail.com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ phi

float lmms::phi[1200]

◆ PlaybackDeviceSDL

auto lmms::PlaybackDeviceSDL = "device"
constexpr

◆ PMOD_AMT

const int lmms::PMOD_AMT = WAVELEN / 2

◆ PNT

const int lmms::PNT = 2

◆ PORTABLE_MODE_FILE

const QString lmms::PORTABLE_MODE_FILE = "/portable_mode.txt"

◆ PrefilterBandwidth

float lmms::PrefilterBandwidth = 0.96f
constexpr

◆ PRESETS_PATH

const QString lmms::PRESETS_PATH = "presets/"

◆ PROJECTS_PATH

const QString lmms::PROJECTS_PATH = "projects/"

◆ PW_MAX

const float lmms::PW_MAX = 100.0f - PW_MIN

◆ PW_MIN

const float lmms::PW_MIN = 0.25f

◆ RAND_BUTTON_X

const int lmms::RAND_BUTTON_X = 160

◆ RAND_BUTTON_Y

const int lmms::RAND_BUTTON_Y = 4

◆ random_data

const auto lmms::random_data
static

◆ randsv_func

RandomVectorSeedFunction lmms::randsv_func
static

◆ RangeSeconds

float lmms::RangeSeconds[5] = {5, 10, 40, 40, 120}
constexpr

◆ RAW_MIDI_PARSE_BUF_SIZE

const uint32_t lmms::RAW_MIDI_PARSE_BUF_SIZE = 16

◆ relTime

const auto lmms::relTime
static
Initial value:
= std::array{ 6, 24, 48, 72, 114, 168, 204, 240, 300, 750,
1500, 2400, 3000, 9000, 15000, 24000 }

◆ REMAINS_80E0

const auto lmms::REMAINS_80E0
static
Initial value:
= std::array<unsigned char, 7>
{
3,
3,
3,
3,
2,
2,
3
}

◆ REMAINS_F0F6

const auto lmms::REMAINS_F0F6
static
Initial value:
= std::array<unsigned char, 7>
{
0,
2,
3,
2,
2,
2,
1
}

◆ REMOVE_RELEASED_NOTE_TIME_THRESHOLD_MS

const int lmms::REMOVE_RELEASED_NOTE_TIME_THRESHOLD_MS = 70

◆ RES_MULTIPLIER

const float lmms::RES_MULTIPLIER = 2.0f

◆ RES_PRECISION

const float lmms::RES_PRECISION = 1000.0f

◆ reverbsc_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::reverbsc_plugin_descriptor
Initial value:
=
{
"ReverbSC",
QT_TRANSLATE_NOOP( "PluginBrowser", "Reverb algorithm by Sean Costello" ),
"Paul Batchelor",
0x0123,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ s_dummyClient

MidiDummy lmms::s_dummyClient
static

◆ s_renderingThread

bool lmms::s_renderingThread = false
thread_localstatic

◆ SafetyLatency

int lmms::SafetyLatency = 3
constexpr

◆ sampleRateCutoff

const float lmms::sampleRateCutoff = 44100.0f

◆ SAMPLES_PATH

const QString lmms::SAMPLES_PATH = "samples/"

◆ SatuSafeVol

float lmms::SatuSafeVol = 16.f
constexpr

◆ SatuStrength

float lmms::SatuStrength = 0.001f
constexpr

◆ saw_wave_func

freefunc1<float,saw_wave,true> lmms::saw_wave_func
static

◆ SECS_PER_ENV_SEGMENT

const float lmms::SECS_PER_ENV_SEGMENT = 5.0f
extern

◆ SECS_PER_LFO_OSCILLATION

const float lmms::SECS_PER_LFO_OSCILLATION = 20.0f
extern

◆ SectionSDL

auto lmms::SectionSDL = "audiosdl"
constexpr

◆ SF2_PATH

const QString lmms::SF2_PATH = "samples/soundfonts/"

◆ sf2player_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::sf2player_plugin_descriptor
Initial value:
=
{
"Sf2 Player",
QT_TRANSLATE_NOOP( "PluginBrowser", "Player for SoundFont files" ),
"Paul Giblock <drfaygo/at/gmail/dot/com>",
0x0100,
new PluginPixmapLoader( "logo" ),
"sf2,sf3",
nullptr,
}

◆ sfxr_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::sfxr_plugin_descriptor
Initial value:
=
{
"sfxr",
QT_TRANSLATE_NOOP( "PluginBrowser",
"LMMS port of sfxr" ),
"Wong Cho Ching",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ sid_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::sid_plugin_descriptor
Initial value:
=
{
"SID",
QT_TRANSLATE_NOOP( "PluginBrowser", "Emulation of the MOS6581 and MOS8580 "
"SID.\nThis chip was used in the Commodore 64 computer." ),
"Csaba Hruska <csaba.hruska/at/gmail.com>"
"Attila Herman <attila589/at/gmail.com>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ sidorder

auto lmms::sidorder
Initial value:
= std::array<unsigned char, 25>
{0x15,0x16,0x18,0x17,
0x05,0x06,0x02,0x03,0x00,0x01,0x04,
0x0c,0x0d,0x09,0x0a,0x07,0x08,0x0b,
0x13,0x14,0x10,0x11,0x0e,0x0f,0x12}

◆ SILENCEFRAMES

const int lmms::SILENCEFRAMES = 10

◆ simple_rand

freefunc0<float,SimpleRandom::float_random_with_engine,false> lmms::simple_rand
static

◆ sin_wave_func

freefunc1<float,sin_wave,true> lmms::sin_wave_func
static

◆ SIZEOF_SET

const size_t lmms::SIZEOF_SET = sizeof( int ) * 8
static

◆ SLEW_DISTORTION_DC_FREQ

float lmms::SLEW_DISTORTION_DC_FREQ = 7.f
inlineconstexpr

◆ SLEW_DISTORTION_MIN_FLOOR

float lmms::SLEW_DISTORTION_MIN_FLOOR = 0.0012589f
inlineconstexpr

◆ SLEWDIST_MAX_OVERSAMPLE_STAGES

int lmms::SLEWDIST_MAX_OVERSAMPLE_STAGES = 5
constexpr

◆ slewdistortion_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::slewdistortion_plugin_descriptor
Initial value:
=
{
"Slew Distortion",
QT_TRANSLATE_NOOP("PluginBrowser", "A 2-band distortion and slew rate limiter plugin."),
"Lost Robot <r94231/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ slicert_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::slicert_plugin_descriptor
Initial value:
= {
"SlicerT",
QT_TRANSLATE_NOOP("PluginBrowser", "Basic Slicer"),
"Daniel Kauss Serna <daniel.kauss.serna@gmail.com>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
nullptr,
}

◆ sliLev

int lmms::sliLev[8]

◆ square_wave_func

freefunc1<float,square_wave,true> lmms::square_wave_func
static

◆ stereoenhancer_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::stereoenhancer_plugin_descriptor
Initial value:
=
{
"StereoEnhancer Effect",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Plugin for enhancing stereo separation of a stereo input file" ),
"Lou Herard <lherard/at/gmail.com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ stereomatrix_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::stereomatrix_plugin_descriptor
Initial value:
=
{
"Stereo Matrix",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Plugin for freely manipulating stereo output" ),
"Paul Giblock <drfaygo/at/gmail.com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ SUPPORTED_BITRATES

auto lmms::SUPPORTED_BITRATES = std::array{64, 128, 160, 192, 256, 320}
constexpr

◆ SUPPORTED_SAMPLERATES

auto lmms::SUPPORTED_SAMPLERATES = std::array{44100, 48000, 88200, 96000, 192000}
constexpr

◆ taptempo_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::taptempo_plugin_descriptor
Initial value:
= {LMMS_STRINGIFY(PLUGIN_NAME), "Tap Tempo", QT_TRANSLATE_NOOP("PluginBrowser", "Tap to the beat"),
"saker <sakertooth@gmail.com>", 0x0100, Plugin::Type::Tool, new PluginPixmapLoader("logo"), nullptr, nullptr}

◆ TEMPLATE_PATH

const QString lmms::TEMPLATE_PATH = "templates/"

◆ ticksPerBeat

const double lmms::ticksPerBeat = 48.0
static

◆ timestretch

float lmms::timestretch

◆ TLENS

const int lmms::TLENS[MAXTBL+1]
Initial value:
= { 2 << 0, 3 << 0, 2 << 1, 3 << 1,
2 << 2, 3 << 2, 2 << 3, 3 << 3,
2 << 4, 3 << 4, 2 << 5, 3 << 5,
2 << 6, 3 << 6, 2 << 7, 3 << 7,
2 << 8, 3 << 8, 2 << 9, 3 << 9,
2 << 10, 3 << 10, 2 << 11, 3 << 11 }

◆ TRACK_ICON_PATH

const QString lmms::TRACK_ICON_PATH = "track_icons/"

◆ triangle_wave_func

freefunc1<float,triangle_wave,true> lmms::triangle_wave_func
static

◆ TRIANGLE_WAVETABLE

const int lmms::TRIANGLE_WAVETABLE[32]
Initial value:
= { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }

◆ tripleoscillator_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::tripleoscillator_plugin_descriptor
Initial value:
=
{
"TripleOscillator",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Three powerful oscillators you can modulate "
"in several ways" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0110,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ UI_ALT_KEY

const char* lmms::UI_ALT_KEY
constexpr
Initial value:
=
"Alt"

◆ UI_COPY_KEY

const char* lmms::UI_COPY_KEY
constexpr
Initial value:
=
constexpr const char * UI_CTRL_KEY
Definition KeyboardShortcuts.h:43

◆ UI_CTRL_KEY

const char* lmms::UI_CTRL_KEY
constexpr
Initial value:
=
"Ctrl"

◆ vectorscope_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::vectorscope_plugin_descriptor
Initial value:
=
{
"Vectorscope",
QT_TRANSLATE_NOOP("PluginBrowser", "A stereo field visualizer."),
"Martin Pavelek <he29/dot/HS/at/gmail/dot/com>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ vestige_plugin_descriptor

Plugin::Descriptor Q_DECL_EXPORT lmms::vestige_plugin_descriptor
Initial value:
=
{
"VeSTige",
QT_TRANSLATE_NOOP( "PluginBrowser",
"VST-host for using VST(i)-plugins within LMMS" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
"dll,so",
nullptr,
}

◆ vibedstrings_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::vibedstrings_plugin_descriptor
Initial value:
=
{
"Vibed",
QT_TRANSLATE_NOOP("PluginBrowser", "Vibrating string modeler"),
"Danny McRae <khjklujn/at/yahoo/com>",
0x0100,
new PluginPixmapLoader("logo"),
nullptr,
nullptr
}

◆ vstbase_plugin_descriptor

Plugin::Descriptor VSTBASE_EXPORT lmms::vstbase_plugin_descriptor
Initial value:
=
{
"VST Base",
"library for all LMMS plugins dealing with VST-plugins",
"Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>",
0x0100,
nullptr,
nullptr,
}
@ Library
Definition Plugin.h:82

◆ vsteffect_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::vsteffect_plugin_descriptor
Initial value:
=
{
"VST",
QT_TRANSLATE_NOOP( "PluginBrowser",
"plugin for using arbitrary VST effects inside LMMS." ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0200,
new PluginPixmapLoader("logo"),
nullptr,
}
Definition VstSubPluginFeatures.h:38

◆ W1_EXPR

const int lmms::W1_EXPR = 0

◆ W2_EXPR

const int lmms::W2_EXPR = 1

◆ W3_EXPR

const int lmms::W3_EXPR = 2

◆ watsyn_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::watsyn_plugin_descriptor
Initial value:
=
{
"Watsyn",
QT_TRANSLATE_NOOP( "PluginBrowser",
"4-oscillator modulatable wavetable synth" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PluginPixmapLoader( "logo" ),
nullptr,
nullptr,
}

◆ WAVE_EXP

const int lmms::WAVE_EXP = 8

◆ WAVE_MOOG

const int lmms::WAVE_MOOG = 5

◆ WAVE_MOOG_D

const int lmms::WAVE_MOOG_D = 14

◆ WAVE_NOISE

const int lmms::WAVE_NOISE = 9

◆ WAVE_RAMP

const int lmms::WAVE_RAMP = 3

◆ WAVE_RAMP_D

const int lmms::WAVE_RAMP_D = 12

◆ WAVE_RANDOM

const int lmms::WAVE_RANDOM = 9

◆ WAVE_RANDOM_SMOOTH

const int lmms::WAVE_RANDOM_SMOOTH = 10

◆ WAVE_SAW

const int lmms::WAVE_SAW = 2

◆ WAVE_SAW_D

const int lmms::WAVE_SAW_D = 11

◆ WAVE_SINABS

const int lmms::WAVE_SINABS = 7

◆ WAVE_SINE

const int lmms::WAVE_SINE = 0

◆ WAVE_SQR

const int lmms::WAVE_SQR = 4

◆ WAVE_SQR_D

const int lmms::WAVE_SQR_D = 13

◆ WAVE_SQRSOFT

const int lmms::WAVE_SQRSOFT = 6

◆ WAVE_TRI

const int lmms::WAVE_TRI = 1

◆ WAVE_TRI_D

const int lmms::WAVE_TRI_D = 10

◆ WAVEFORM_BASE_X

const int lmms::WAVEFORM_BASE_X = 20

◆ WAVEFORM_BASE_Y

const int lmms::WAVEFORM_BASE_Y = 15

◆ WAVEFORM_BUTTON_WIDTH

const int lmms::WAVEFORM_BUTTON_WIDTH = 16

◆ WAVEFORM_NAMES

const QString lmms::WAVEFORM_NAMES[6]
Initial value:
= {
"Sine wave",
"Saw wave",
"Square wave",
"Triangle wave",
"Moog saw wave",
"Exponential wave"
}

◆ WAVELEN

const int lmms::WAVELEN = GRAPHLEN * WAVERATIO

◆ wavemode

long lmms::wavemode = 0

◆ WAVERATIO

const int lmms::WAVERATIO = 32

◆ waveshaper_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::waveshaper_plugin_descriptor
Initial value:
=
{
"Waveshaper Effect",
QT_TRANSLATE_NOOP( "PluginBrowser",
"plugin for waveshaping" ),
"Vesa Kivimäki <contact/dot/diizy/at/nbl/dot/fi>",
0x0100,
new PixmapLoader("lmms-plugin-logo"),
nullptr,
nullptr,
}

◆ wavetableSize

const int lmms::wavetableSize = 200
static

◆ wavewords

long lmms::wavewords

◆ xpressive_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::xpressive_plugin_descriptor
Initial value:
PLUGIN_NAME), "Xpressive", QT_TRANSLATE_NOOP("PluginBrowser",
"Mathematical expression parser"), "Orr Dvori", 0x0100,
Plugin::Type::Instrument, new PluginPixmapLoader("logo"), nullptr, nullptr }

◆ zynaddsubfx_plugin_descriptor

Plugin::Descriptor PLUGIN_EXPORT lmms::zynaddsubfx_plugin_descriptor
Initial value:
=
{
"ZynAddSubFX",
QT_TRANSLATE_NOOP( "PluginBrowser",
"Embedded ZynAddSubFX" ),
"Tobias Doerffel <tobydox/at/users.sf.net>",
0x0100,
new PluginPixmapLoader( "logo" ),
"xiz",
nullptr,
}