File and class renames part 1
Most files and most of the core classes and their methods have been renamed to match new coding style conventions: 391 files changed, 25400 insertions(+), 25598 deletions(-) Furthermore splitted some files where model and view classes were declared or implemented together in the same file. Should be tested thoroughly as I might have missed renaming some virtual methods or SIGNAL/SLOT parameters.
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "mixer.h"
|
||||
|
||||
class effectChain;
|
||||
class EffectChain;
|
||||
|
||||
class AudioPort
|
||||
{
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
return m_nextFxChannel;
|
||||
}
|
||||
|
||||
inline effectChain * getEffects()
|
||||
inline EffectChain * effects()
|
||||
{
|
||||
return m_effects;
|
||||
}
|
||||
@@ -131,7 +131,7 @@ private:
|
||||
|
||||
QString m_name;
|
||||
|
||||
effectChain * m_effects;
|
||||
EffectChain * m_effects;
|
||||
|
||||
|
||||
friend class mixer;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <QtCore/QObject>
|
||||
|
||||
#include "lmmsconfig.h"
|
||||
#include "combobox_model.h"
|
||||
#include "ComboBoxModel.h"
|
||||
|
||||
class AudioPortAudioSetupUtil : public QObject
|
||||
{
|
||||
@@ -38,8 +38,8 @@ public slots:
|
||||
void updateChannels();
|
||||
|
||||
public:
|
||||
comboBoxModel m_backendModel;
|
||||
comboBoxModel m_deviceModel;
|
||||
ComboBoxModel m_backendModel;
|
||||
ComboBoxModel m_deviceModel;
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automatable_model.h - declaration of class automatableModel
|
||||
* AutomatableModel.h - declaration of class AutomatableModel
|
||||
*
|
||||
* Copyright (c) 2007-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2007-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,39 +22,38 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATABLE_MODEL_H
|
||||
#define _AUTOMATABLE_MODEL_H
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "journalling_object.h"
|
||||
#include "mv_base.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "Model.h"
|
||||
|
||||
|
||||
// simple way to map a property of a view to a model
|
||||
#define mapPropertyFromModelPtr(type,getfunc,setfunc,modelname) \
|
||||
public: \
|
||||
inline type getfunc( void ) const \
|
||||
{ \
|
||||
return (type) modelname->value(); \
|
||||
} \
|
||||
public slots: \
|
||||
inline void setfunc( const type _val ) \
|
||||
{ \
|
||||
modelname->setValue( _val ); \
|
||||
#define mapPropertyFromModelPtr(type,getfunc,setfunc,modelname) \
|
||||
public: \
|
||||
inline type getfunc() const \
|
||||
{ \
|
||||
return (type) modelname->value(); \
|
||||
} \
|
||||
public slots: \
|
||||
inline void setfunc( const type _val ) \
|
||||
{ \
|
||||
modelname->setValue( _val ); \
|
||||
}
|
||||
|
||||
#define mapPropertyFromModel(type,getfunc,setfunc,modelname) \
|
||||
public: \
|
||||
inline type getfunc( void ) const \
|
||||
{ \
|
||||
return (type) modelname.value(); \
|
||||
} \
|
||||
public slots: \
|
||||
inline void setfunc( const type _val ) \
|
||||
{ \
|
||||
modelname.setValue( (float) _val ); \
|
||||
#define mapPropertyFromModel(type,getfunc,setfunc,modelname) \
|
||||
public: \
|
||||
inline type getfunc() const \
|
||||
{ \
|
||||
return (type) modelname.value(); \
|
||||
} \
|
||||
public slots: \
|
||||
inline void setfunc( const type _val ) \
|
||||
{ \
|
||||
modelname.setValue( (float) _val ); \
|
||||
}
|
||||
|
||||
|
||||
@@ -62,11 +61,11 @@
|
||||
class ControllerConnection;
|
||||
|
||||
|
||||
class EXPORT automatableModel : public model, public journallingObject
|
||||
class EXPORT AutomatableModel : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QVector<automatableModel *> autoModelVector;
|
||||
typedef QVector<AutomatableModel *> AutoModelVector;
|
||||
|
||||
enum DataType
|
||||
{
|
||||
@@ -75,26 +74,26 @@ public:
|
||||
Bool
|
||||
} ;
|
||||
|
||||
automatableModel( DataType _type,
|
||||
AutomatableModel( DataType _type,
|
||||
const float _val = 0,
|
||||
const float _min = 0,
|
||||
const float _max = 0,
|
||||
const float _step = 0,
|
||||
::model * _parent = NULL,
|
||||
::Model * _parent = NULL,
|
||||
const QString & _display_name = QString(),
|
||||
bool _default_constructed = FALSE );
|
||||
bool _default_constructed = false );
|
||||
|
||||
virtual ~automatableModel();
|
||||
virtual ~AutomatableModel();
|
||||
|
||||
|
||||
static inline float copiedValue( void )
|
||||
static inline float copiedValue()
|
||||
{
|
||||
return __copiedValue;
|
||||
}
|
||||
|
||||
bool isAutomated( void ) const;
|
||||
bool isAutomated() const;
|
||||
|
||||
inline ControllerConnection * getControllerConnection( void ) const
|
||||
inline ControllerConnection * getControllerConnection() const
|
||||
{
|
||||
return m_controllerConnection;
|
||||
}
|
||||
@@ -132,25 +131,25 @@ public:
|
||||
|
||||
|
||||
template<class T>
|
||||
inline T initValue( void ) const
|
||||
inline T initValue() const
|
||||
{
|
||||
return castValue<T>( m_initValue );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
inline T minValue( void ) const
|
||||
inline T minValue() const
|
||||
{
|
||||
return castValue<T>( m_minValue );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
inline T maxValue( void ) const
|
||||
inline T maxValue() const
|
||||
{
|
||||
return castValue<T>( m_maxValue );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
inline T step( void ) const
|
||||
inline T step() const
|
||||
{
|
||||
return castValue<T>( m_step );
|
||||
}
|
||||
@@ -166,7 +165,7 @@ public:
|
||||
setValue( m_value + _steps * m_step );
|
||||
}
|
||||
|
||||
inline float range( void ) const
|
||||
inline float range() const
|
||||
{
|
||||
return m_range;
|
||||
}
|
||||
@@ -176,10 +175,10 @@ public:
|
||||
|
||||
void setStep( const float _step );
|
||||
|
||||
static void linkModels( automatableModel * _m1,
|
||||
automatableModel * _m2 );
|
||||
static void unlinkModels( automatableModel * _m1,
|
||||
automatableModel * _m2 );
|
||||
static void linkModels( AutomatableModel * _m1,
|
||||
AutomatableModel * _m2 );
|
||||
static void unlinkModels( AutomatableModel * _m1,
|
||||
AutomatableModel * _m2 );
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc,
|
||||
QDomElement & _this,
|
||||
@@ -188,51 +187,48 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this,
|
||||
const QString & _name = QString( "value" ) );
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return "automatablemodel";
|
||||
}
|
||||
|
||||
void prepareJournalEntryFromOldVal( void );
|
||||
void prepareJournalEntryFromOldVal();
|
||||
|
||||
void addJournalEntryFromOldToCurVal( void );
|
||||
void addJournalEntryFromOldToCurVal();
|
||||
|
||||
|
||||
QString displayValue( const float _val ) const
|
||||
{
|
||||
switch( m_dataType )
|
||||
{
|
||||
case Float: return QString::number(
|
||||
castValue<float>( _val ) );
|
||||
case Integer: return QString::number(
|
||||
castValue<int>( _val ) );
|
||||
case Bool: return QString::number(
|
||||
castValue<bool>( _val ) );
|
||||
case Float: return QString::number( castValue<float>( _val ) );
|
||||
case Integer: return QString::number( castValue<int>( _val ) );
|
||||
case Bool: return QString::number( castValue<bool>( _val ) );
|
||||
}
|
||||
return "0";
|
||||
}
|
||||
|
||||
inline bool armed( void ){ return m_armed; }
|
||||
inline bool armed(){ return m_armed; }
|
||||
inline void setArmed( bool _armed ){ m_armed = _armed; }
|
||||
|
||||
|
||||
public slots:
|
||||
virtual void reset( void );
|
||||
virtual void copyValue( void );
|
||||
virtual void pasteValue( void );
|
||||
void unlinkControllerConnection( void );
|
||||
void handleDataChanged( void );
|
||||
virtual void reset();
|
||||
virtual void copyValue();
|
||||
virtual void pasteValue();
|
||||
void unlinkControllerConnection();
|
||||
void handleDataChanged();
|
||||
|
||||
protected:
|
||||
virtual void redoStep( journalEntry & _je );
|
||||
virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );
|
||||
virtual void undoStep( JournalEntry & _je );
|
||||
|
||||
float fittedValue( float _value ) const;
|
||||
|
||||
|
||||
private:
|
||||
void linkModel( automatableModel * _model );
|
||||
void unlinkModel( automatableModel * _model );
|
||||
void linkModel( AutomatableModel * _model );
|
||||
void unlinkModel( AutomatableModel * _model );
|
||||
|
||||
|
||||
DataType m_dataType;
|
||||
@@ -249,7 +245,7 @@ private:
|
||||
bool m_journalEntryReady;
|
||||
int m_setValueDepth;
|
||||
|
||||
autoModelVector m_linkedModels;
|
||||
AutoModelVector m_linkedModels;
|
||||
bool m_hasLinkedModels;
|
||||
|
||||
|
||||
@@ -270,33 +266,33 @@ signals:
|
||||
|
||||
|
||||
|
||||
#define defaultTypedMethods(type) \
|
||||
inline type value( int _frameOffset = 0 ) const \
|
||||
{ \
|
||||
return automatableModel::value<type>( _frameOffset ); \
|
||||
} \
|
||||
\
|
||||
inline type minValue( void ) const \
|
||||
{ \
|
||||
return automatableModel::minValue<type>(); \
|
||||
} \
|
||||
\
|
||||
inline type maxValue( void ) const \
|
||||
{ \
|
||||
return automatableModel::maxValue<type>(); \
|
||||
} \
|
||||
#define defaultTypedMethods(type) \
|
||||
inline type value( int _frameOffset = 0 ) const \
|
||||
{ \
|
||||
return AutomatableModel::value<type>( _frameOffset ); \
|
||||
} \
|
||||
\
|
||||
inline type minValue() const \
|
||||
{ \
|
||||
return AutomatableModel::minValue<type>(); \
|
||||
} \
|
||||
\
|
||||
inline type maxValue() const \
|
||||
{ \
|
||||
return AutomatableModel::maxValue<type>(); \
|
||||
} \
|
||||
|
||||
|
||||
// some typed automatableModel-definitions
|
||||
// some typed AutomatableModel-definitions
|
||||
|
||||
class floatModel : public automatableModel
|
||||
class FloatModel : public AutomatableModel
|
||||
{
|
||||
public:
|
||||
floatModel( float _val = 0, float _min = 0, float _max = 0,
|
||||
float _step = 0, ::model * _parent = NULL,
|
||||
FloatModel( float _val = 0, float _min = 0, float _max = 0,
|
||||
float _step = 0, ::Model * _parent = NULL,
|
||||
const QString & _display_name = QString(),
|
||||
bool _default_constructed = FALSE ) :
|
||||
automatableModel( Float, _val, _min, _max, _step,
|
||||
bool _default_constructed = false ) :
|
||||
AutomatableModel( Float, _val, _min, _max, _step,
|
||||
_parent, _display_name, _default_constructed )
|
||||
{
|
||||
}
|
||||
@@ -306,14 +302,14 @@ public:
|
||||
} ;
|
||||
|
||||
|
||||
class intModel : public automatableModel
|
||||
class IntModel : public AutomatableModel
|
||||
{
|
||||
public:
|
||||
intModel( int _val = 0, int _min = 0, int _max = 0,
|
||||
::model * _parent = NULL,
|
||||
IntModel( int _val = 0, int _min = 0, int _max = 0,
|
||||
::Model * _parent = NULL,
|
||||
const QString & _display_name = QString(),
|
||||
bool _default_constructed = FALSE ) :
|
||||
automatableModel( Integer, _val, _min, _max, 1,
|
||||
bool _default_constructed = false ) :
|
||||
AutomatableModel( Integer, _val, _min, _max, 1,
|
||||
_parent, _display_name, _default_constructed )
|
||||
{
|
||||
}
|
||||
@@ -323,13 +319,13 @@ public:
|
||||
} ;
|
||||
|
||||
|
||||
class boolModel : public automatableModel
|
||||
class BoolModel : public AutomatableModel
|
||||
{
|
||||
public:
|
||||
boolModel( const bool _val = FALSE, ::model * _parent = NULL,
|
||||
BoolModel( const bool _val = false, ::Model * _parent = NULL,
|
||||
const QString & _display_name = QString(),
|
||||
bool _default_constructed = FALSE ) :
|
||||
automatableModel( Bool, _val, FALSE, TRUE, 1,
|
||||
bool _default_constructed = false ) :
|
||||
AutomatableModel( Bool, _val, false, true, 1,
|
||||
_parent, _display_name, _default_constructed )
|
||||
{
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automatable_model_view.h - class automatableModelView
|
||||
* AutomatableModelView.h - class AutomatableModelView
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,39 +22,36 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATABLE_MODEL_VIEW_H
|
||||
#define _AUTOMATABLE_MODEL_VIEW_H
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "automatable_model.h"
|
||||
|
||||
#include "ModelView.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
class QMenu;
|
||||
|
||||
|
||||
|
||||
class EXPORT automatableModelView : public modelView
|
||||
class EXPORT AutomatableModelView : public ModelView
|
||||
{
|
||||
public:
|
||||
automatableModelView( ::model * _model, QWidget * _this );
|
||||
virtual ~automatableModelView();
|
||||
AutomatableModelView( Model * _model, QWidget * _this );
|
||||
virtual ~AutomatableModelView();
|
||||
|
||||
// some basic functions for convenience
|
||||
automatableModel * modelUntyped( void )
|
||||
AutomatableModel * modelUntyped()
|
||||
{
|
||||
return( castModel<automatableModel>() );
|
||||
return( castModel<AutomatableModel>() );
|
||||
}
|
||||
|
||||
const automatableModel * modelUntyped( void ) const
|
||||
const AutomatableModel * modelUntyped() const
|
||||
{
|
||||
return( castModel<automatableModel>() );
|
||||
return( castModel<AutomatableModel>() );
|
||||
}
|
||||
|
||||
virtual void setModel( model * _model, bool _old_model_valid = TRUE );
|
||||
virtual void setModel( Model * _model, bool _old_model_valid = true );
|
||||
|
||||
template<typename T>
|
||||
inline T value( void ) const
|
||||
inline T value() const
|
||||
{
|
||||
return( modelUntyped() ? modelUntyped()->value<T>() : 0 );
|
||||
}
|
||||
@@ -92,53 +89,53 @@ protected:
|
||||
|
||||
|
||||
|
||||
class automatableModelViewSlots : public QObject
|
||||
class AutomatableModelViewSlots : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
automatableModelViewSlots(
|
||||
automatableModelView * _amv,
|
||||
AutomatableModelViewSlots(
|
||||
AutomatableModelView * _amv,
|
||||
QObject * _parent );
|
||||
|
||||
public slots:
|
||||
void execConnectionDialog( void );
|
||||
void removeConnection( void );
|
||||
void editSongGlobalAutomation( void );
|
||||
void arm( void );
|
||||
void deArm( void );
|
||||
void execConnectionDialog();
|
||||
void removeConnection();
|
||||
void editSongGlobalAutomation();
|
||||
void arm();
|
||||
void deArm();
|
||||
|
||||
protected:
|
||||
automatableModelView * amv;
|
||||
AutomatableModelView * amv;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
#define generateTypedModelView(type) \
|
||||
class EXPORT type##ModelView : public automatableModelView \
|
||||
{ \
|
||||
public: \
|
||||
type##ModelView( ::model * _model, QWidget * _this ) : \
|
||||
automatableModelView( _model, _this ) \
|
||||
{ \
|
||||
} \
|
||||
\
|
||||
type##Model * model( void ) \
|
||||
{ \
|
||||
return( castModel<type##Model>() ); \
|
||||
} \
|
||||
\
|
||||
const type##Model * model( void ) const \
|
||||
{ \
|
||||
return( castModel<type##Model>() ); \
|
||||
} \
|
||||
#define generateTypedModelView(type) \
|
||||
class EXPORT type##ModelView : public AutomatableModelView \
|
||||
{ \
|
||||
public: \
|
||||
type##ModelView( Model * _model, QWidget * _this ) : \
|
||||
AutomatableModelView( _model, _this ) \
|
||||
{ \
|
||||
} \
|
||||
\
|
||||
type##Model * model() \
|
||||
{ \
|
||||
return( castModel<type##Model>() ); \
|
||||
} \
|
||||
\
|
||||
const type##Model * model() const \
|
||||
{ \
|
||||
return( castModel<type##Model>() ); \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
generateTypedModelView(float);
|
||||
generateTypedModelView(int);
|
||||
generateTypedModelView(bool);
|
||||
generateTypedModelView(Float);
|
||||
generateTypedModelView(Int);
|
||||
generateTypedModelView(Bool);
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* clipboard.h - the clipboard for patterns, notes etc.
|
||||
* Clipboard.h - the clipboard for patterns, notes etc.
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _CLIPBOARD_H
|
||||
#define _CLIPBOARD_H
|
||||
|
||||
@@ -30,24 +29,24 @@
|
||||
#include <QtXml/QDomElement>
|
||||
|
||||
|
||||
class journallingObject;
|
||||
class JournallingObject;
|
||||
|
||||
class clipboard
|
||||
class Clipboard
|
||||
{
|
||||
public:
|
||||
typedef QMap<QString, QDomElement> map;
|
||||
typedef QMap<QString, QDomElement> Map;
|
||||
|
||||
static void copy( journallingObject * _object );
|
||||
static void copy( JournallingObject * _object );
|
||||
static const QDomElement * getContent( const QString & _node_name );
|
||||
|
||||
static const char * mimeType( void )
|
||||
static const char * mimeType()
|
||||
{
|
||||
return( "application/x-lmms-clipboard" );
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
static map content;
|
||||
static Map content;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* combobox_model.h - class comboBoxModel
|
||||
* ComboBoxModel.h - declaration of class ComboBoxModel
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,73 +22,70 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _COMBOBOX_MODEL_H
|
||||
#define _COMBOBOX_MODEL_H
|
||||
|
||||
#include <QtCore/QVector>
|
||||
#include <QtCore/QPair>
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "templates.h"
|
||||
|
||||
class pixmapLoader;
|
||||
class PixmapLoader;
|
||||
|
||||
|
||||
class EXPORT comboBoxModel : public intModel
|
||||
class EXPORT ComboBoxModel : public IntModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
comboBoxModel( ::model * _parent = NULL,
|
||||
ComboBoxModel( Model * _parent = NULL,
|
||||
const QString & _display_name = QString(),
|
||||
bool _default_constructed = false ) :
|
||||
intModel( 0, 0, 0, _parent, _display_name,
|
||||
IntModel( 0, 0, 0, _parent, _display_name,
|
||||
_default_constructed )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~comboBoxModel()
|
||||
virtual ~ComboBoxModel()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
||||
void addItem( const QString & _item, pixmapLoader * _loader = NULL );
|
||||
void addItem( const QString & _item, PixmapLoader * _loader = NULL );
|
||||
|
||||
void clear( void );
|
||||
void clear();
|
||||
|
||||
int findText( const QString & _txt ) const;
|
||||
|
||||
inline const QString & currentText( void ) const
|
||||
inline const QString & currentText() const
|
||||
{
|
||||
return( m_items[value()].first );
|
||||
return m_items[value()].first;
|
||||
}
|
||||
|
||||
inline const pixmapLoader * currentData( void ) const
|
||||
inline const PixmapLoader * currentData() const
|
||||
{
|
||||
return( m_items[value()].second );
|
||||
return m_items[value()].second;
|
||||
}
|
||||
|
||||
inline const QString & itemText( int _i ) const
|
||||
{
|
||||
return( m_items[tLimit<int>( _i, minValue(), maxValue() )].
|
||||
first );
|
||||
return m_items[tLimit<int>( _i, minValue(), maxValue() )].first;
|
||||
}
|
||||
|
||||
inline const pixmapLoader * itemPixmap( int _i ) const
|
||||
inline const PixmapLoader * itemPixmap( int _i ) const
|
||||
{
|
||||
return( m_items[tLimit<int>( _i, minValue(), maxValue() )].
|
||||
second );
|
||||
return m_items[tLimit<int>( _i, minValue(), maxValue() )].second;
|
||||
}
|
||||
|
||||
inline int size( void ) const
|
||||
inline int size() const
|
||||
{
|
||||
return( m_items.size() );
|
||||
return m_items.size();
|
||||
}
|
||||
|
||||
private:
|
||||
typedef QPair<QString, pixmapLoader *> item;
|
||||
typedef QPair<QString, PixmapLoader *> Item;
|
||||
|
||||
QVector<item> m_items;
|
||||
QVector<Item> m_items;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
|
||||
#include "engine.h"
|
||||
#include "mixer.h"
|
||||
#include "mv_base.h"
|
||||
#include "journalling_object.h"
|
||||
#include "Model.h"
|
||||
#include "JournallingObject.h"
|
||||
|
||||
class ControllerDialog;
|
||||
class Controller;
|
||||
@@ -38,7 +38,7 @@ class Controller;
|
||||
typedef QVector<Controller *> ControllerVector;
|
||||
|
||||
|
||||
class Controller : public model, public journallingObject
|
||||
class Controller : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
NumControllerTypes
|
||||
} ;
|
||||
|
||||
Controller( ControllerTypes _type, model * _parent,
|
||||
Controller( ControllerTypes _type, Model * _parent,
|
||||
const QString & _display_name );
|
||||
|
||||
virtual ~Controller();
|
||||
@@ -103,9 +103,9 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
virtual QString nodeName( void ) const;
|
||||
|
||||
static Controller * create( ControllerTypes _tt, model * _parent );
|
||||
static Controller * create( ControllerTypes _tt, Model * _parent );
|
||||
static Controller * create( const QDomElement & _this,
|
||||
model * _parent );
|
||||
Model * _parent );
|
||||
|
||||
inline static float fittedValue( float _val )
|
||||
{
|
||||
@@ -127,7 +127,7 @@ public slots:
|
||||
m_name = _new_name;
|
||||
}
|
||||
|
||||
bool hasModel( const model * m );
|
||||
bool hasModel( const Model * m );
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
#include <QtCore/QVector>
|
||||
|
||||
#include "Controller.h"
|
||||
#include "journalling_object.h"
|
||||
#include "JournallingObject.h"
|
||||
|
||||
class ControllerConnection;
|
||||
|
||||
typedef QVector<ControllerConnection *> ControllerConnectionVector;
|
||||
|
||||
|
||||
class EXPORT ControllerConnection : public QObject, public journallingObject
|
||||
class EXPORT ControllerConnection : public QObject, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <QtGui/QStandardItemModel>
|
||||
|
||||
#include "Controller.h"
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
@@ -53,7 +53,7 @@ class ControllerConnectionDialog : public QDialog
|
||||
Q_OBJECT
|
||||
public:
|
||||
ControllerConnectionDialog( QWidget * _parent,
|
||||
const automatableModel * _target_model );
|
||||
const AutomatableModel * _target_model );
|
||||
virtual ~ControllerConnectionDialog();
|
||||
|
||||
Controller * chosenController( void )
|
||||
@@ -81,7 +81,7 @@ private:
|
||||
lcdSpinBox * m_midiControllerSpinBox;
|
||||
ledCheckBox * m_midiAutoDetectCheckBox;
|
||||
MidiPortMenu * m_readablePorts;
|
||||
boolModel m_midiAutoDetect;
|
||||
BoolModel m_midiAutoDetect;
|
||||
|
||||
// User
|
||||
groupBox * m_userGroupBox;
|
||||
@@ -92,7 +92,7 @@ private:
|
||||
QLineEdit * m_mappingFunction;
|
||||
|
||||
Controller * m_controller;
|
||||
const automatableModel * m_targetModel;
|
||||
const AutomatableModel * m_targetModel;
|
||||
|
||||
// Temporary midiController
|
||||
AutoDetectMidiController * m_midiController;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* ControllerDialog.h - per-controller-specific view for changing a
|
||||
* controller's settings
|
||||
* controller's settings
|
||||
*
|
||||
* Copyright (c) 2008-2009 Paul Giblock <drfaygo/at/gmail.com>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -28,12 +28,12 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class Controller;
|
||||
|
||||
|
||||
class ControllerDialog : public QWidget, public modelView
|
||||
class ControllerDialog : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -41,6 +41,7 @@ public:
|
||||
|
||||
virtual ~ControllerDialog();
|
||||
|
||||
|
||||
signals:
|
||||
void closed();
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "serializing_object.h"
|
||||
#include "SerializingObject.h"
|
||||
#include "lmms_basics.h"
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ class QScrollArea;
|
||||
class ControllerView;
|
||||
|
||||
|
||||
class ControllerRackView : public QWidget, public serializingObject
|
||||
class ControllerRackView : public QWidget, public SerializingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -47,9 +47,9 @@ public:
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "ControllerRackView" );
|
||||
return "ControllerRackView";
|
||||
}
|
||||
|
||||
|
||||
@@ -58,8 +58,8 @@ public slots:
|
||||
|
||||
|
||||
private slots:
|
||||
virtual void update( void );
|
||||
void addController( void );
|
||||
virtual void update();
|
||||
void addController();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "Controller.h"
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
@@ -39,7 +39,7 @@ class QMdiSubWindow;
|
||||
class ledCheckBox;
|
||||
|
||||
|
||||
class ControllerView : public QWidget, public modelView
|
||||
class ControllerView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* dummy_effect.h - effect used as fallback if an effect couldn't be loaded
|
||||
* DummyEffect.h - effect used as fallback if an effect couldn't be loaded
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,41 +22,40 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _DUMMY_EFFECT_H
|
||||
#define _DUMMY_EFFECT_H
|
||||
|
||||
#include "effect.h"
|
||||
#include "effect_controls.h"
|
||||
#include "effect_control_dialog.h"
|
||||
#include "Effect.h"
|
||||
#include "EffectControls.h"
|
||||
#include "EffectControlDialog.h"
|
||||
|
||||
|
||||
class dummyEffectControlDialog : public effectControlDialog
|
||||
class DummyEffectControlDialog : public EffectControlDialog
|
||||
{
|
||||
public:
|
||||
dummyEffectControlDialog( effectControls * _controls ) :
|
||||
effectControlDialog( _controls )
|
||||
DummyEffectControlDialog( EffectControls * _controls ) :
|
||||
EffectControlDialog( _controls )
|
||||
{
|
||||
}
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
class dummyEffectControls : public effectControls
|
||||
class DummyEffectControls : public EffectControls
|
||||
{
|
||||
public:
|
||||
dummyEffectControls( effect * _eff ) :
|
||||
effectControls( _eff )
|
||||
DummyEffectControls( Effect * _eff ) :
|
||||
EffectControls( _eff )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~dummyEffectControls()
|
||||
virtual ~DummyEffectControls()
|
||||
{
|
||||
}
|
||||
|
||||
virtual int getControlCount( void )
|
||||
virtual int controlCount()
|
||||
{
|
||||
return( 0 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
inline virtual void saveSettings( QDomDocument &, QDomElement & )
|
||||
@@ -67,33 +66,33 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "dummycontrols" );
|
||||
return "DummyControls";
|
||||
}
|
||||
|
||||
virtual effectControlDialog * createView( void )
|
||||
virtual EffectControlDialog * createView()
|
||||
{
|
||||
return( new dummyEffectControlDialog( this ) );
|
||||
return new DummyEffectControlDialog( this );
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class dummyEffect : public effect
|
||||
class DummyEffect : public Effect
|
||||
{
|
||||
public:
|
||||
inline dummyEffect( model * _parent ) :
|
||||
effect( NULL, _parent, NULL ),
|
||||
inline DummyEffect( Model * _parent ) :
|
||||
Effect( NULL, _parent, NULL ),
|
||||
m_controls( this )
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual ~dummyEffect()
|
||||
inline virtual ~DummyEffect()
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual effectControls * getControls( void )
|
||||
inline virtual EffectControls * controls()
|
||||
{
|
||||
return &m_controls;
|
||||
}
|
||||
@@ -105,7 +104,7 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
dummyEffectControls m_controls;
|
||||
DummyEffectControls m_controls;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -26,15 +26,15 @@
|
||||
#ifndef _DUMMY_INSTRUMENT_H
|
||||
#define _DUMMY_INSTRUMENT_H
|
||||
|
||||
#include "instrument.h"
|
||||
#include "Instrument.h"
|
||||
#include "InstrumentView.h"
|
||||
|
||||
|
||||
class DummyInstrument : public instrument
|
||||
class DummyInstrument : public Instrument
|
||||
{
|
||||
public:
|
||||
DummyInstrument( instrumentTrack * _instrument_track ) :
|
||||
instrument( _instrument_track, NULL )
|
||||
DummyInstrument( InstrumentTrack * _instrument_track ) :
|
||||
Instrument( _instrument_track, NULL )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
return "dummyinstrument";
|
||||
}
|
||||
|
||||
virtual pluginView * instantiateView( QWidget * _parent )
|
||||
virtual PluginView * instantiateView( QWidget * _parent )
|
||||
{
|
||||
return new InstrumentView( this, _parent );
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* dummy_plugin.h - empty plugin which is used as fallback if a plugin couldn't
|
||||
* be found
|
||||
* DummyPlugin.h - empty plugin which is used as fallback if a plugin couldn't
|
||||
* be found
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,44 +23,43 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _DUMMY_PLUGIN_H
|
||||
#define _DUMMY_PLUGIN_H
|
||||
|
||||
#include "plugin.h"
|
||||
#include "plugin_view.h"
|
||||
#include "Plugin.h"
|
||||
#include "PluginView.h"
|
||||
|
||||
|
||||
class dummyPlugin : public plugin
|
||||
class DummyPlugin : public Plugin
|
||||
{
|
||||
public:
|
||||
inline dummyPlugin( void ) :
|
||||
plugin( NULL, NULL )
|
||||
DummyPlugin() :
|
||||
Plugin( NULL, NULL )
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual ~dummyPlugin()
|
||||
virtual ~DummyPlugin()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
inline virtual void saveSettings( QDomDocument &, QDomElement & )
|
||||
virtual void saveSettings( QDomDocument &, QDomElement & )
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual void loadSettings( const QDomElement & )
|
||||
virtual void loadSettings( const QDomElement & )
|
||||
{
|
||||
}
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "dummyplugin" );
|
||||
return "DummyPlugin";
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
virtual pluginView * instantiateView( QWidget * _parent )
|
||||
virtual PluginView * instantiateView( QWidget * _parent )
|
||||
{
|
||||
return( new pluginView( this, _parent ) );
|
||||
return new PluginView( this, _parent );
|
||||
}
|
||||
|
||||
} ;
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* effect.h - base class for effects
|
||||
* Effect.h - base class for effects
|
||||
*
|
||||
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,44 +23,43 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _EFFECT_H
|
||||
#define _EFFECT_H
|
||||
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
#include "engine.h"
|
||||
#include "mixer.h"
|
||||
#include "automatable_model.h"
|
||||
#include "tempo_sync_knob.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "TempoSyncKnobModel.h"
|
||||
|
||||
|
||||
class effectChain;
|
||||
class effectControls;
|
||||
class EffectChain;
|
||||
class EffectControls;
|
||||
|
||||
|
||||
class EXPORT effect : public plugin
|
||||
class EXPORT Effect : public Plugin
|
||||
{
|
||||
public:
|
||||
effect( const plugin::descriptor * _desc,
|
||||
model * _parent,
|
||||
const descriptor::subPluginFeatures::key * _key );
|
||||
virtual ~effect();
|
||||
Effect( const Plugin::Descriptor * _desc,
|
||||
Model * _parent,
|
||||
const Descriptor::SubPluginFeatures::Key * _key );
|
||||
virtual ~Effect();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "effect" );
|
||||
return "effect";
|
||||
}
|
||||
|
||||
|
||||
virtual bool processAudioBuffer( sampleFrame * _buf,
|
||||
const fpp_t _frames ) = 0;
|
||||
|
||||
inline ch_cnt_t getProcessorCount( void ) const
|
||||
inline ch_cnt_t processorCount() const
|
||||
{
|
||||
return( m_processors );
|
||||
return m_processors;
|
||||
}
|
||||
|
||||
inline void setProcessorCount( ch_cnt_t _processors )
|
||||
@@ -68,9 +67,9 @@ public:
|
||||
m_processors = _processors;
|
||||
}
|
||||
|
||||
inline bool isOkay( void ) const
|
||||
inline bool isOkay() const
|
||||
{
|
||||
return( m_okay );
|
||||
return m_okay;
|
||||
}
|
||||
|
||||
inline void setOkay( bool _state )
|
||||
@@ -79,71 +78,71 @@ public:
|
||||
}
|
||||
|
||||
|
||||
inline bool isRunning( void ) const
|
||||
inline bool isRunning() const
|
||||
{
|
||||
return( m_running );
|
||||
return m_running;
|
||||
}
|
||||
|
||||
inline void startRunning( void )
|
||||
inline void startRunning()
|
||||
{
|
||||
m_bufferCount = 0;
|
||||
m_running = TRUE;
|
||||
m_running = true;
|
||||
}
|
||||
|
||||
inline void stopRunning( void )
|
||||
inline void stopRunning()
|
||||
{
|
||||
m_running = FALSE;
|
||||
m_running = false;
|
||||
}
|
||||
|
||||
inline bool isEnabled( void ) const
|
||||
inline bool isEnabled() const
|
||||
{
|
||||
return( m_enabledModel.value() );
|
||||
return m_enabledModel.value();
|
||||
}
|
||||
|
||||
inline f_cnt_t getTimeout( void ) const
|
||||
inline f_cnt_t timeout() const
|
||||
{
|
||||
const float samples =
|
||||
engine::getMixer()->processingSampleRate() *
|
||||
m_autoQuitModel.value() / 1000.0f;
|
||||
return( 1 + ( static_cast<Uint32>( samples ) /
|
||||
engine::getMixer()->framesPerPeriod() ) );
|
||||
return 1 + ( static_cast<Uint32>( samples ) /
|
||||
engine::getMixer()->framesPerPeriod() );
|
||||
}
|
||||
|
||||
inline float getWetLevel( void ) const
|
||||
inline float wetLevel() const
|
||||
{
|
||||
return( m_wetDryModel.value() );
|
||||
return m_wetDryModel.value();
|
||||
}
|
||||
|
||||
inline float getDryLevel( void ) const
|
||||
inline float dryLevel() const
|
||||
{
|
||||
return( 1.0f - m_wetDryModel.value() );
|
||||
return 1.0f - m_wetDryModel.value();
|
||||
}
|
||||
|
||||
inline float getGate( void ) const
|
||||
inline float gate() const
|
||||
{
|
||||
const float level = m_gateModel.value();
|
||||
return( level*level * m_processors *
|
||||
engine::getMixer()->framesPerPeriod() );
|
||||
return level*level * m_processors *
|
||||
engine::getMixer()->framesPerPeriod();
|
||||
}
|
||||
|
||||
inline f_cnt_t getBufferCount( void ) const
|
||||
inline f_cnt_t bufferCount() const
|
||||
{
|
||||
return( m_bufferCount );
|
||||
return m_bufferCount;
|
||||
}
|
||||
|
||||
inline void resetBufferCount( void )
|
||||
inline void resetBufferCount()
|
||||
{
|
||||
m_bufferCount = 0;
|
||||
}
|
||||
|
||||
inline void incrementBufferCount( void )
|
||||
inline void incrementBufferCount()
|
||||
{
|
||||
++m_bufferCount;
|
||||
}
|
||||
|
||||
inline bool dontRun( void ) const
|
||||
inline bool dontRun() const
|
||||
{
|
||||
return( m_noRun );
|
||||
return m_noRun;
|
||||
}
|
||||
|
||||
inline void setDontRun( bool _state )
|
||||
@@ -151,28 +150,28 @@ public:
|
||||
m_noRun = _state;
|
||||
}
|
||||
|
||||
inline const descriptor::subPluginFeatures::key & getKey( void ) const
|
||||
inline const Descriptor::SubPluginFeatures::Key & key() const
|
||||
{
|
||||
return( m_key );
|
||||
return m_key;
|
||||
}
|
||||
|
||||
virtual effectControls * getControls( void ) = 0;
|
||||
virtual EffectControls * controls() = 0;
|
||||
|
||||
static effect * instantiate( const QString & _plugin_name,
|
||||
model * _parent,
|
||||
descriptor::subPluginFeatures::key * _key );
|
||||
static Effect * instantiate( const QString & _plugin_name,
|
||||
Model * _parent,
|
||||
Descriptor::SubPluginFeatures::Key * _key );
|
||||
|
||||
|
||||
protected:
|
||||
void checkGate( double _out_sum );
|
||||
|
||||
virtual pluginView * instantiateView( QWidget * );
|
||||
virtual PluginView * instantiateView( QWidget * );
|
||||
|
||||
// some effects might not be capable of higher sample-rates so they can
|
||||
// sample it down before processing and back after processing
|
||||
inline void sampleDown( const sampleFrame * _src_buf,
|
||||
sampleFrame * _dst_buf,
|
||||
sample_rate_t _dst_sr )
|
||||
sampleFrame * _dst_buf,
|
||||
sample_rate_t _dst_sr )
|
||||
{
|
||||
resample( 0, _src_buf,
|
||||
engine::getMixer()->processingSampleRate(),
|
||||
@@ -181,24 +180,24 @@ protected:
|
||||
}
|
||||
|
||||
inline void sampleBack( const sampleFrame * _src_buf,
|
||||
sampleFrame * _dst_buf,
|
||||
sample_rate_t _src_sr )
|
||||
sampleFrame * _dst_buf,
|
||||
sample_rate_t _src_sr )
|
||||
{
|
||||
resample( 1, _src_buf, _src_sr, _dst_buf,
|
||||
engine::getMixer()->processingSampleRate(),
|
||||
engine::getMixer()->framesPerPeriod() * _src_sr /
|
||||
engine::getMixer()->processingSampleRate() );
|
||||
}
|
||||
void reinitSRC( void );
|
||||
void reinitSRC();
|
||||
|
||||
|
||||
private:
|
||||
void resample( int _i, const sampleFrame * _src_buf,
|
||||
sample_rate_t _src_sr,
|
||||
sampleFrame * _dst_buf, sample_rate_t _dst_sr,
|
||||
sample_rate_t _src_sr,
|
||||
sampleFrame * _dst_buf, sample_rate_t _dst_sr,
|
||||
const f_cnt_t _frames );
|
||||
|
||||
descriptor::subPluginFeatures::key m_key;
|
||||
Descriptor::SubPluginFeatures::Key m_key;
|
||||
|
||||
ch_cnt_t m_processors;
|
||||
|
||||
@@ -207,23 +206,23 @@ private:
|
||||
bool m_running;
|
||||
f_cnt_t m_bufferCount;
|
||||
|
||||
boolModel m_enabledModel;
|
||||
floatModel m_wetDryModel;
|
||||
floatModel m_gateModel;
|
||||
tempoSyncKnobModel m_autoQuitModel;
|
||||
BoolModel m_enabledModel;
|
||||
FloatModel m_wetDryModel;
|
||||
FloatModel m_gateModel;
|
||||
TempoSyncKnobModel m_autoQuitModel;
|
||||
|
||||
SRC_DATA m_srcData[2];
|
||||
SRC_STATE * m_srcState[2];
|
||||
|
||||
|
||||
friend class effectView;
|
||||
friend class effectChain;
|
||||
friend class EffectView;
|
||||
friend class EffectChain;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
typedef effect::descriptor::subPluginFeatures::key effectKey;
|
||||
typedef effect::descriptor::subPluginFeatures::keyList effectKeyList;
|
||||
typedef Effect::Descriptor::SubPluginFeatures::Key EffectKey;
|
||||
typedef Effect::Descriptor::SubPluginFeatures::KeyList EffectKeyList;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* effect_chain.h - class for processing and effects chain
|
||||
* EffectChain.h - class for processing and effects chain
|
||||
*
|
||||
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -26,38 +26,38 @@
|
||||
#ifndef _EFFECT_CHAIN_H
|
||||
#define _EFFECT_CHAIN_H
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "serializing_object.h"
|
||||
#include "Model.h"
|
||||
#include "SerializingObject.h"
|
||||
#include "mixer.h"
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
class effect;
|
||||
class Effect;
|
||||
|
||||
|
||||
class EXPORT effectChain : public model, public serializingObject
|
||||
class EXPORT EffectChain : public Model, public SerializingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectChain( model * _parent );
|
||||
virtual ~effectChain();
|
||||
EffectChain( Model * _parent );
|
||||
virtual ~EffectChain();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return "fxchain";
|
||||
}
|
||||
|
||||
void appendEffect( effect * _effect );
|
||||
void removeEffect( effect * _effect );
|
||||
void moveDown( effect * _effect );
|
||||
void moveUp( effect * _effect );
|
||||
void appendEffect( Effect * _effect );
|
||||
void removeEffect( Effect * _effect );
|
||||
void moveDown( Effect * _effect );
|
||||
void moveUp( Effect * _effect );
|
||||
bool processAudioBuffer( sampleFrame * _buf, const fpp_t _frames );
|
||||
void startRunning( void );
|
||||
bool isRunning( void );
|
||||
void startRunning();
|
||||
bool isRunning();
|
||||
|
||||
void clear( void );
|
||||
void clear();
|
||||
|
||||
void setEnabled( bool _on )
|
||||
{
|
||||
@@ -66,17 +66,17 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
typedef QVector<effect *> effectList;
|
||||
effectList m_effects;
|
||||
typedef QVector<Effect *> EffectList;
|
||||
EffectList m_effects;
|
||||
|
||||
boolModel m_enabledModel;
|
||||
BoolModel m_enabledModel;
|
||||
|
||||
|
||||
friend class effectRackView;
|
||||
friend class EffectRackView;
|
||||
|
||||
|
||||
signals:
|
||||
void aboutToClear( void );
|
||||
void aboutToClear();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* effect_control_dialog.h - base-class for effect-dialogs for displaying and
|
||||
* editing control port values
|
||||
* EffectControlDialog.h - base-class for effect-dialogs for displaying and
|
||||
* editing control port values
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -28,18 +28,17 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class EffectControls;
|
||||
|
||||
|
||||
class effectControls;
|
||||
|
||||
|
||||
class EXPORT effectControlDialog : public QWidget, public modelView
|
||||
class EXPORT EffectControlDialog : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectControlDialog( effectControls * _controls );
|
||||
virtual ~effectControlDialog();
|
||||
EffectControlDialog( EffectControls * _controls );
|
||||
virtual ~EffectControlDialog();
|
||||
|
||||
|
||||
signals:
|
||||
@@ -49,7 +48,7 @@ signals:
|
||||
protected:
|
||||
virtual void closeEvent( QCloseEvent * _ce );
|
||||
|
||||
effectControls * m_effectControls;
|
||||
EffectControls * m_effectControls;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* effect_controls.h - model for effect-controls
|
||||
* EffectControls.h - model for effect-controls
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -25,42 +25,39 @@
|
||||
#ifndef _EFFECT_CONTROLS_H
|
||||
#define _EFFECT_CONTROLS_H
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "journalling_object.h"
|
||||
#include "effect.h"
|
||||
#include "Model.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "Effect.h"
|
||||
|
||||
class EffectControlDialog;
|
||||
|
||||
|
||||
class effectControlDialog;
|
||||
|
||||
|
||||
class effectControls : public journallingObject, public model
|
||||
class EffectControls : public JournallingObject, public Model
|
||||
{
|
||||
public:
|
||||
effectControls( effect * _eff ) :
|
||||
journallingObject(),
|
||||
model( _eff ),
|
||||
EffectControls( Effect * _eff ) :
|
||||
JournallingObject(),
|
||||
Model( _eff ),
|
||||
m_effect( _eff )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~effectControls()
|
||||
virtual ~EffectControls()
|
||||
{
|
||||
}
|
||||
|
||||
virtual int getControlCount( void ) = 0;
|
||||
virtual effectControlDialog * createView( void ) = 0;
|
||||
virtual int controlCount() = 0;
|
||||
virtual EffectControlDialog * createView() = 0;
|
||||
|
||||
|
||||
// template<class T>
|
||||
effect * getEffect( void )
|
||||
Effect * effect()
|
||||
{
|
||||
return( m_effect );
|
||||
//return( dynamic_cast<T *>( m_effect ) );
|
||||
return m_effect;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
effect * m_effect;
|
||||
Effect * m_effect;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -28,56 +28,57 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "effect_chain.h"
|
||||
#include "EffectChain.h"
|
||||
#include "ModelView.h"
|
||||
#include "lmms_basics.h"
|
||||
|
||||
class QScrollArea;
|
||||
class QVBoxLayout;
|
||||
|
||||
class effectView;
|
||||
class EffectView;
|
||||
class groupBox;
|
||||
|
||||
|
||||
class effectRackView : public QWidget, public modelView
|
||||
class EffectRackView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectRackView( effectChain * _model, QWidget * _parent = NULL );
|
||||
virtual ~effectRackView();
|
||||
EffectRackView( EffectChain * _model, QWidget * _parent = NULL );
|
||||
virtual ~EffectRackView();
|
||||
|
||||
QVBoxLayout * mainLayout( void )
|
||||
QVBoxLayout * mainLayout()
|
||||
{
|
||||
return m_mainLayout;
|
||||
}
|
||||
|
||||
|
||||
public slots:
|
||||
void clearViews( void );
|
||||
void moveUp( effectView * _view );
|
||||
void moveDown( effectView * _view );
|
||||
void deletePlugin( effectView * _view );
|
||||
void clearViews();
|
||||
void moveUp( EffectView * _view );
|
||||
void moveDown( EffectView * _view );
|
||||
void deletePlugin( EffectView * _view );
|
||||
|
||||
|
||||
private slots:
|
||||
virtual void update( void );
|
||||
void addEffect( void );
|
||||
virtual void update();
|
||||
void addEffect();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
inline effectChain * fxChain( void )
|
||||
inline EffectChain * fxChain()
|
||||
{
|
||||
return( castModel<effectChain>() );
|
||||
return castModel<EffectChain>();
|
||||
}
|
||||
|
||||
inline const effectChain * fxChain( void ) const
|
||||
inline const EffectChain * fxChain() const
|
||||
{
|
||||
return( castModel<effectChain>() );
|
||||
return castModel<EffectChain>();
|
||||
}
|
||||
|
||||
|
||||
QVector<effectView *> m_effectViews;
|
||||
QVector<EffectView *> m_effectViews;
|
||||
|
||||
QVBoxLayout * m_mainLayout;
|
||||
groupBox * m_effectsGroupBox;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* effect_select_dialog.h - dialog to choose effect plugin
|
||||
* EffectSelectDialog.h - dialog to choose effect plugin
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _EFFECT_SELECT_DIALOG_H
|
||||
#define _EFFECT_SELECT_DIALOG_H
|
||||
|
||||
@@ -30,8 +29,8 @@
|
||||
#include <QtGui/QSortFilterProxyModel>
|
||||
#include <QtGui/QStandardItemModel>
|
||||
|
||||
#include "effect_chain.h"
|
||||
#include "effect.h"
|
||||
#include "EffectChain.h"
|
||||
#include "Effect.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
@@ -39,56 +38,56 @@ class QListView;
|
||||
class QScrollArea;
|
||||
|
||||
|
||||
class effectSelectDialog : public QDialog
|
||||
class EffectSelectDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectSelectDialog( QWidget * _parent );
|
||||
virtual ~effectSelectDialog();
|
||||
EffectSelectDialog( QWidget * _parent );
|
||||
virtual ~EffectSelectDialog();
|
||||
|
||||
effect * instantiateSelectedPlugin( effectChain * _parent );
|
||||
Effect * instantiateSelectedPlugin( EffectChain * _parent );
|
||||
|
||||
|
||||
public slots:
|
||||
void setSelection( const effectKey & _selection );
|
||||
void selectPlugin( void );
|
||||
void setSelection( const EffectKey & _selection );
|
||||
void selectPlugin();
|
||||
|
||||
private:
|
||||
effectKey m_currentSelection;
|
||||
EffectKey m_currentSelection;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class effectListWidget : public QWidget
|
||||
class EffectListWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectListWidget( QWidget * _parent );
|
||||
EffectListWidget( QWidget * _parent );
|
||||
|
||||
virtual ~effectListWidget();
|
||||
virtual ~EffectListWidget();
|
||||
|
||||
inline effectKey getSelected( void )
|
||||
inline EffectKey getSelected()
|
||||
{
|
||||
return( m_currentSelection );
|
||||
}
|
||||
|
||||
|
||||
signals:
|
||||
void highlighted( const effectKey & _key );
|
||||
void doubleClicked( const effectKey & _key );
|
||||
void highlighted( const EffectKey & _key );
|
||||
void doubleClicked( const EffectKey & _key );
|
||||
|
||||
|
||||
protected slots:
|
||||
void rowChanged( const QModelIndex &, const QModelIndex & );
|
||||
void onDoubleClicked( const QModelIndex & );
|
||||
void updateSelection( void );
|
||||
void updateSelection();
|
||||
|
||||
|
||||
private:
|
||||
QVector<plugin::descriptor> m_pluginDescriptors;
|
||||
effectKeyList m_effectKeys;
|
||||
effectKey m_currentSelection;
|
||||
QVector<Plugin::Descriptor> m_pluginDescriptors;
|
||||
EffectKeyList m_effectKeys;
|
||||
EffectKey m_currentSelection;
|
||||
|
||||
QLineEdit * m_filterEdit;
|
||||
QListView * m_pluginList;
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* effect_view.h - view-component for an effect
|
||||
* EffectView.h - view-component for an effect
|
||||
*
|
||||
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2007-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2007-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -26,68 +26,67 @@
|
||||
#ifndef _EFFECT_VIEW_H
|
||||
#define _EFFECT_VIEW_H
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "plugin_view.h"
|
||||
#include "effect.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "PluginView.h"
|
||||
#include "Effect.h"
|
||||
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QPushButton;
|
||||
class QMdiSubWindow;
|
||||
|
||||
class audioPort;
|
||||
class effectControlDialog;
|
||||
class EffectControlDialog;
|
||||
class knob;
|
||||
class ledCheckBox;
|
||||
class tempoSyncKnob;
|
||||
class TempoSyncKnob;
|
||||
|
||||
|
||||
class effectView : public pluginView
|
||||
class EffectView : public PluginView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
effectView( effect * _model, QWidget * _parent );
|
||||
virtual ~effectView();
|
||||
EffectView( Effect * _model, QWidget * _parent );
|
||||
virtual ~EffectView();
|
||||
|
||||
inline effect * getEffect( void )
|
||||
inline Effect * effect()
|
||||
{
|
||||
return( castModel<effect>() );
|
||||
return castModel<Effect>();
|
||||
}
|
||||
inline const effect * getEffect( void ) const
|
||||
inline const Effect * effect() const
|
||||
{
|
||||
return( castModel<effect>() );
|
||||
return castModel<Effect>();
|
||||
}
|
||||
|
||||
|
||||
public slots:
|
||||
void editControls( void );
|
||||
void moveUp( void );
|
||||
void moveDown( void );
|
||||
void deletePlugin( void );
|
||||
void displayHelp( void );
|
||||
void closeEffects( void );
|
||||
void editControls();
|
||||
void moveUp();
|
||||
void moveDown();
|
||||
void deletePlugin();
|
||||
void displayHelp();
|
||||
void closeEffects();
|
||||
|
||||
|
||||
signals:
|
||||
void moveUp( effectView * _plugin );
|
||||
void moveDown( effectView * _plugin );
|
||||
void deletePlugin( effectView * _plugin );
|
||||
void moveUp( EffectView * _plugin );
|
||||
void moveDown( EffectView * _plugin );
|
||||
void deletePlugin( EffectView * _plugin );
|
||||
|
||||
|
||||
protected:
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _me );
|
||||
virtual void paintEvent( QPaintEvent * _pe );
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
|
||||
private:
|
||||
QPixmap m_bg;
|
||||
ledCheckBox * m_bypass;
|
||||
knob * m_wetDry;
|
||||
tempoSyncKnob * m_autoQuit;
|
||||
TempoSyncKnob * m_autoQuit;
|
||||
knob * m_gate;
|
||||
QMdiSubWindow * m_subWindow;
|
||||
effectControlDialog * m_controlView;
|
||||
EffectControlDialog * m_controlView;
|
||||
bool m_show;
|
||||
|
||||
} ;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* envelope_and_lfo_parameters.h - class envelopeAndLFOParameters
|
||||
* EnvelopeAndLfoParameters.h - class EnvelopeAndLfoParameters
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -28,79 +28,79 @@
|
||||
|
||||
#include <QtCore/QVector>
|
||||
|
||||
#include "journalling_object.h"
|
||||
#include "automatable_model.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "sample_buffer.h"
|
||||
#include "tempo_sync_knob.h"
|
||||
#include "TempoSyncKnobModel.h"
|
||||
#include "lmms_basics.h"
|
||||
|
||||
|
||||
|
||||
class EXPORT envelopeAndLFOParameters : public model, public journallingObject
|
||||
class EXPORT EnvelopeAndLfoParameters : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
envelopeAndLFOParameters( float _value_for_zero_amount,
|
||||
model * _parent );
|
||||
virtual ~envelopeAndLFOParameters();
|
||||
EnvelopeAndLfoParameters( float _value_for_zero_amount,
|
||||
Model * _parent );
|
||||
virtual ~EnvelopeAndLfoParameters();
|
||||
|
||||
static inline float expKnobVal( float _val )
|
||||
{
|
||||
return( ( ( _val < 0 ) ? -_val : _val ) * _val );
|
||||
return ( ( _val < 0 ) ? -_val : _val ) * _val;
|
||||
}
|
||||
|
||||
static void triggerLFO( void );
|
||||
static void resetLFO( void );
|
||||
static void triggerLfo();
|
||||
static void resetLfo();
|
||||
|
||||
void fillLevel( float * _buf, f_cnt_t _frame,
|
||||
const f_cnt_t _release_begin,
|
||||
const fpp_t _frames );
|
||||
|
||||
inline bool used( void ) const
|
||||
inline bool isUsed() const
|
||||
{
|
||||
return( m_used );
|
||||
return m_used;
|
||||
}
|
||||
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "el" );
|
||||
return "el";
|
||||
}
|
||||
|
||||
inline f_cnt_t PAHD_Frames( void ) const
|
||||
inline f_cnt_t PAHD_Frames() const
|
||||
{
|
||||
return( m_pahdFrames );
|
||||
return m_pahdFrames;
|
||||
}
|
||||
|
||||
inline f_cnt_t releaseFrames( void ) const
|
||||
inline f_cnt_t releaseFrames() const
|
||||
{
|
||||
return( m_rFrames );
|
||||
return m_rFrames;
|
||||
}
|
||||
|
||||
|
||||
public slots:
|
||||
void updateSampleVars( void );
|
||||
void updateSampleVars();
|
||||
|
||||
|
||||
protected:
|
||||
void fillLFOLevel( float * _buf, f_cnt_t _frame, const fpp_t _frames );
|
||||
void fillLfoLevel( float * _buf, f_cnt_t _frame, const fpp_t _frames );
|
||||
|
||||
|
||||
private:
|
||||
static QVector<envelopeAndLFOParameters *> s_EaLParametersInstances;
|
||||
static QVector<EnvelopeAndLfoParameters *> s_EaLParametersInstances;
|
||||
|
||||
bool m_used;
|
||||
|
||||
|
||||
floatModel m_predelayModel;
|
||||
floatModel m_attackModel;
|
||||
floatModel m_holdModel;
|
||||
floatModel m_decayModel;
|
||||
floatModel m_sustainModel;
|
||||
floatModel m_releaseModel;
|
||||
floatModel m_amountModel;
|
||||
FloatModel m_predelayModel;
|
||||
FloatModel m_attackModel;
|
||||
FloatModel m_holdModel;
|
||||
FloatModel m_decayModel;
|
||||
FloatModel m_sustainModel;
|
||||
FloatModel m_releaseModel;
|
||||
FloatModel m_amountModel;
|
||||
|
||||
float m_sustainLevel;
|
||||
float m_amount;
|
||||
@@ -112,14 +112,14 @@ private:
|
||||
sample_t * m_rEnv;
|
||||
|
||||
|
||||
floatModel m_lfoPredelayModel;
|
||||
floatModel m_lfoAttackModel;
|
||||
tempoSyncKnobModel m_lfoSpeedModel;
|
||||
floatModel m_lfoAmountModel;
|
||||
intModel m_lfoWaveModel;
|
||||
FloatModel m_lfoPredelayModel;
|
||||
FloatModel m_lfoAttackModel;
|
||||
TempoSyncKnobModel m_lfoSpeedModel;
|
||||
FloatModel m_lfoAmountModel;
|
||||
IntModel m_lfoWaveModel;
|
||||
|
||||
boolModel m_x100Model;
|
||||
boolModel m_controlEnvAmountModel;
|
||||
BoolModel m_x100Model;
|
||||
BoolModel m_controlEnvAmountModel;
|
||||
|
||||
|
||||
f_cnt_t m_lfoPredelayFrames;
|
||||
@@ -143,12 +143,12 @@ private:
|
||||
} ;
|
||||
|
||||
sample_t lfoShapeSample( fpp_t _frame_offset );
|
||||
void updateLFOShapeData( void );
|
||||
void updateLfoShapeData();
|
||||
|
||||
|
||||
|
||||
friend class envelopeAndLFOView;
|
||||
friend class flpImport;
|
||||
friend class EnvelopeAndLfoView;
|
||||
friend class FlpImport;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
/*
|
||||
* envelope_and_lfo_view.h - declaration of class envelopeAndLFOWidget which
|
||||
* is used by envelope/lfo/filter-tab of
|
||||
* channel-window
|
||||
* EnvelopeAndLfoView.h - declaration of class EnvelopeAndLfoView which
|
||||
* is used by envelope/lfo/filter-tab of instrument track
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -24,37 +23,36 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _ENVELOPE_AND_LFO_VIEW_H
|
||||
#define _ENVELOPE_AND_LFO_VIEW_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class QPaintEvent;
|
||||
class QPixmap;
|
||||
|
||||
class envelopeAndLFOParameters;
|
||||
class EnvelopeAndLfoParameters;
|
||||
|
||||
class automatableButtonGroup;
|
||||
class knob;
|
||||
class ledCheckBox;
|
||||
class pixmapButton;
|
||||
class tempoSyncKnob;
|
||||
class TempoSyncKnob;
|
||||
|
||||
|
||||
|
||||
class envelopeAndLFOView : public QWidget, public modelView
|
||||
class EnvelopeAndLfoView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
envelopeAndLFOView( QWidget * _parent );
|
||||
virtual ~envelopeAndLFOView();
|
||||
EnvelopeAndLfoView( QWidget * _parent );
|
||||
virtual ~EnvelopeAndLfoView();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
virtual void dragEnterEvent( QDragEnterEvent * _dee );
|
||||
virtual void dropEvent( QDropEvent * _de );
|
||||
@@ -63,17 +61,17 @@ protected:
|
||||
|
||||
|
||||
protected slots:
|
||||
void lfoUserWaveChanged( void );
|
||||
void lfoUserWaveChanged();
|
||||
|
||||
|
||||
private:
|
||||
static QPixmap * s_envGraph;
|
||||
static QPixmap * s_lfoGraph;
|
||||
|
||||
envelopeAndLFOParameters * m_params;
|
||||
EnvelopeAndLfoParameters * m_params;
|
||||
|
||||
|
||||
// envelope-stuff
|
||||
// envelope stuff
|
||||
knob * m_predelayKnob;
|
||||
knob * m_attackKnob;
|
||||
knob * m_holdKnob;
|
||||
@@ -82,10 +80,10 @@ private:
|
||||
knob * m_releaseKnob;
|
||||
knob * m_amountKnob;
|
||||
|
||||
// LFO-stuff
|
||||
// LFO stuff
|
||||
knob * m_lfoPredelayKnob;
|
||||
knob * m_lfoAttackKnob;
|
||||
tempoSyncKnob * m_lfoSpeedKnob;
|
||||
TempoSyncKnob * m_lfoSpeedKnob;
|
||||
knob * m_lfoAmountKnob;
|
||||
pixmapButton * m_userLfoBtn;
|
||||
automatableButtonGroup * m_lfoWaveBtnGrp;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* fx_mixer.h - effect-mixer for LMMS
|
||||
* FxMixer.h - effect-mixer for LMMS
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,32 +22,31 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _FX_MIXER_H
|
||||
#define _FX_MIXER_H
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "Model.h"
|
||||
#include "mixer.h"
|
||||
#include "effect_chain.h"
|
||||
#include "journalling_object.h"
|
||||
#include "EffectChain.h"
|
||||
#include "JournallingObject.h"
|
||||
|
||||
|
||||
const int NumFxChannels = 64;
|
||||
|
||||
|
||||
struct fxChannel
|
||||
struct FxChannel
|
||||
{
|
||||
fxChannel( model * _parent );
|
||||
~fxChannel();
|
||||
FxChannel( Model * _parent );
|
||||
~FxChannel();
|
||||
|
||||
effectChain m_fxChain;
|
||||
EffectChain m_fxChain;
|
||||
bool m_used;
|
||||
bool m_stillRunning;
|
||||
float m_peakLeft;
|
||||
float m_peakRight;
|
||||
sampleFrame * m_buffer;
|
||||
boolModel m_muteModel;
|
||||
floatModel m_volumeModel;
|
||||
BoolModel m_muteModel;
|
||||
FloatModel m_volumeModel;
|
||||
QString m_name;
|
||||
QMutex m_lock;
|
||||
|
||||
@@ -55,30 +54,30 @@ struct fxChannel
|
||||
|
||||
|
||||
|
||||
class fxMixer : public journallingObject, public model
|
||||
class FxMixer : public JournallingObject, public Model
|
||||
{
|
||||
public:
|
||||
fxMixer();
|
||||
virtual ~fxMixer();
|
||||
FxMixer();
|
||||
virtual ~FxMixer();
|
||||
|
||||
void mixToChannel( const sampleFrame * _buf, fx_ch_t _ch );
|
||||
void processChannel( fx_ch_t _ch, sampleFrame * _buf = NULL );
|
||||
|
||||
void prepareMasterMix( void );
|
||||
void prepareMasterMix();
|
||||
void masterMix( sampleFrame * _buf );
|
||||
|
||||
|
||||
void clear( void );
|
||||
void clear();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return "fxmixer";
|
||||
}
|
||||
|
||||
fxChannel * getEffectChannel( int _ch )
|
||||
FxChannel * effectChannel( int _ch )
|
||||
{
|
||||
if( _ch >= 0 && _ch <= NumFxChannels )
|
||||
{
|
||||
@@ -89,11 +88,11 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
fxChannel * m_fxChannels[NumFxChannels+1]; // +1 = master
|
||||
FxChannel * m_fxChannels[NumFxChannels+1]; // +1 = master
|
||||
|
||||
|
||||
friend class mixerWorkerThread;
|
||||
friend class fxMixerView;
|
||||
friend class FxMixerView;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* fx_mixer_view.h - effect-mixer-view for LMMS
|
||||
* FxMixerView.h - effect-mixer-view for LMMS
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -22,64 +22,62 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _FX_MIXER_VIEW_H
|
||||
#define _FX_MIXER_VIEW_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "fx_mixer.h"
|
||||
|
||||
#include "FxMixer.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class QStackedLayout;
|
||||
class QButtonGroup;
|
||||
class fader;
|
||||
class fxLine;
|
||||
class effectRackView;
|
||||
class FxLine;
|
||||
class EffectRackView;
|
||||
class pixmapButton;
|
||||
|
||||
|
||||
|
||||
class fxMixerView : public QWidget, public modelView,
|
||||
public serializingObjectHook
|
||||
class FxMixerView : public QWidget, public ModelView,
|
||||
public SerializingObjectHook
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
fxMixerView();
|
||||
virtual ~fxMixerView();
|
||||
FxMixerView();
|
||||
virtual ~FxMixerView();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
fxLine * currentFxLine( void )
|
||||
FxLine * currentFxLine()
|
||||
{
|
||||
return( m_currentFxLine );
|
||||
return m_currentFxLine;
|
||||
}
|
||||
void setCurrentFxLine( fxLine * _line );
|
||||
void setCurrentFxLine( FxLine * _line );
|
||||
void setCurrentFxLine( int _line );
|
||||
|
||||
void clear( void );
|
||||
void clear();
|
||||
|
||||
|
||||
private slots:
|
||||
void updateFaders( void );
|
||||
void updateFaders();
|
||||
|
||||
|
||||
private:
|
||||
struct fxChannelView
|
||||
struct FxChannelView
|
||||
{
|
||||
fxLine * m_fxLine;
|
||||
effectRackView * m_rackView;
|
||||
FxLine * m_fxLine;
|
||||
EffectRackView * m_rackView;
|
||||
pixmapButton * m_muteBtn;
|
||||
fader * m_fader;
|
||||
} ;
|
||||
|
||||
fxChannelView m_fxChannelViews[NumFxChannels+1];
|
||||
FxChannelView m_fxChannelViews[NumFxChannels+1];
|
||||
|
||||
QStackedLayout * m_fxRacksLayout;
|
||||
QStackedLayout * m_fxLineBanks;
|
||||
QButtonGroup * m_bankButtons;
|
||||
fxLine * m_currentFxLine;
|
||||
FxLine * m_currentFxLine;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* import_filter.h - declaration of class importFilter, the base-class for all
|
||||
* file import filters
|
||||
* ImportFilter.h - declaration of class ImportFilter, the base-class for all
|
||||
* file import filters
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,25 +23,23 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _IMPORT_FILTER_H
|
||||
#define _IMPORT_FILTER_H
|
||||
|
||||
#include <QtCore/QFile>
|
||||
|
||||
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
|
||||
|
||||
class trackContainer;
|
||||
|
||||
|
||||
class EXPORT importFilter : public plugin
|
||||
class EXPORT ImportFilter : public Plugin
|
||||
{
|
||||
public:
|
||||
importFilter( const QString & _file_name,
|
||||
const descriptor * _descriptor );
|
||||
virtual ~importFilter();
|
||||
ImportFilter( const QString & _file_name,
|
||||
const Descriptor * _descriptor );
|
||||
virtual ~ImportFilter();
|
||||
|
||||
|
||||
// tries to import given file to given track-container by having all
|
||||
@@ -58,31 +56,31 @@ protected:
|
||||
m_file.setFileName( _file );
|
||||
}
|
||||
|
||||
const QFile & file( void ) const
|
||||
const QFile & file() const
|
||||
{
|
||||
return( m_file );
|
||||
return m_file;
|
||||
}
|
||||
|
||||
bool openFile( void );
|
||||
bool openFile();
|
||||
|
||||
inline void closeFile( void )
|
||||
inline void closeFile()
|
||||
{
|
||||
m_file.close();
|
||||
}
|
||||
|
||||
inline int readByte( void )
|
||||
inline int readByte()
|
||||
{
|
||||
unsigned char c;
|
||||
if( m_file.getChar( (char*) &c ) )
|
||||
{
|
||||
return( static_cast<int>( c ) );
|
||||
return static_cast<int>( c );
|
||||
}
|
||||
return( -1 );
|
||||
return -1;
|
||||
}
|
||||
|
||||
inline int readBlock( char * _data, int _len )
|
||||
{
|
||||
return( m_file.read( _data, _len ) );
|
||||
return m_file.read( _data, _len );
|
||||
}
|
||||
|
||||
inline void ungetChar( char _ch )
|
||||
@@ -98,9 +96,9 @@ protected:
|
||||
{
|
||||
}
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "import_filter" );
|
||||
return "import_filter";
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* instrument.h - declaration of class instrument, which provides a
|
||||
* Instrument.h - declaration of class Instrument, which provides a
|
||||
* standard interface for all instrument plugins
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
@@ -28,25 +28,25 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
#include "mixer.h"
|
||||
|
||||
|
||||
// forward-declarations
|
||||
class instrumentTrack;
|
||||
class instrumentView;
|
||||
class InstrumentTrack;
|
||||
class InstrumentView;
|
||||
class midiEvent;
|
||||
class midiTime;
|
||||
class notePlayHandle;
|
||||
class track;
|
||||
|
||||
|
||||
class EXPORT instrument : public plugin
|
||||
class EXPORT Instrument : public Plugin
|
||||
{
|
||||
public:
|
||||
instrument( instrumentTrack * _instrument_track,
|
||||
const descriptor * _descriptor );
|
||||
virtual ~instrument();
|
||||
Instrument( InstrumentTrack * _instrument_track,
|
||||
const Descriptor * _descriptor );
|
||||
virtual ~Instrument();
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// functions that can/should be re-implemented:
|
||||
@@ -99,8 +99,7 @@ public:
|
||||
|
||||
// sub-classes can re-implement this for receiving all incoming
|
||||
// MIDI-events
|
||||
inline virtual bool handleMidiEvent( const midiEvent &,
|
||||
const midiTime & )
|
||||
inline virtual bool handleMidiEvent( const midiEvent &, const midiTime & )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -113,14 +112,14 @@ public:
|
||||
|
||||
// instantiate instrument-plugin with given name or return NULL
|
||||
// on failure
|
||||
static instrument * instantiate( const QString & _plugin_name,
|
||||
instrumentTrack * _instrument_track );
|
||||
static Instrument * instantiate( const QString & _plugin_name,
|
||||
InstrumentTrack * _instrument_track );
|
||||
|
||||
virtual bool isFromTrack( const track * _track ) const;
|
||||
|
||||
|
||||
protected:
|
||||
inline instrumentTrack * getInstrumentTrack() const
|
||||
inline InstrumentTrack * instrumentTrack() const
|
||||
{
|
||||
return m_instrumentTrack;
|
||||
}
|
||||
@@ -132,7 +131,7 @@ protected:
|
||||
|
||||
|
||||
private:
|
||||
instrumentTrack * m_instrumentTrack;
|
||||
InstrumentTrack * m_instrumentTrack;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* instrument_function_views.h - views for instrument-functions-tab
|
||||
* InstrumentFunctionViews.h - views for instrument-functions-tab
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,11 +22,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_FUNCTION_VIEWS_H
|
||||
#define _INSTRUMENT_FUNCTION_VIEWS_H
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
@@ -34,25 +33,25 @@ class QLabel;
|
||||
class comboBox;
|
||||
class groupBox;
|
||||
class knob;
|
||||
class tempoSyncKnob;
|
||||
class TempoSyncKnob;
|
||||
|
||||
class arpeggiator;
|
||||
class chordCreator;
|
||||
class Arpeggiator;
|
||||
class ChordCreator;
|
||||
|
||||
|
||||
|
||||
class chordCreatorView : public QWidget, public modelView
|
||||
class ChordCreatorView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
chordCreatorView( chordCreator * _cc, QWidget * _parent );
|
||||
virtual ~chordCreatorView();
|
||||
ChordCreatorView( ChordCreator * _cc, QWidget * _parent );
|
||||
virtual ~ChordCreatorView();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
chordCreator * m_cc;
|
||||
ChordCreator * m_cc;
|
||||
|
||||
groupBox * m_chordsGroupBox;
|
||||
comboBox * m_chordsComboBox;
|
||||
@@ -64,22 +63,22 @@ private:
|
||||
|
||||
|
||||
|
||||
class arpeggiatorView : public QWidget, public modelView
|
||||
class ArpeggiatorView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
arpeggiatorView( arpeggiator * _arp, QWidget * _parent );
|
||||
virtual ~arpeggiatorView();
|
||||
ArpeggiatorView( Arpeggiator * _arp, QWidget * _parent );
|
||||
virtual ~ArpeggiatorView();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
arpeggiator * m_a;
|
||||
Arpeggiator * m_a;
|
||||
groupBox * m_arpGroupBox;
|
||||
comboBox * m_arpComboBox;
|
||||
knob * m_arpRangeKnob;
|
||||
tempoSyncKnob * m_arpTimeKnob;
|
||||
TempoSyncKnob * m_arpTimeKnob;
|
||||
knob * m_arpGateKnob;
|
||||
|
||||
QLabel * m_arpDirectionLbl;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* instrument_functions.h - models for instrument-functions-tab
|
||||
* InstrumentFunctions.h - models for instrument-functions-tab
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,30 +22,29 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_FUNCTIONS_H
|
||||
#define _INSTRUMENT_FUNCTIONS_H
|
||||
|
||||
#include "journalling_object.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "lmms_basics.h"
|
||||
#include "automatable_model.h"
|
||||
#include "tempo_sync_knob.h"
|
||||
#include "combobox_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "TempoSyncKnobModel.h"
|
||||
#include "ComboBoxModel.h"
|
||||
|
||||
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
class notePlayHandle;
|
||||
|
||||
|
||||
const int MAX_CHORD_POLYPHONY = 10;
|
||||
|
||||
|
||||
class chordCreator : public model, public journallingObject
|
||||
class ChordCreator : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
chordCreator( model * _parent );
|
||||
virtual ~chordCreator();
|
||||
ChordCreator( Model * _parent );
|
||||
virtual ~ChordCreator();
|
||||
|
||||
void processNote( notePlayHandle * _n );
|
||||
|
||||
@@ -53,44 +52,44 @@ public:
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "chordcreator" );
|
||||
return "chordcreator";
|
||||
}
|
||||
|
||||
|
||||
static struct chord
|
||||
static struct Chord
|
||||
{
|
||||
const QString name;
|
||||
Sint8 interval[MAX_CHORD_POLYPHONY];
|
||||
} s_chordTable[];
|
||||
|
||||
|
||||
static inline int getChordSize( chord & _c )
|
||||
static inline int getChordSize( Chord & _c )
|
||||
{
|
||||
int idx = 0;
|
||||
while( _c.interval[idx] != -1 )
|
||||
{
|
||||
++idx;
|
||||
}
|
||||
return( idx );
|
||||
return idx;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
boolModel m_chordsEnabledModel;
|
||||
comboBoxModel m_chordsModel;
|
||||
floatModel m_chordRangeModel;
|
||||
BoolModel m_chordsEnabledModel;
|
||||
ComboBoxModel m_chordsModel;
|
||||
FloatModel m_chordRangeModel;
|
||||
|
||||
|
||||
friend class chordCreatorView;
|
||||
friend class ChordCreatorView;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
class arpeggiator : public model, public journallingObject
|
||||
class Arpeggiator : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -103,8 +102,8 @@ public:
|
||||
NumArpDirections
|
||||
} ;
|
||||
|
||||
arpeggiator( model * _parent );
|
||||
virtual ~arpeggiator();
|
||||
Arpeggiator( Model * _parent );
|
||||
virtual ~Arpeggiator();
|
||||
|
||||
void processNote( notePlayHandle * _n );
|
||||
|
||||
@@ -112,9 +111,9 @@ public:
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "arpeggiator" );
|
||||
return "arpeggiator";
|
||||
}
|
||||
|
||||
|
||||
@@ -126,18 +125,18 @@ private:
|
||||
SyncMode
|
||||
} ;
|
||||
|
||||
boolModel m_arpEnabledModel;
|
||||
comboBoxModel m_arpModel;
|
||||
floatModel m_arpRangeModel;
|
||||
tempoSyncKnobModel m_arpTimeModel;
|
||||
floatModel m_arpGateModel;
|
||||
comboBoxModel m_arpDirectionModel;
|
||||
comboBoxModel m_arpModeModel;
|
||||
BoolModel m_arpEnabledModel;
|
||||
ComboBoxModel m_arpModel;
|
||||
FloatModel m_arpRangeModel;
|
||||
TempoSyncKnobModel m_arpTimeModel;
|
||||
FloatModel m_arpGateModel;
|
||||
ComboBoxModel m_arpDirectionModel;
|
||||
ComboBoxModel m_arpModeModel;
|
||||
|
||||
|
||||
friend class flpImport;
|
||||
friend class instrumentTrack;
|
||||
friend class arpeggiatorView;
|
||||
friend class FlpImport;
|
||||
friend class InstrumentTrack;
|
||||
friend class ArpeggiatorView;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* instrument_midi_io_view.h - tab-widget in instrument-track-window for setting
|
||||
* up MIDI-related stuff
|
||||
* InstrumentMidiIOView.h - widget in instrument-track-window for setting
|
||||
* up MIDI-related stuff
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,30 +23,28 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_MIDI_IO_VIEW_H
|
||||
#define _INSTRUMENT_MIDI_IO_VIEW_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
|
||||
class groupBox;
|
||||
class lcdSpinBox;
|
||||
class midiPortMenu;
|
||||
class QToolButton;
|
||||
|
||||
|
||||
class instrumentMidiIOView : public QWidget, public modelView
|
||||
class InstrumentMidiIOView : public QWidget, public ModelView
|
||||
{
|
||||
public:
|
||||
instrumentMidiIOView( QWidget * _parent );
|
||||
virtual ~instrumentMidiIOView();
|
||||
InstrumentMidiIOView( QWidget * _parent );
|
||||
virtual ~InstrumentMidiIOView();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
groupBox * m_midiInputGroupBox;
|
||||
lcdSpinBox * m_inputChannelSpinBox;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* instrument_sound_shaping.h - class instrumentSoundShaping
|
||||
* InstrumentSoundShaping.h - declaration of class InstrumentSoundShaping
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,25 +22,24 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_SOUND_SHAPING_H
|
||||
#define _INSTRUMENT_SOUND_SHAPING_H
|
||||
|
||||
#include "mixer.h"
|
||||
#include "combobox_model.h"
|
||||
#include "ComboBoxModel.h"
|
||||
|
||||
|
||||
class instrumentTrack;
|
||||
class envelopeAndLFOParameters;
|
||||
class InstrumentTrack;
|
||||
class EnvelopeAndLfoParameters;
|
||||
class notePlayHandle;
|
||||
|
||||
|
||||
class instrumentSoundShaping : public model, public journallingObject
|
||||
class InstrumentSoundShaping : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
instrumentSoundShaping( instrumentTrack * _instrument_track );
|
||||
virtual ~instrumentSoundShaping();
|
||||
InstrumentSoundShaping( InstrumentTrack * _instrument_track );
|
||||
virtual ~InstrumentSoundShaping();
|
||||
|
||||
void processAudioBuffer( sampleFrame * _ab, const fpp_t _frames,
|
||||
notePlayHandle * _n );
|
||||
@@ -53,37 +52,37 @@ public:
|
||||
NumTargets
|
||||
} ;
|
||||
|
||||
f_cnt_t envFrames( const bool _only_vol = FALSE ) const;
|
||||
f_cnt_t releaseFrames( void ) const;
|
||||
f_cnt_t envFrames( const bool _only_vol = false ) const;
|
||||
f_cnt_t releaseFrames() const;
|
||||
|
||||
float volumeLevel( notePlayHandle * _n, const f_cnt_t _frame );
|
||||
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "eldata" );
|
||||
return "eldata";
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
envelopeAndLFOParameters * m_envLFOParameters[NumTargets];
|
||||
instrumentTrack * m_instrumentTrack;
|
||||
EnvelopeAndLfoParameters * m_envLfoParameters[NumTargets];
|
||||
InstrumentTrack * m_instrumentTrack;
|
||||
|
||||
boolModel m_filterEnabledModel;
|
||||
comboBoxModel m_filterModel;
|
||||
floatModel m_filterCutModel;
|
||||
floatModel m_filterResModel;
|
||||
BoolModel m_filterEnabledModel;
|
||||
ComboBoxModel m_filterModel;
|
||||
FloatModel m_filterCutModel;
|
||||
FloatModel m_filterResModel;
|
||||
|
||||
|
||||
friend class instrumentSoundShapingView;
|
||||
friend class flpImport;
|
||||
friend class InstrumentSoundShapingView;
|
||||
friend class FlpImport;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
extern const QString __targetNames[instrumentSoundShaping::NumTargets][3];
|
||||
extern const QString __targetNames[InstrumentSoundShaping::NumTargets][3];
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* instrument_sound_shaping_view.h - view for instrumentSoundShaping-class
|
||||
* InstrumentSoundShapingView.h - view for InstrumentSoundShaping class
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,36 +22,36 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_SOUND_SHAPING_VIEW_H
|
||||
#define _INSTRUMENT_SOUND_SHAPING_VIEW_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "instrument_sound_shaping.h"
|
||||
#include "InstrumentSoundShaping.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class envelopeAndLFOView;
|
||||
class EnvelopeAndLfoView;
|
||||
class comboBox;
|
||||
class groupBox;
|
||||
class knob;
|
||||
class tabWidget;
|
||||
|
||||
|
||||
class instrumentSoundShapingView : public QWidget, public modelView
|
||||
class InstrumentSoundShapingView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
instrumentSoundShapingView( QWidget * _parent );
|
||||
virtual ~instrumentSoundShapingView();
|
||||
InstrumentSoundShapingView( QWidget * _parent );
|
||||
virtual ~InstrumentSoundShapingView();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
|
||||
instrumentSoundShaping * m_ss;
|
||||
InstrumentSoundShaping * m_ss;
|
||||
tabWidget * m_targetsTabWidget;
|
||||
envelopeAndLFOView * m_envLFOViews[instrumentSoundShaping::NumTargets];
|
||||
EnvelopeAndLfoView * m_envLfoViews[InstrumentSoundShaping::NumTargets];
|
||||
|
||||
// filter-stuff
|
||||
groupBox * m_filterGroupBox;
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* instrument_track.h - declaration of class instrumentTrack, a track + window
|
||||
* which holds an instrument-plugin
|
||||
* InstrumentTrack.h - declaration of class InstrumentTrack, a track + window
|
||||
* which holds an instrument-plugin
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -29,41 +29,43 @@
|
||||
#include <QtGui/QPushButton>
|
||||
|
||||
#include "AudioPort.h"
|
||||
#include "instrument_functions.h"
|
||||
#include "instrument_sound_shaping.h"
|
||||
#include "InstrumentFunctions.h"
|
||||
#include "InstrumentSoundShaping.h"
|
||||
#include "MidiEventProcessor.h"
|
||||
#include "MidiPort.h"
|
||||
#include "note_play_handle.h"
|
||||
#include "piano.h"
|
||||
#include "Piano.h"
|
||||
#include "PianoView.h"
|
||||
#include "track.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
template<class T> class QQueue;
|
||||
class arpeggiatorView;
|
||||
class chordCreatorView;
|
||||
class effectRackView;
|
||||
class instrumentSoundShapingView;
|
||||
class ArpeggiatorView;
|
||||
class ChordCreatorView;
|
||||
class EffectRackView;
|
||||
class InstrumentSoundShapingView;
|
||||
class fadeButton;
|
||||
class instrument;
|
||||
class instrumentTrackWindow;
|
||||
class instrumentMidiIOView;
|
||||
class Instrument;
|
||||
class InstrumentTrackWindow;
|
||||
class InstrumentMidiIOView;
|
||||
class knob;
|
||||
class lcdSpinBox;
|
||||
class midiPortMenu;
|
||||
class multimediaProject;
|
||||
class notePlayHandle;
|
||||
class pluginView;
|
||||
class PluginView;
|
||||
class tabWidget;
|
||||
class trackLabelButton;
|
||||
|
||||
|
||||
class EXPORT instrumentTrack : public track, public MidiEventProcessor
|
||||
class EXPORT InstrumentTrack : public track, public MidiEventProcessor
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel(int,getVolume,setVolume,m_volumeModel);
|
||||
public:
|
||||
instrumentTrack( trackContainer * _tc );
|
||||
virtual ~instrumentTrack();
|
||||
InstrumentTrack( trackContainer * _tc );
|
||||
virtual ~InstrumentTrack();
|
||||
|
||||
// used by instrument
|
||||
void processAudioBuffer( sampleFrame * _buf, const fpp_t _frames,
|
||||
@@ -86,12 +88,12 @@ public:
|
||||
void playNote( notePlayHandle * _n, sampleFrame * _working_buffer );
|
||||
|
||||
QString instrumentName() const;
|
||||
inline const instrument * getInstrument() const
|
||||
inline const Instrument * instrument() const
|
||||
{
|
||||
return m_instrument;
|
||||
}
|
||||
|
||||
inline instrument * getInstrument()
|
||||
inline Instrument * instrument()
|
||||
{
|
||||
return m_instrument;
|
||||
}
|
||||
@@ -131,7 +133,7 @@ public:
|
||||
|
||||
|
||||
// load instrument whose name matches given one
|
||||
instrument * loadInstrument( const QString & _instrument_name );
|
||||
Instrument * loadInstrument( const QString & _instrument_name );
|
||||
|
||||
inline AudioPort * audioPort()
|
||||
{
|
||||
@@ -148,7 +150,7 @@ public:
|
||||
return &m_piano;
|
||||
}
|
||||
|
||||
bool arpeggiatorEnabled() const
|
||||
bool isArpeggiatorEnabled() const
|
||||
{
|
||||
return m_arpeggiator.m_arpEnabledModel.value();
|
||||
}
|
||||
@@ -156,27 +158,27 @@ public:
|
||||
// simple helper for removing midiport-XML-node when loading presets
|
||||
static void removeMidiPortNode( multimediaProject & _mmp );
|
||||
|
||||
floatModel * volumeModel()
|
||||
FloatModel * volumeModel()
|
||||
{
|
||||
return &m_volumeModel;
|
||||
}
|
||||
|
||||
floatModel * panningModel()
|
||||
FloatModel * panningModel()
|
||||
{
|
||||
return &m_panningModel;
|
||||
}
|
||||
|
||||
floatModel * pitchModel()
|
||||
FloatModel * pitchModel()
|
||||
{
|
||||
return &m_pitchModel;
|
||||
}
|
||||
|
||||
intModel * pitchRangeModel()
|
||||
IntModel * pitchRangeModel()
|
||||
{
|
||||
return &m_pitchRangeModel;
|
||||
}
|
||||
|
||||
intModel * effectChannelModel()
|
||||
IntModel * effectChannelModel()
|
||||
{
|
||||
return &m_effectChannelModel;
|
||||
}
|
||||
@@ -213,48 +215,48 @@ private:
|
||||
NotePlayHandleList m_processHandles;
|
||||
|
||||
|
||||
floatModel m_volumeModel;
|
||||
floatModel m_panningModel;
|
||||
floatModel m_pitchModel;
|
||||
intModel m_pitchRangeModel;
|
||||
intModel m_effectChannelModel;
|
||||
FloatModel m_volumeModel;
|
||||
FloatModel m_panningModel;
|
||||
FloatModel m_pitchModel;
|
||||
IntModel m_pitchRangeModel;
|
||||
IntModel m_effectChannelModel;
|
||||
|
||||
|
||||
instrument * m_instrument;
|
||||
instrumentSoundShaping m_soundShaping;
|
||||
arpeggiator m_arpeggiator;
|
||||
chordCreator m_chordCreator;
|
||||
Instrument * m_instrument;
|
||||
InstrumentSoundShaping m_soundShaping;
|
||||
Arpeggiator m_arpeggiator;
|
||||
ChordCreator m_chordCreator;
|
||||
|
||||
Piano m_piano;
|
||||
|
||||
|
||||
friend class instrumentTrackView;
|
||||
friend class instrumentTrackWindow;
|
||||
friend class InstrumentTrackView;
|
||||
friend class InstrumentTrackWindow;
|
||||
friend class notePlayHandle;
|
||||
friend class flpImport;
|
||||
friend class FlpImport;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
class instrumentTrackView : public trackView
|
||||
class InstrumentTrackView : public trackView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
instrumentTrackView( instrumentTrack * _it, trackContainerView * _tc );
|
||||
virtual ~instrumentTrackView();
|
||||
InstrumentTrackView( InstrumentTrack * _it, trackContainerView * _tc );
|
||||
virtual ~InstrumentTrackView();
|
||||
|
||||
instrumentTrackWindow * getInstrumentTrackWindow();
|
||||
InstrumentTrackWindow * getInstrumentTrackWindow();
|
||||
|
||||
instrumentTrack * model()
|
||||
InstrumentTrack * model()
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
return castModel<InstrumentTrack>();
|
||||
}
|
||||
|
||||
const instrumentTrack * model() const
|
||||
const InstrumentTrack * model() const
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
return castModel<InstrumentTrack>();
|
||||
}
|
||||
|
||||
|
||||
@@ -284,9 +286,9 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
instrumentTrackWindow * m_window;
|
||||
InstrumentTrackWindow * m_window;
|
||||
|
||||
static QQueue<instrumentTrackWindow *> s_windows;
|
||||
static QQueue<InstrumentTrackWindow *> s_windows;
|
||||
|
||||
// widgets in track-settings-widget
|
||||
trackLabelButton * m_tlb;
|
||||
@@ -302,20 +304,20 @@ private:
|
||||
QPoint m_lastPos;
|
||||
|
||||
|
||||
friend class instrumentTrackWindow;
|
||||
friend class InstrumentTrackWindow;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
class instrumentTrackWindow : public QWidget, public modelView,
|
||||
public serializingObjectHook
|
||||
class InstrumentTrackWindow : public QWidget, public ModelView,
|
||||
public SerializingObjectHook
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
instrumentTrackWindow( instrumentTrackView * _tv );
|
||||
virtual ~instrumentTrackWindow();
|
||||
InstrumentTrackWindow( InstrumentTrackView * _tv );
|
||||
virtual ~InstrumentTrackWindow();
|
||||
|
||||
// parent for all internal tab-widgets
|
||||
tabWidget * tabWidgetParent()
|
||||
@@ -323,17 +325,17 @@ public:
|
||||
return m_tabWidget;
|
||||
}
|
||||
|
||||
instrumentTrack * model()
|
||||
InstrumentTrack * model()
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
return castModel<InstrumentTrack>();
|
||||
}
|
||||
|
||||
const instrumentTrack * model() const
|
||||
const InstrumentTrack * model() const
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
return castModel<InstrumentTrack>();
|
||||
}
|
||||
|
||||
void setInstrumentTrackView( instrumentTrackView * _tv )
|
||||
void setInstrumentTrackView( InstrumentTrackView * _tv )
|
||||
{
|
||||
m_itv = _tv;
|
||||
}
|
||||
@@ -367,8 +369,8 @@ protected slots:
|
||||
private:
|
||||
virtual void modelChanged();
|
||||
|
||||
instrumentTrack * m_track;
|
||||
instrumentTrackView * m_itv;
|
||||
InstrumentTrack * m_track;
|
||||
InstrumentTrackView * m_itv;
|
||||
|
||||
// widgets on the top of an instrument-track-window
|
||||
tabWidget * m_generalSettingsWidget;
|
||||
@@ -383,12 +385,12 @@ private:
|
||||
|
||||
// tab-widget with all children
|
||||
tabWidget * m_tabWidget;
|
||||
pluginView * m_instrumentView;
|
||||
instrumentSoundShapingView * m_ssView;
|
||||
chordCreatorView * m_chordView;
|
||||
arpeggiatorView * m_arpView;
|
||||
instrumentMidiIOView * m_midiView;
|
||||
effectRackView * m_effectView;
|
||||
PluginView * m_instrumentView;
|
||||
InstrumentSoundShapingView * m_ssView;
|
||||
ChordCreatorView * m_chordView;
|
||||
ArpeggiatorView * m_arpView;
|
||||
InstrumentMidiIOView * m_midiView;
|
||||
EffectRackView * m_effectView;
|
||||
|
||||
// test-piano at the bottom of every instrument-settings-window
|
||||
PianoView * m_pianoView;
|
||||
@@ -26,31 +26,31 @@
|
||||
#ifndef _INSTRUMENT_VIEW_H
|
||||
#define _INSTRUMENT_VIEW_H
|
||||
|
||||
#include "instrument.h"
|
||||
#include "plugin_view.h"
|
||||
#include "Instrument.h"
|
||||
#include "PluginView.h"
|
||||
|
||||
class instrumentTrackWindow;
|
||||
class InstrumentTrackWindow;
|
||||
|
||||
|
||||
class EXPORT InstrumentView : public pluginView
|
||||
class EXPORT InstrumentView : public PluginView
|
||||
{
|
||||
public:
|
||||
InstrumentView( instrument * _instrument, QWidget * _parent );
|
||||
InstrumentView( Instrument * _instrument, QWidget * _parent );
|
||||
virtual ~InstrumentView();
|
||||
|
||||
instrument * model()
|
||||
Instrument * model()
|
||||
{
|
||||
return castModel<instrument>();
|
||||
return castModel<Instrument>();
|
||||
}
|
||||
|
||||
const instrument * model() const
|
||||
const Instrument * model() const
|
||||
{
|
||||
return castModel<instrument>();
|
||||
return castModel<Instrument>();
|
||||
}
|
||||
|
||||
virtual void setModel( ::model * _model, bool = false );
|
||||
virtual void setModel( Model * _model, bool = false );
|
||||
|
||||
instrumentTrackWindow * getInstrumentTrackWindow();
|
||||
InstrumentTrackWindow * instrumentTrackWindow();
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* journalling_object.h - declaration of class journallingObject
|
||||
* JournallingObject.h - declaration of class JournallingObject
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,13 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _JOURNALLING_OBJECT_H
|
||||
#define _JOURNALLING_OBJECT_H
|
||||
|
||||
#include "lmms_basics.h"
|
||||
#include "export.h"
|
||||
#include "serializing_object.h"
|
||||
#include "SerializingObject.h"
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtCore/QVector>
|
||||
@@ -38,43 +37,43 @@
|
||||
typedef uint32_t t_action_id;
|
||||
|
||||
|
||||
class journalEntry
|
||||
class JournalEntry
|
||||
{
|
||||
public:
|
||||
journalEntry( const t_action_id _action_id, const QVariant & _data ) :
|
||||
JournalEntry( const t_action_id _action_id, const QVariant & _data ) :
|
||||
m_actionID( _action_id ),
|
||||
m_data( _data )
|
||||
{
|
||||
}
|
||||
|
||||
journalEntry( void ) :
|
||||
JournalEntry() :
|
||||
m_actionID( 0 ),
|
||||
m_data( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
~journalEntry()
|
||||
~JournalEntry()
|
||||
{
|
||||
}
|
||||
|
||||
t_action_id actionID( void ) const
|
||||
t_action_id actionID() const
|
||||
{
|
||||
return( m_actionID );
|
||||
return m_actionID;
|
||||
}
|
||||
|
||||
t_action_id & actionID( void )
|
||||
t_action_id & actionID()
|
||||
{
|
||||
return( m_actionID );
|
||||
return m_actionID;
|
||||
}
|
||||
|
||||
const QVariant & data( void ) const
|
||||
const QVariant & data() const
|
||||
{
|
||||
return( m_data );
|
||||
return m_data;
|
||||
}
|
||||
|
||||
QVariant & data( void )
|
||||
QVariant & data()
|
||||
{
|
||||
return( m_data );
|
||||
return m_data;
|
||||
}
|
||||
|
||||
|
||||
@@ -85,30 +84,30 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
typedef QVector<journalEntry> journalEntryVector;
|
||||
typedef QVector<JournalEntry> JournalEntryVector;
|
||||
|
||||
|
||||
class EXPORT journallingObject : public serializingObject
|
||||
class EXPORT JournallingObject : public SerializingObject
|
||||
{
|
||||
public:
|
||||
journallingObject( void );
|
||||
virtual ~journallingObject();
|
||||
JournallingObject();
|
||||
virtual ~JournallingObject();
|
||||
|
||||
inline jo_id_t id( void ) const
|
||||
inline jo_id_t id() const
|
||||
{
|
||||
return( m_id );
|
||||
return m_id;
|
||||
}
|
||||
|
||||
void undo( void );
|
||||
void redo( void );
|
||||
void undo();
|
||||
void redo();
|
||||
|
||||
void clear( void )
|
||||
void clear()
|
||||
{
|
||||
m_journalEntries.clear();
|
||||
m_currentJournalEntry = m_journalEntries.end();
|
||||
}
|
||||
|
||||
void clearRedoSteps( void )
|
||||
void clearRedoSteps()
|
||||
{
|
||||
m_journalEntries.erase( m_currentJournalEntry,
|
||||
m_journalEntries.end() );
|
||||
@@ -122,7 +121,7 @@ public:
|
||||
m_journalling = _new_state;
|
||||
}
|
||||
|
||||
void restoreJournallingState( void )
|
||||
void restoreJournallingState()
|
||||
{
|
||||
m_journalling = m_journallingStateStack.pop();
|
||||
}
|
||||
@@ -133,9 +132,9 @@ public:
|
||||
virtual void restoreState( const QDomElement & _this );
|
||||
|
||||
|
||||
inline bool isJournalling( void ) const
|
||||
inline bool isJournalling() const
|
||||
{
|
||||
return( m_journalling );
|
||||
return m_journalling;
|
||||
}
|
||||
|
||||
inline void setJournalling( const bool _sr )
|
||||
@@ -145,22 +144,22 @@ public:
|
||||
|
||||
inline bool testAndSetJournalling( const bool _sr )
|
||||
{
|
||||
bool old_journalling = m_journalling;
|
||||
const bool oldJournalling = m_journalling;
|
||||
m_journalling = _sr;
|
||||
return( old_journalling );
|
||||
return oldJournalling;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
void changeID( jo_id_t _id );
|
||||
|
||||
void addJournalEntry( const journalEntry & _je );
|
||||
void addJournalEntry( const JournalEntry & _je );
|
||||
|
||||
// to be implemented by sub-objects
|
||||
virtual void undoStep( journalEntry & )
|
||||
virtual void undoStep( JournalEntry & )
|
||||
{
|
||||
}
|
||||
virtual void redoStep( journalEntry & )
|
||||
virtual void redoStep( JournalEntry & )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -172,8 +171,8 @@ private:
|
||||
|
||||
jo_id_t m_id;
|
||||
|
||||
journalEntryVector m_journalEntries;
|
||||
journalEntryVector::iterator m_currentJournalEntry;
|
||||
JournalEntryVector m_journalEntries;
|
||||
JournalEntryVector::Iterator m_currentJournalEntry;
|
||||
|
||||
bool m_journalling;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* ladspa_base.h - basic declarations concerning LADSPA
|
||||
* LadspaBase.h - basic declarations concerning LADSPA
|
||||
*
|
||||
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -27,12 +27,12 @@
|
||||
#define _LADSPA_BASE_H
|
||||
|
||||
#include "ladspa_manager.h"
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
|
||||
class ladspaControl;
|
||||
class LadspaControl;
|
||||
|
||||
|
||||
typedef enum bufferRates
|
||||
typedef enum BufferRates
|
||||
{
|
||||
CHANNEL_IN,
|
||||
CHANNEL_OUT,
|
||||
@@ -42,7 +42,7 @@ typedef enum bufferRates
|
||||
CONTROL_RATE_OUTPUT
|
||||
} buffer_rate_t;
|
||||
|
||||
typedef enum bufferData
|
||||
typedef enum BufferData
|
||||
{
|
||||
TOGGLED,
|
||||
INTEGER,
|
||||
@@ -51,7 +51,7 @@ typedef enum bufferData
|
||||
NONE
|
||||
} buffer_data_t;
|
||||
|
||||
typedef struct portDescription
|
||||
typedef struct PortDescription
|
||||
{
|
||||
QString name;
|
||||
ch_cnt_t proc;
|
||||
@@ -65,22 +65,20 @@ typedef struct portDescription
|
||||
LADSPA_Data def;
|
||||
LADSPA_Data value;
|
||||
LADSPA_Data * buffer;
|
||||
ladspaControl * control;
|
||||
LadspaControl * control;
|
||||
} port_desc_t;
|
||||
|
||||
|
||||
inline plugin::descriptor::subPluginFeatures::key ladspaKeyToSubPluginKey(
|
||||
plugin::descriptor * _desc,
|
||||
inline Plugin::Descriptor::SubPluginFeatures::Key ladspaKeyToSubPluginKey(
|
||||
Plugin::Descriptor * _desc,
|
||||
const QString & _name,
|
||||
const ladspa_key_t & _key )
|
||||
{
|
||||
plugin::descriptor::subPluginFeatures::key::attributeMap m;
|
||||
Plugin::Descriptor::SubPluginFeatures::Key::AttributeMap m;
|
||||
QString file = _key.first;
|
||||
m["file"] = file.remove( QRegExp( "\\.so$" ) ).
|
||||
remove( QRegExp( "\\.dll$" ) );
|
||||
m["file"] = file.remove( QRegExp( "\\.so$" ) ).remove( QRegExp( "\\.dll$" ) );
|
||||
m["plugin"] = _key.second;
|
||||
return( plugin::descriptor::subPluginFeatures::key( _desc, _name,
|
||||
m ) );
|
||||
return Plugin::Descriptor::SubPluginFeatures::Key( _desc, _name, m );
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* ladspa_control.h - model for controlling a LADSPA port
|
||||
* LadspaControl.h - model for controlling a LADSPA port
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
@@ -28,57 +28,55 @@
|
||||
|
||||
#include <ladspa.h>
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "knob.h"
|
||||
#include "tempo_sync_knob.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "TempoSyncKnobModel.h"
|
||||
|
||||
|
||||
|
||||
typedef struct portDescription port_desc_t;
|
||||
typedef struct PortDescription port_desc_t;
|
||||
|
||||
|
||||
class EXPORT ladspaControl : public model, public journallingObject
|
||||
class EXPORT LadspaControl : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ladspaControl( model * _parent, port_desc_t * _port,
|
||||
LadspaControl( Model * _parent, port_desc_t * _port,
|
||||
bool _link = FALSE );
|
||||
~ladspaControl();
|
||||
~LadspaControl();
|
||||
|
||||
LADSPA_Data getValue( void );
|
||||
LADSPA_Data value();
|
||||
void setValue( LADSPA_Data _value );
|
||||
void setLink( bool _state );
|
||||
|
||||
void linkControls( ladspaControl * _control );
|
||||
void unlinkControls( ladspaControl * _control );
|
||||
void linkControls( LadspaControl * _control );
|
||||
void unlinkControls( LadspaControl * _control );
|
||||
|
||||
inline boolModel * getToggledModel( void )
|
||||
inline BoolModel * toggledModel()
|
||||
{
|
||||
return( &m_toggledModel );
|
||||
return &m_toggledModel;
|
||||
}
|
||||
|
||||
inline knobModel * getKnobModel( void )
|
||||
inline FloatModel * knobModel()
|
||||
{
|
||||
return( &m_knobModel );
|
||||
return &m_knobModel;
|
||||
}
|
||||
|
||||
inline tempoSyncKnobModel * getTempoSyncKnobModel( void )
|
||||
inline TempoSyncKnobModel * tempoSyncKnobModel()
|
||||
{
|
||||
return( &m_tempoSyncKnobModel );
|
||||
return &m_tempoSyncKnobModel;
|
||||
}
|
||||
|
||||
inline port_desc_t * getPort( void )
|
||||
inline port_desc_t * port()
|
||||
{
|
||||
return( m_port );
|
||||
return m_port;
|
||||
}
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent,
|
||||
const QString & _name );
|
||||
const QString & _name );
|
||||
virtual void loadSettings( const QDomElement & _this,
|
||||
const QString & _name );
|
||||
inline virtual QString nodeName( void ) const
|
||||
const QString & _name );
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "port" );
|
||||
return "port";
|
||||
}
|
||||
|
||||
|
||||
@@ -88,23 +86,23 @@ signals:
|
||||
|
||||
|
||||
protected slots:
|
||||
void ledChanged( void );
|
||||
void knobChanged( void );
|
||||
void tempoKnobChanged( void );
|
||||
void linkStateChanged( void );
|
||||
void ledChanged();
|
||||
void knobChanged();
|
||||
void tempoKnobChanged();
|
||||
void linkStateChanged();
|
||||
|
||||
|
||||
private:
|
||||
bool m_link;
|
||||
port_desc_t * m_port;
|
||||
|
||||
boolModel m_linkEnabledModel;
|
||||
boolModel m_toggledModel;
|
||||
knobModel m_knobModel;
|
||||
tempoSyncKnobModel m_tempoSyncKnobModel;
|
||||
BoolModel m_linkEnabledModel;
|
||||
BoolModel m_toggledModel;
|
||||
FloatModel m_knobModel;
|
||||
TempoSyncKnobModel m_tempoSyncKnobModel;
|
||||
|
||||
|
||||
friend class ladspaControlView;
|
||||
friend class LadspaControlView;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* ladspa_control_view.h - widget for controlling a LADSPA port
|
||||
* LadspaControlView.h - widget for controlling a LADSPA port
|
||||
*
|
||||
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -27,21 +28,20 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class LadspaControl;
|
||||
|
||||
|
||||
class ladspaControl;
|
||||
|
||||
|
||||
class EXPORT ladspaControlView : public QWidget, public modelView
|
||||
class EXPORT LadspaControlView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
ladspaControlView( QWidget * _parent, ladspaControl * _ctl );
|
||||
virtual ~ladspaControlView();
|
||||
LadspaControlView( QWidget * _parent, LadspaControl * _ctl );
|
||||
virtual ~LadspaControlView();
|
||||
|
||||
private:
|
||||
ladspaControl * m_ctl;
|
||||
LadspaControl * m_ctl;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -27,32 +27,31 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "automatable_model.h"
|
||||
#include "Model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "Controller.h"
|
||||
#include "ControllerDialog.h"
|
||||
#include "tempo_sync_knob.h"
|
||||
#include "oscillator.h"
|
||||
|
||||
#include "TempoSyncKnobModel.h"
|
||||
#include "Oscillator.h"
|
||||
|
||||
class automatableButtonGroup;
|
||||
class knob;
|
||||
class ledCheckBox;
|
||||
class tempoSyncKnob;
|
||||
class TempoSyncKnob;
|
||||
class pixmapButton;
|
||||
class oscillator;
|
||||
|
||||
|
||||
class LfoController : public Controller
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
LfoController( model * _parent );
|
||||
LfoController( Model * _parent );
|
||||
|
||||
virtual ~LfoController();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
virtual QString nodeName( void ) const;
|
||||
virtual QString nodeName() const;
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -63,12 +62,12 @@ protected:
|
||||
// The internal per-controller get-value function
|
||||
virtual float value( int _offset );
|
||||
|
||||
floatModel m_baseModel;
|
||||
tempoSyncKnobModel m_speedModel;
|
||||
floatModel m_amountModel;
|
||||
floatModel m_phaseModel;
|
||||
intModel m_waveModel;
|
||||
intModel m_multiplierModel;
|
||||
FloatModel m_baseModel;
|
||||
TempoSyncKnobModel m_speedModel;
|
||||
FloatModel m_amountModel;
|
||||
FloatModel m_phaseModel;
|
||||
IntModel m_waveModel;
|
||||
IntModel m_multiplierModel;
|
||||
|
||||
int m_duration;
|
||||
int m_phaseCorrection;
|
||||
@@ -78,9 +77,10 @@ protected:
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateSampleFunction( void );
|
||||
void updateSampleFunction();
|
||||
|
||||
friend class LfoControllerDialog;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -95,12 +95,12 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _me );
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
LfoController * m_lfo;
|
||||
|
||||
knob * m_baseKnob;
|
||||
tempoSyncKnob * m_speedKnob;
|
||||
TempoSyncKnob * m_speedKnob;
|
||||
knob * m_amountKnob;
|
||||
knob * m_phaseKnob;
|
||||
pixmapButton * m_userLfoBtn;
|
||||
|
||||
@@ -40,12 +40,12 @@ class QRadioButton;
|
||||
|
||||
class ResourceBrowser;
|
||||
class lcdSpinBox;
|
||||
class meterDialog;
|
||||
class MeterDialog;
|
||||
class automatableSlider;
|
||||
class textFloat;
|
||||
|
||||
class configManager;
|
||||
class pluginView;
|
||||
class PluginView;
|
||||
class toolButton;
|
||||
|
||||
enum ProjectPlaybackMode
|
||||
@@ -178,7 +178,7 @@ private:
|
||||
ProjectPlaybackMode m_playbackMode;
|
||||
|
||||
lcdSpinBox * m_tempoSpinBox;
|
||||
meterDialog * m_timeSigDisplay;
|
||||
MeterDialog * m_timeSigDisplay;
|
||||
|
||||
automatableSlider * m_masterVolumeSlider;
|
||||
automatableSlider * m_masterPitchSlider;
|
||||
@@ -204,7 +204,7 @@ private:
|
||||
} m_keyMods;
|
||||
|
||||
QMenu * m_toolsMenu;
|
||||
QList<pluginView *> m_tools;
|
||||
QList<PluginView *> m_tools;
|
||||
|
||||
QBasicTimer m_updateTimer;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* meter_dialog.h - dialog for entering meter settings
|
||||
* MeterDialog.h - dialog for entering meter settings
|
||||
*
|
||||
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/yahoo.com>
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -27,19 +28,18 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
|
||||
#include "ModelView.h"
|
||||
|
||||
class lcdSpinBox;
|
||||
|
||||
|
||||
class meterDialog : public QWidget, public modelView
|
||||
class MeterDialog : public QWidget, public ModelView
|
||||
{
|
||||
public:
|
||||
meterDialog( QWidget * _parent, bool _simple = FALSE );
|
||||
virtual ~meterDialog();
|
||||
MeterDialog( QWidget * _parent, bool _simple = false );
|
||||
virtual ~MeterDialog();
|
||||
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
|
||||
private:
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* meter_model.h - model for meter specification
|
||||
* MeterModel.h - model for meter specification
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -25,44 +25,40 @@
|
||||
#ifndef _METER_MODEL_H
|
||||
#define _METER_MODEL_H
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
|
||||
class meterModel : public model
|
||||
class MeterModel : public Model
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel(int,getNumerator,setNumerator,m_numeratorModel);
|
||||
mapPropertyFromModel(int,getDenominator,setDenominator,m_denominatorModel);
|
||||
public:
|
||||
meterModel( ::model * _parent );
|
||||
~meterModel();
|
||||
MeterModel( Model * _parent );
|
||||
~MeterModel();
|
||||
|
||||
void saveSettings( QDomDocument & _doc, QDomElement & _this,
|
||||
const QString & _name );
|
||||
void loadSettings( const QDomElement & _this,
|
||||
const QString & _name );
|
||||
void loadSettings( const QDomElement & _this, const QString & _name );
|
||||
|
||||
void reset( void );
|
||||
void reset();
|
||||
|
||||
// Must have the sub-models exposed to programatically connect
|
||||
// to automation or controllers
|
||||
intModel & numeratorModel( void )
|
||||
IntModel & numeratorModel()
|
||||
{
|
||||
return m_numeratorModel;
|
||||
}
|
||||
|
||||
intModel & denominatorModel( void )
|
||||
IntModel & denominatorModel()
|
||||
{
|
||||
return m_denominatorModel;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
intModel m_numeratorModel;
|
||||
intModel m_denominatorModel;
|
||||
|
||||
|
||||
friend class meterDialog;
|
||||
IntModel m_numeratorModel;
|
||||
IntModel m_denominatorModel;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "Controller.h"
|
||||
#include "MidiEventProcessor.h"
|
||||
#include "MidiPort.h"
|
||||
@@ -40,7 +40,7 @@ class MidiController : public Controller, public MidiEventProcessor
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
MidiController( model * _parent );
|
||||
MidiController( Model * _parent );
|
||||
virtual ~MidiController();
|
||||
|
||||
virtual void processInEvent( const midiEvent & _me,
|
||||
|
||||
@@ -25,8 +25,10 @@
|
||||
#ifndef _MIDI_EVENT_PROCESSOR_H
|
||||
#define _MIDI_EVENT_PROCESSOR_H
|
||||
|
||||
#include "piano.h"
|
||||
#include "automatable_model.h"
|
||||
#include <QtCore/QCoreApplication>
|
||||
|
||||
#include "note.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
|
||||
// all classes being able to process MIDI-events should inherit from this
|
||||
@@ -38,7 +40,7 @@ public:
|
||||
0,
|
||||
KeysPerOctave * NumOctaves - 1,
|
||||
NULL,
|
||||
PianoView::tr( "Base note" ) )
|
||||
QCoreApplication::tr( "Base note" ) )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -46,12 +48,12 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
intModel * baseNoteModel( void )
|
||||
IntModel * baseNoteModel()
|
||||
{
|
||||
return &m_baseNoteModel;
|
||||
}
|
||||
|
||||
const intModel * baseNoteModel( void ) const
|
||||
const IntModel * baseNoteModel() const
|
||||
{
|
||||
return &m_baseNoteModel;
|
||||
}
|
||||
@@ -64,7 +66,7 @@ public:
|
||||
const midiTime & _time ) = 0;
|
||||
|
||||
private:
|
||||
intModel m_baseNoteModel;
|
||||
IntModel m_baseNoteModel;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <QtCore/QPair>
|
||||
|
||||
#include "midi.h"
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
|
||||
class MidiClient;
|
||||
@@ -41,7 +41,7 @@ class midiTime;
|
||||
|
||||
|
||||
// class for abstraction of MIDI-port
|
||||
class MidiPort : public model, public serializingObject
|
||||
class MidiPort : public Model, public SerializingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel(int,inputChannel,setInputChannel,
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
MidiPort( const QString & _name,
|
||||
MidiClient * _mc,
|
||||
MidiEventProcessor * _mep,
|
||||
model * _parent = NULL,
|
||||
Model * _parent = NULL,
|
||||
Modes _mode = Disabled );
|
||||
virtual ~MidiPort();
|
||||
|
||||
@@ -157,22 +157,22 @@ private:
|
||||
|
||||
Modes m_mode;
|
||||
|
||||
intModel m_inputChannelModel;
|
||||
intModel m_outputChannelModel;
|
||||
intModel m_inputControllerModel;
|
||||
intModel m_outputControllerModel;
|
||||
intModel m_fixedInputVelocityModel;
|
||||
intModel m_fixedOutputVelocityModel;
|
||||
intModel m_outputProgramModel;
|
||||
boolModel m_readableModel;
|
||||
boolModel m_writableModel;
|
||||
IntModel m_inputChannelModel;
|
||||
IntModel m_outputChannelModel;
|
||||
IntModel m_inputControllerModel;
|
||||
IntModel m_outputControllerModel;
|
||||
IntModel m_fixedInputVelocityModel;
|
||||
IntModel m_fixedOutputVelocityModel;
|
||||
IntModel m_outputProgramModel;
|
||||
BoolModel m_readableModel;
|
||||
BoolModel m_writableModel;
|
||||
|
||||
Map m_readablePorts;
|
||||
Map m_writablePorts;
|
||||
|
||||
|
||||
friend class ControllerConnectionDialog;
|
||||
friend class instrumentMidiIOView;
|
||||
friend class InstrumentMidiIOView;
|
||||
|
||||
|
||||
signals:
|
||||
|
||||
@@ -28,14 +28,13 @@
|
||||
|
||||
#include <QtGui/QMenu>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
#include "MidiPort.h"
|
||||
|
||||
|
||||
class QAction;
|
||||
|
||||
|
||||
class MidiPortMenu : public QMenu, public modelView
|
||||
class MidiPortMenu : public QMenu, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* mv_base.h - base for M/V-architecture of LMMS
|
||||
* Model.h - declaration of Model base class
|
||||
*
|
||||
* Copyright (c) 2007-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2007-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,9 +22,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MV_BASE_H
|
||||
#define _MV_BASE_H
|
||||
#ifndef _MODEL_H
|
||||
#define _MODEL_H
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <QtCore/QPointer>
|
||||
@@ -32,36 +31,33 @@
|
||||
#include "export.h"
|
||||
|
||||
|
||||
class modelView;
|
||||
|
||||
|
||||
class EXPORT model : public QObject
|
||||
class EXPORT Model : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
model( model * _parent, QString _display_name = QString::null,
|
||||
bool _default_constructed = FALSE ) :
|
||||
Model( Model * _parent, QString _display_name = QString::null,
|
||||
bool _default_constructed = false ) :
|
||||
QObject( _parent ),
|
||||
m_displayName( _display_name ),
|
||||
m_defaultConstructed( _default_constructed )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~model()
|
||||
virtual ~Model()
|
||||
{
|
||||
}
|
||||
|
||||
inline bool defaultConstructed( void )
|
||||
inline bool defaultConstructed()
|
||||
{
|
||||
return( m_defaultConstructed );
|
||||
return m_defaultConstructed;
|
||||
}
|
||||
|
||||
inline model * parentModel( void ) const
|
||||
inline Model * parentModel() const
|
||||
{
|
||||
return static_cast<model *>( parent() );
|
||||
return static_cast<Model *>( parent() );
|
||||
}
|
||||
|
||||
virtual QString displayName( void ) const
|
||||
virtual QString displayName() const
|
||||
{
|
||||
return m_displayName;
|
||||
}
|
||||
@@ -71,75 +67,23 @@ public:
|
||||
m_displayName = _display_name;
|
||||
}
|
||||
|
||||
virtual QString fullDisplayName( void ) const;
|
||||
virtual QString fullDisplayName() const;
|
||||
|
||||
|
||||
private:
|
||||
QString m_displayName;
|
||||
bool m_defaultConstructed;
|
||||
|
||||
|
||||
signals:
|
||||
// emitted if actual data of the model (e.g. values) have changed
|
||||
void dataChanged( void );
|
||||
void dataChanged();
|
||||
|
||||
// emitted in case new data was not set as it's been equal to old data
|
||||
void dataUnchanged( void );
|
||||
void dataUnchanged();
|
||||
|
||||
// emitted if properties of the model (e.g. ranges) have changed
|
||||
void propertiesChanged( void );
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
class EXPORT modelView
|
||||
{
|
||||
public:
|
||||
modelView( model * _model, QWidget * _this );
|
||||
virtual ~modelView();
|
||||
|
||||
virtual void setModel( model * _model, bool _old_model_valid = TRUE );
|
||||
|
||||
inline model * getModel( void )
|
||||
{
|
||||
return( m_model );
|
||||
}
|
||||
|
||||
inline const model * getModel( void ) const
|
||||
{
|
||||
return( m_model );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
T * castModel( void )
|
||||
{
|
||||
return( dynamic_cast<T *>( getModel() ) );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
const T * castModel( void ) const
|
||||
{
|
||||
return( dynamic_cast<const T *>( getModel() ) );
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
// sub-classes can re-implement this to track model-changes
|
||||
virtual void modelChanged( void )
|
||||
{
|
||||
}
|
||||
|
||||
QWidget * widget( void )
|
||||
{
|
||||
return( m_widget );
|
||||
}
|
||||
|
||||
virtual void doConnections( void );
|
||||
|
||||
|
||||
private:
|
||||
QWidget * m_widget;
|
||||
QPointer<model> m_model;
|
||||
void propertiesChanged();
|
||||
|
||||
} ;
|
||||
|
||||
84
include/ModelView.h
Normal file
84
include/ModelView.h
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* ModelView.h - declaration of ModelView base class
|
||||
*
|
||||
* Copyright (c) 2007-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _MODEL_VIEW_H
|
||||
#define _MODEL_VIEW_H
|
||||
|
||||
#include "Model.h"
|
||||
|
||||
|
||||
class EXPORT ModelView
|
||||
{
|
||||
public:
|
||||
ModelView( Model * _model, QWidget * _this );
|
||||
virtual ~ModelView();
|
||||
|
||||
virtual void setModel( Model * _model, bool _old_model_valid = true );
|
||||
|
||||
inline Model * model()
|
||||
{
|
||||
return m_model;
|
||||
}
|
||||
|
||||
inline const Model * model() const
|
||||
{
|
||||
return m_model;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
T * castModel()
|
||||
{
|
||||
return dynamic_cast<T *>( model() );
|
||||
}
|
||||
|
||||
template<class T>
|
||||
const T * castModel() const
|
||||
{
|
||||
return dynamic_cast<const T *>( model() );
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
// sub-classes can re-implement this to track model-changes
|
||||
virtual void modelChanged()
|
||||
{
|
||||
}
|
||||
|
||||
QWidget * widget()
|
||||
{
|
||||
return m_widget;
|
||||
}
|
||||
|
||||
virtual void doConnections();
|
||||
|
||||
|
||||
private:
|
||||
QWidget * m_widget;
|
||||
QPointer<Model> m_model;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* oscillator.h - header-file for oscillator.cpp, a powerful oscillator-class
|
||||
* Oscillator.h - declaration of class Oscillator
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _OSCILLATOR_H
|
||||
#define _OSCILLATOR_H
|
||||
|
||||
@@ -39,10 +38,10 @@
|
||||
|
||||
|
||||
class sampleBuffer;
|
||||
class intModel;
|
||||
class IntModel;
|
||||
|
||||
|
||||
class EXPORT oscillator
|
||||
class EXPORT Oscillator
|
||||
{
|
||||
public:
|
||||
enum WaveShapes
|
||||
@@ -69,14 +68,14 @@ public:
|
||||
} ;
|
||||
|
||||
|
||||
oscillator( const intModel * _wave_shape_model,
|
||||
const intModel * _mod_algo_model,
|
||||
Oscillator( const IntModel * _wave_shape_model,
|
||||
const IntModel * _mod_algo_model,
|
||||
const float & _freq,
|
||||
const float & _detuning,
|
||||
const float & _phase_offset,
|
||||
const float & _volume,
|
||||
oscillator * _m_subOsc = NULL );
|
||||
virtual ~oscillator()
|
||||
Oscillator * _m_subOsc = NULL );
|
||||
virtual ~Oscillator()
|
||||
{
|
||||
delete m_subOsc;
|
||||
}
|
||||
@@ -94,7 +93,7 @@ public:
|
||||
|
||||
static inline sample_t sinSample( const float _sample )
|
||||
{
|
||||
return( sinf( _sample * F_2PI ) );
|
||||
return sinf( _sample * F_2PI );
|
||||
}
|
||||
|
||||
static inline sample_t triangleSample( const float _sample )
|
||||
@@ -102,23 +101,23 @@ public:
|
||||
const float ph = fraction( _sample );
|
||||
if( ph <= 0.25f )
|
||||
{
|
||||
return( ph * 4.0f );
|
||||
return ph * 4.0f;
|
||||
}
|
||||
else if( ph <= 0.75f )
|
||||
{
|
||||
return( 2.0f - ph * 4.0f );
|
||||
return 2.0f - ph * 4.0f;
|
||||
}
|
||||
return( ph * 4.0f - 4.0f );
|
||||
return ph * 4.0f - 4.0f;
|
||||
}
|
||||
|
||||
static inline sample_t sawSample( const float _sample )
|
||||
{
|
||||
return( -1.0f + fraction( _sample ) * 2.0f );
|
||||
return -1.0f + fraction( _sample ) * 2.0f;
|
||||
}
|
||||
|
||||
static inline sample_t squareSample( const float _sample )
|
||||
{
|
||||
return( ( fraction( _sample ) > 0.5f ) ? -1.0f : 1.0f );
|
||||
return ( fraction( _sample ) > 0.5f ) ? -1.0f : 1.0f;
|
||||
}
|
||||
|
||||
static inline sample_t moogSawSample( const float _sample )
|
||||
@@ -126,9 +125,9 @@ public:
|
||||
const float ph = fraction( _sample );
|
||||
if( ph < 0.5f )
|
||||
{
|
||||
return( -1.0f + ph * 4.0f );
|
||||
return -1.0f + ph * 4.0f;
|
||||
}
|
||||
return( 1.0f - 2.0f * ph );
|
||||
return 1.0f - 2.0f * ph;
|
||||
}
|
||||
|
||||
static inline sample_t expSample( const float _sample )
|
||||
@@ -138,32 +137,32 @@ public:
|
||||
{
|
||||
ph = 1.0f - ph;
|
||||
}
|
||||
return( -1.0f + 8.0f * ph * ph );
|
||||
return -1.0f + 8.0f * ph * ph;
|
||||
}
|
||||
|
||||
static inline sample_t noiseSample( const float )
|
||||
{
|
||||
// Precise implementation
|
||||
// return( 1.0f - rand() * 2.0f / RAND_MAX );
|
||||
// return 1.0f - rand() * 2.0f / RAND_MAX;
|
||||
|
||||
// Fast implementation
|
||||
return( 1.0f - fast_rand() * 2.0f / FAST_RAND_MAX );
|
||||
return 1.0f - fast_rand() * 2.0f / FAST_RAND_MAX;
|
||||
}
|
||||
|
||||
inline sample_t userWaveSample( const float _sample ) const
|
||||
{
|
||||
return( m_userWave->userWaveSample( _sample ) );
|
||||
return m_userWave->userWaveSample( _sample );
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
const intModel * m_waveShapeModel;
|
||||
const intModel * m_modulationAlgoModel;
|
||||
const IntModel * m_waveShapeModel;
|
||||
const IntModel * m_modulationAlgoModel;
|
||||
const float & m_freq;
|
||||
const float & m_detuning;
|
||||
const float & m_volume;
|
||||
const float & m_ext_phaseOffset;
|
||||
oscillator * m_subOsc;
|
||||
Oscillator * m_subOsc;
|
||||
float m_phaseOffset;
|
||||
float m_phase;
|
||||
const sampleBuffer * m_userWave;
|
||||
@@ -208,11 +207,9 @@ private:
|
||||
template<WaveShapes W>
|
||||
inline sample_t getSample( const float _sample );
|
||||
|
||||
inline void recalcPhase( void );
|
||||
inline void recalcPhase();
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -27,24 +27,24 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "automatable_model.h"
|
||||
#include "Model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "Controller.h"
|
||||
#include "ControllerDialog.h"
|
||||
|
||||
class automatableButtonGroup;
|
||||
class knob;
|
||||
class peakControllerEffect;
|
||||
class PeakControllerEffect;
|
||||
|
||||
typedef QVector<peakControllerEffect *> peakControllerEffectVector;
|
||||
typedef QVector<PeakControllerEffect *> PeakControllerEffectVector;
|
||||
|
||||
|
||||
class EXPORT PeakController : public Controller
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PeakController( model * _parent,
|
||||
peakControllerEffect *_peak_effect = NULL );
|
||||
PeakController( Model * _parent,
|
||||
PeakControllerEffect *_peak_effect = NULL );
|
||||
|
||||
|
||||
virtual ~PeakController();
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
virtual QString nodeName( void ) const;
|
||||
|
||||
static peakControllerEffectVector s_effects;
|
||||
static PeakControllerEffectVector s_effects;
|
||||
static int s_lastEffectId;
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ protected:
|
||||
// The internal per-controller get-value function
|
||||
virtual float value( int _offset );
|
||||
|
||||
peakControllerEffect * m_peakEffect;
|
||||
PeakControllerEffect * m_peakEffect;
|
||||
|
||||
friend class PeakControllerDialog;
|
||||
} ;
|
||||
|
||||
61
include/Piano.h
Normal file
61
include/Piano.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Piano.h - declaration of class Piano
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _PIANO_H
|
||||
#define _PIANO_H
|
||||
|
||||
#include "note.h"
|
||||
#include "Model.h"
|
||||
|
||||
class MidiEventProcessor;
|
||||
|
||||
class Piano : public Model
|
||||
{
|
||||
public:
|
||||
enum KeyTypes
|
||||
{
|
||||
WhiteKey,
|
||||
BlackKey
|
||||
} ;
|
||||
|
||||
Piano( MidiEventProcessor * _mep );
|
||||
virtual ~Piano();
|
||||
|
||||
void setKeyState( int _key, bool _on = false );
|
||||
|
||||
void handleKeyPress( int _key );
|
||||
void handleKeyRelease( int _key );
|
||||
|
||||
|
||||
private:
|
||||
MidiEventProcessor * m_midiEvProc;
|
||||
bool m_pressedKeys[NumKeys];
|
||||
|
||||
|
||||
friend class PianoView;
|
||||
|
||||
} ;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* piano.h - Piano and PianoView, an interactive piano/keyboard-widget
|
||||
* PianoView.h - declaration of PianoView, an interactive piano/keyboard-widget
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,48 +22,18 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _PIANO_H
|
||||
#define _PIANO_H
|
||||
#ifndef _PIANO_VIEW_H
|
||||
#define _PIANO_VIEW_H
|
||||
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtGui/QScrollBar>
|
||||
|
||||
#include "note.h"
|
||||
#include "mv_base.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
class MidiEventProcessor;
|
||||
|
||||
class Piano : public model
|
||||
{
|
||||
public:
|
||||
enum KeyTypes
|
||||
{
|
||||
WhiteKey,
|
||||
BlackKey
|
||||
} ;
|
||||
|
||||
Piano( MidiEventProcessor * _mep );
|
||||
virtual ~Piano();
|
||||
|
||||
void setKeyState( int _key, bool _on = FALSE );
|
||||
|
||||
void handleKeyPress( int _key );
|
||||
void handleKeyRelease( int _key );
|
||||
class Piano;
|
||||
|
||||
|
||||
private:
|
||||
MidiEventProcessor * m_midiEvProc;
|
||||
bool m_pressedKeys[NumKeys];
|
||||
|
||||
|
||||
friend class PianoView;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class PianoView : public QWidget, public modelView
|
||||
class PianoView : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -74,7 +44,7 @@ public:
|
||||
|
||||
|
||||
protected:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
virtual void keyPressEvent( QKeyEvent * ke );
|
||||
virtual void keyReleaseEvent( QKeyEvent * ke );
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _me );
|
||||
@@ -107,7 +77,7 @@ private slots:
|
||||
|
||||
signals:
|
||||
void keyPressed( int );
|
||||
void baseNoteChanged( void );
|
||||
void baseNoteChanged();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* plugin.h - class plugin, the base-class and generic interface for all plugins
|
||||
* Plugin.h - class plugin, the base-class and generic interface for all plugins
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -32,20 +32,20 @@
|
||||
#include <QtCore/QVector>
|
||||
#include <QtXml/QDomDocument>
|
||||
|
||||
#include "journalling_object.h"
|
||||
#include "mv_base.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "Model.h"
|
||||
#include "base64.h"
|
||||
|
||||
|
||||
class QWidget;
|
||||
|
||||
class ResourceItem;
|
||||
class pixmapLoader;
|
||||
class pluginView;
|
||||
class automatableModel;
|
||||
class PixmapLoader;
|
||||
class PluginView;
|
||||
class AutomatableModel;
|
||||
|
||||
|
||||
class EXPORT plugin : public journallingObject, public model
|
||||
class EXPORT Plugin : public JournallingObject, public Model
|
||||
{
|
||||
public:
|
||||
enum PluginTypes
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
// descriptor holds information about a plugin - every external plugin
|
||||
// has to instantiate such a descriptor in an extern "C"-section so that
|
||||
// the plugin-loader is able to access information about the plugin
|
||||
struct descriptor
|
||||
struct Descriptor
|
||||
{
|
||||
const char * name;
|
||||
const char * displayName;
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
const char * author;
|
||||
int version;
|
||||
PluginTypes type;
|
||||
const pixmapLoader * logo;
|
||||
const PixmapLoader * logo;
|
||||
const char * * supportedFileTypes;
|
||||
inline bool supportsFileType( const QString & _type ) const
|
||||
{
|
||||
@@ -89,17 +89,16 @@ public:
|
||||
}
|
||||
return false;
|
||||
}
|
||||
class EXPORT subPluginFeatures
|
||||
class EXPORT SubPluginFeatures
|
||||
{
|
||||
public:
|
||||
struct key
|
||||
struct Key
|
||||
{
|
||||
typedef QMap<QString, QString> attributeMap;
|
||||
typedef QMap<QString, QString> AttributeMap;
|
||||
|
||||
inline key( plugin::descriptor * _desc = NULL,
|
||||
const QString & _name = QString(),
|
||||
const attributeMap & _am =
|
||||
attributeMap() )
|
||||
inline Key( Plugin::Descriptor * _desc = NULL,
|
||||
const QString & _name = QString(),
|
||||
const AttributeMap & _am = AttributeMap() )
|
||||
:
|
||||
desc( _desc ),
|
||||
name( _name ),
|
||||
@@ -107,63 +106,60 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
key( const QDomElement & _key );
|
||||
Key( const QDomElement & _key );
|
||||
|
||||
QDomElement saveXML( QDomDocument &
|
||||
_doc ) const;
|
||||
QDomElement saveXML( QDomDocument & _doc ) const;
|
||||
|
||||
inline bool isValid( void ) const
|
||||
inline bool isValid() const
|
||||
{
|
||||
return desc != NULL &&
|
||||
name != QString::null;
|
||||
}
|
||||
|
||||
plugin::descriptor * desc;
|
||||
Plugin::Descriptor * desc;
|
||||
QString name;
|
||||
attributeMap attributes;
|
||||
AttributeMap attributes;
|
||||
} ;
|
||||
|
||||
typedef QList<key> keyList;
|
||||
typedef QList<Key> KeyList;
|
||||
|
||||
|
||||
subPluginFeatures( plugin::PluginTypes _type ) :
|
||||
SubPluginFeatures( Plugin::PluginTypes _type ) :
|
||||
m_type( _type )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~subPluginFeatures()
|
||||
virtual ~SubPluginFeatures()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void fillDescriptionWidget( QWidget *,
|
||||
const key * )
|
||||
virtual void fillDescriptionWidget( QWidget *, const Key * )
|
||||
{
|
||||
}
|
||||
|
||||
virtual void listSubPluginKeys( plugin::descriptor *,
|
||||
keyList & )
|
||||
virtual void listSubPluginKeys( Plugin::Descriptor *, KeyList & )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
const plugin::PluginTypes m_type;
|
||||
const Plugin::PluginTypes m_type;
|
||||
} ;
|
||||
|
||||
subPluginFeatures * sub_plugin_features;
|
||||
SubPluginFeatures * sub_plugin_features;
|
||||
|
||||
} ;
|
||||
|
||||
// contructor of a plugin
|
||||
plugin( const descriptor * _descriptor, model * _parent );
|
||||
virtual ~plugin();
|
||||
Plugin( const Descriptor * _descriptor, Model * _parent );
|
||||
virtual ~Plugin();
|
||||
|
||||
// returns display-name out of descriptor
|
||||
virtual QString displayName( void ) const
|
||||
virtual QString displayName() const
|
||||
{
|
||||
return model::displayName().isEmpty() ?
|
||||
return Model::displayName().isEmpty() ?
|
||||
m_descriptor->displayName :
|
||||
model::displayName();
|
||||
Model::displayName();
|
||||
}
|
||||
|
||||
// return plugin-type
|
||||
@@ -173,7 +169,7 @@ public:
|
||||
}
|
||||
|
||||
// return plugin-descriptor for further information
|
||||
inline const descriptor * getDescriptor( void ) const
|
||||
inline const Descriptor * descriptor() const
|
||||
{
|
||||
return m_descriptor;
|
||||
}
|
||||
@@ -184,32 +180,31 @@ public:
|
||||
|
||||
// Called if external source needs to change something but we cannot
|
||||
// reference the class header. Should return null if not key not found.
|
||||
virtual automatableModel * getChildModel( const QString & _modelName );
|
||||
virtual AutomatableModel * childModel( const QString & _modelName );
|
||||
|
||||
// returns an instance of a plugin whose name matches to given one
|
||||
// if specified plugin couldn't be loaded, it creates a dummy-plugin
|
||||
static plugin * instantiate( const QString & _plugin_name,
|
||||
model * _parent,
|
||||
void * _data );
|
||||
static Plugin * instantiate( const QString & _plugin_name,
|
||||
Model * _parent, void * _data );
|
||||
|
||||
// fills given vector with descriptors of all available plugins
|
||||
static void getDescriptorsOfAvailPlugins(
|
||||
QVector<descriptor> & _plugin_descs );
|
||||
QVector<Descriptor> & _plugin_descs );
|
||||
|
||||
// create a view for the model
|
||||
pluginView * createView( QWidget * _parent );
|
||||
PluginView * createView( QWidget * _parent );
|
||||
|
||||
|
||||
protected:
|
||||
// create a view for the model
|
||||
virtual pluginView * instantiateView( QWidget * ) = 0;
|
||||
virtual PluginView * instantiateView( QWidget * ) = 0;
|
||||
|
||||
|
||||
private:
|
||||
const descriptor * m_descriptor;
|
||||
const Descriptor * m_descriptor;
|
||||
|
||||
// pointer to instantiation-function in plugin
|
||||
typedef plugin * ( * instantiationHook )( model *, void * );
|
||||
typedef Plugin * ( * instantiationHook )( Model *, void * );
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* plugin_view.h - definition of pluginView-class
|
||||
* PluginView.h - declaration of class PluginView
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,21 +22,21 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _PLUGIN_VIEW_H
|
||||
#define _PLUGIN_VIEW_H
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
|
||||
class EXPORT pluginView : public QWidget, public modelView
|
||||
class EXPORT PluginView : public QWidget, public ModelView
|
||||
{
|
||||
public:
|
||||
pluginView( plugin * _plugin, QWidget * _parent ) :
|
||||
PluginView( Plugin * _plugin, QWidget * _parent ) :
|
||||
QWidget( _parent ),
|
||||
modelView( _plugin, this )
|
||||
ModelView( _plugin, this )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* project_journal.h - declaration of class projectJournal
|
||||
* ProjectJournal.h - declaration of class ProjectJournal
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _PROJECT_JOURNAL_H
|
||||
#define _PROJECT_JOURNAL_H
|
||||
|
||||
@@ -32,25 +31,24 @@
|
||||
|
||||
#include "lmms_basics.h"
|
||||
|
||||
|
||||
class journallingObject;
|
||||
class JournallingObject;
|
||||
|
||||
|
||||
class projectJournal
|
||||
class ProjectJournal
|
||||
{
|
||||
public:
|
||||
projectJournal( void );
|
||||
virtual ~projectJournal();
|
||||
ProjectJournal();
|
||||
virtual ~ProjectJournal();
|
||||
|
||||
void undo( void );
|
||||
void redo( void );
|
||||
void undo();
|
||||
void redo();
|
||||
|
||||
// tell history that a new journal entry was added to object with ID _id
|
||||
void journalEntryAdded( const jo_id_t _id );
|
||||
|
||||
bool isJournalling( void ) const
|
||||
bool isJournalling() const
|
||||
{
|
||||
return( m_journalling );
|
||||
return m_journalling;
|
||||
}
|
||||
|
||||
void setJournalling( const bool _on )
|
||||
@@ -59,12 +57,12 @@ public:
|
||||
}
|
||||
|
||||
// alloc new ID and register object _obj to it
|
||||
jo_id_t allocID( journallingObject * _obj );
|
||||
jo_id_t allocID( JournallingObject * _obj );
|
||||
|
||||
// if there's already something known about ID _id, but it is currently
|
||||
// unused (e.g. after jouralling object was deleted), register object
|
||||
// _obj to this id
|
||||
void reallocID( const jo_id_t _id, journallingObject * _obj );
|
||||
void reallocID( const jo_id_t _id, JournallingObject * _obj );
|
||||
|
||||
// make ID _id unused, but keep all global journalling information
|
||||
// (order of journalling entries etc.) referring to _id - needed for
|
||||
@@ -78,26 +76,26 @@ public:
|
||||
// journalling information about the ID get's lost
|
||||
void forgetAboutID( const jo_id_t _id );
|
||||
|
||||
void clearJournal( void );
|
||||
void clearJournal();
|
||||
|
||||
journallingObject * getJournallingObject( const jo_id_t _id )
|
||||
JournallingObject * journallingObject( const jo_id_t _id )
|
||||
{
|
||||
if( m_joIDs.contains( _id ) )
|
||||
{
|
||||
return( m_joIDs[_id] );
|
||||
return m_joIDs[_id];
|
||||
}
|
||||
return( NULL );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
typedef QHash<jo_id_t, journallingObject *> joIDMap;
|
||||
typedef QVector<jo_id_t> journalEntryVector;
|
||||
typedef QHash<jo_id_t, JournallingObject *> JoIdMap;
|
||||
typedef QVector<jo_id_t> JournalEntryVector;
|
||||
|
||||
joIDMap m_joIDs;
|
||||
JoIdMap m_joIDs;
|
||||
|
||||
journalEntryVector m_journalEntries;
|
||||
journalEntryVector::iterator m_currentJournalEntry;
|
||||
JournalEntryVector m_journalEntries;
|
||||
JournalEntryVector::Iterator m_currentJournalEntry;
|
||||
|
||||
bool m_journalling;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* remote_plugin.h - base class providing RPC like mechanisms
|
||||
* RemotePlugin.h - base class providing RPC like mechanisms
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -516,7 +516,7 @@ enum RemoteMessageIDs
|
||||
|
||||
|
||||
|
||||
class EXPORT remotePluginBase
|
||||
class EXPORT RemotePluginBase
|
||||
{
|
||||
public:
|
||||
struct message
|
||||
@@ -595,12 +595,12 @@ public:
|
||||
private:
|
||||
std::vector<std::string> data;
|
||||
|
||||
friend class remotePluginBase;
|
||||
friend class RemotePluginBase;
|
||||
|
||||
} ;
|
||||
|
||||
remotePluginBase( shmFifo * _in, shmFifo * _out );
|
||||
virtual ~remotePluginBase();
|
||||
RemotePluginBase( shmFifo * _in, shmFifo * _out );
|
||||
virtual ~RemotePluginBase();
|
||||
|
||||
void sendMessage( const message & _m );
|
||||
message receiveMessage();
|
||||
@@ -667,13 +667,13 @@ private:
|
||||
#ifndef BUILD_REMOTE_PLUGIN_CLIENT
|
||||
|
||||
|
||||
class remotePlugin;
|
||||
class RemotePlugin;
|
||||
|
||||
class processWatcher : public QThread
|
||||
class ProcessWatcher : public QThread
|
||||
{
|
||||
public:
|
||||
processWatcher( remotePlugin * );
|
||||
virtual ~processWatcher()
|
||||
ProcessWatcher( RemotePlugin * );
|
||||
virtual ~ProcessWatcher()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -686,18 +686,18 @@ public:
|
||||
private:
|
||||
virtual void run();
|
||||
|
||||
remotePlugin * m_plugin;
|
||||
RemotePlugin * m_plugin;
|
||||
volatile bool m_quit;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
class EXPORT remotePlugin : public remotePluginBase
|
||||
class EXPORT RemotePlugin : public RemotePluginBase
|
||||
{
|
||||
public:
|
||||
remotePlugin( const QString & _plugin_executable,
|
||||
RemotePlugin( const QString & _plugin_executable,
|
||||
bool _wait_for_init_done = true );
|
||||
virtual ~remotePlugin();
|
||||
virtual ~RemotePlugin();
|
||||
|
||||
inline bool isRunning()
|
||||
{
|
||||
@@ -774,7 +774,7 @@ private:
|
||||
bool m_failed;
|
||||
|
||||
QProcess m_process;
|
||||
processWatcher m_watcher;
|
||||
ProcessWatcher m_watcher;
|
||||
|
||||
QMutex m_commMutex;
|
||||
bool m_splitChannels;
|
||||
@@ -789,7 +789,7 @@ private:
|
||||
int m_inputCount;
|
||||
int m_outputCount;
|
||||
|
||||
friend class processWatcher;
|
||||
friend class ProcessWatcher;
|
||||
} ;
|
||||
|
||||
#endif
|
||||
@@ -797,11 +797,11 @@ private:
|
||||
|
||||
#ifdef BUILD_REMOTE_PLUGIN_CLIENT
|
||||
|
||||
class remotePluginClient : public remotePluginBase
|
||||
class RemotePluginClient : public RemotePluginBase
|
||||
{
|
||||
public:
|
||||
remotePluginClient( key_t _shm_in, key_t _shm_out );
|
||||
virtual ~remotePluginClient();
|
||||
RemotePluginClient( key_t _shm_in, key_t _shm_out );
|
||||
virtual ~RemotePluginClient();
|
||||
|
||||
virtual bool processMessage( const message & _m );
|
||||
|
||||
@@ -894,7 +894,7 @@ private:
|
||||
#endif
|
||||
|
||||
|
||||
remotePluginBase::remotePluginBase( shmFifo * _in, shmFifo * _out ) :
|
||||
RemotePluginBase::RemotePluginBase( shmFifo * _in, shmFifo * _out ) :
|
||||
m_in( _in ),
|
||||
m_out( _out )
|
||||
{
|
||||
@@ -908,7 +908,7 @@ remotePluginBase::remotePluginBase( shmFifo * _in, shmFifo * _out ) :
|
||||
|
||||
|
||||
|
||||
remotePluginBase::~remotePluginBase()
|
||||
RemotePluginBase::~RemotePluginBase()
|
||||
{
|
||||
delete m_in;
|
||||
delete m_out;
|
||||
@@ -917,7 +917,7 @@ remotePluginBase::~remotePluginBase()
|
||||
|
||||
|
||||
|
||||
void remotePluginBase::sendMessage( const message & _m )
|
||||
void RemotePluginBase::sendMessage( const message & _m )
|
||||
{
|
||||
m_out->lock();
|
||||
m_out->writeInt( _m.id );
|
||||
@@ -935,7 +935,7 @@ void remotePluginBase::sendMessage( const message & _m )
|
||||
|
||||
|
||||
|
||||
remotePluginBase::message remotePluginBase::receiveMessage()
|
||||
RemotePluginBase::message RemotePluginBase::receiveMessage()
|
||||
{
|
||||
m_in->waitForMessage();
|
||||
m_in->lock();
|
||||
@@ -953,7 +953,7 @@ remotePluginBase::message remotePluginBase::receiveMessage()
|
||||
|
||||
|
||||
|
||||
remotePluginBase::message remotePluginBase::waitForMessage(
|
||||
RemotePluginBase::message RemotePluginBase::waitForMessage(
|
||||
const message & _wm,
|
||||
bool _busy_waiting )
|
||||
{
|
||||
@@ -992,8 +992,8 @@ remotePluginBase::message remotePluginBase::waitForMessage(
|
||||
#ifdef BUILD_REMOTE_PLUGIN_CLIENT
|
||||
|
||||
|
||||
remotePluginClient::remotePluginClient( key_t _shm_in, key_t _shm_out ) :
|
||||
remotePluginBase( new shmFifo( _shm_in ),
|
||||
RemotePluginClient::RemotePluginClient( key_t _shm_in, key_t _shm_out ) :
|
||||
RemotePluginBase( new shmFifo( _shm_in ),
|
||||
new shmFifo( _shm_out ) ),
|
||||
#ifdef USE_QT_SHMEM
|
||||
m_shmObj(),
|
||||
@@ -1011,7 +1011,7 @@ remotePluginClient::remotePluginClient( key_t _shm_in, key_t _shm_out ) :
|
||||
|
||||
|
||||
|
||||
remotePluginClient::~remotePluginClient()
|
||||
RemotePluginClient::~RemotePluginClient()
|
||||
{
|
||||
sendMessage( IdQuit );
|
||||
|
||||
@@ -1023,7 +1023,7 @@ remotePluginClient::~remotePluginClient()
|
||||
|
||||
|
||||
|
||||
bool remotePluginClient::processMessage( const message & _m )
|
||||
bool RemotePluginClient::processMessage( const message & _m )
|
||||
{
|
||||
message reply_message( _m.id );
|
||||
bool reply = false;
|
||||
@@ -1084,7 +1084,7 @@ bool remotePluginClient::processMessage( const message & _m )
|
||||
|
||||
|
||||
|
||||
void remotePluginClient::setShmKey( key_t _key, int _size )
|
||||
void RemotePluginClient::setShmKey( key_t _key, int _size )
|
||||
{
|
||||
#ifdef USE_QT_SHMEM
|
||||
m_shmObj.setKey( QString::number( _key ) );
|
||||
@@ -1124,7 +1124,7 @@ void remotePluginClient::setShmKey( key_t _key, int _size )
|
||||
|
||||
|
||||
|
||||
void remotePluginClient::doProcessing()
|
||||
void RemotePluginClient::doProcessing()
|
||||
{
|
||||
if( m_shm != NULL )
|
||||
{
|
||||
@@ -25,7 +25,7 @@
|
||||
#ifndef _RESOURCE_ACTION_H
|
||||
#define _RESOURCE_ACTION_H
|
||||
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
class trackContainer;
|
||||
class ResourceItem;
|
||||
|
||||
@@ -56,8 +56,8 @@ public:
|
||||
}
|
||||
|
||||
bool loadProject();
|
||||
bool loadByPlugin( instrumentTrack * _target );
|
||||
bool loadPreset( instrumentTrack * _target );
|
||||
bool loadByPlugin( InstrumentTrack * _target );
|
||||
bool loadPreset( InstrumentTrack * _target );
|
||||
bool importProject( trackContainer * _target );
|
||||
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
class Piano;
|
||||
class ResourceItem;
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
|
||||
|
||||
class ResourcePreviewer
|
||||
@@ -56,7 +56,7 @@ private:
|
||||
} ;
|
||||
|
||||
PreviewTrackContainer m_previewTrackContainer;
|
||||
instrumentTrack * m_previewTrack;
|
||||
InstrumentTrack * m_previewTrack;
|
||||
|
||||
multimediaProject m_defaultSettings;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* serializing_object.h - declaration of class serializingObject
|
||||
* SerializingObject.h - declaration of class SerializingObject
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _SERIALIZING_OBJECT_H
|
||||
#define _SERIALIZING_OBJECT_H
|
||||
|
||||
@@ -34,57 +33,51 @@
|
||||
class QDomDocument;
|
||||
class QDomElement;
|
||||
|
||||
class serializingObjectHook;
|
||||
class SerializingObjectHook;
|
||||
|
||||
|
||||
class EXPORT serializingObject
|
||||
class EXPORT SerializingObject
|
||||
{
|
||||
public:
|
||||
serializingObject( void );
|
||||
virtual ~serializingObject();
|
||||
SerializingObject();
|
||||
virtual ~SerializingObject();
|
||||
|
||||
virtual QDomElement saveState( QDomDocument & _doc,
|
||||
QDomElement & _parent );
|
||||
virtual QDomElement saveState( QDomDocument & _doc, QDomElement & _parent );
|
||||
|
||||
virtual void restoreState( const QDomElement & _this );
|
||||
|
||||
|
||||
// to be implemented by actual object
|
||||
virtual QString nodeName( void ) const = 0;
|
||||
virtual QString nodeName() const = 0;
|
||||
|
||||
void setHook( serializingObjectHook * _hook );
|
||||
void setHook( SerializingObjectHook * _hook );
|
||||
|
||||
serializingObjectHook * getHook( void )
|
||||
SerializingObjectHook * getHook()
|
||||
{
|
||||
return( m_hook );
|
||||
return m_hook;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
// to be implemented by sub-objects
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
|
||||
// {
|
||||
// }
|
||||
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
// {
|
||||
// }
|
||||
|
||||
|
||||
private:
|
||||
serializingObjectHook * m_hook;
|
||||
SerializingObjectHook * m_hook;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
class serializingObjectHook
|
||||
class SerializingObjectHook
|
||||
{
|
||||
public:
|
||||
serializingObjectHook() :
|
||||
SerializingObjectHook() :
|
||||
m_hookedIn( NULL )
|
||||
{
|
||||
}
|
||||
virtual ~serializingObjectHook()
|
||||
virtual ~SerializingObjectHook()
|
||||
{
|
||||
if( m_hookedIn != NULL )
|
||||
{
|
||||
@@ -96,9 +89,9 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this ) = 0;
|
||||
|
||||
private:
|
||||
serializingObject * m_hookedIn;
|
||||
SerializingObject * m_hookedIn;
|
||||
|
||||
friend class serializingObject;
|
||||
friend class SerializingObject;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* sweep_oscillator.h - sweep-oscillator
|
||||
* SweepOscillator.h - sweeping oscillator
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,25 +22,24 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _SWEEP_OSCILLATOR_H
|
||||
#define _SWEEP_OSCILLATOR_H
|
||||
|
||||
#include "oscillator.h"
|
||||
#include "Oscillator.h"
|
||||
#include "effect_lib.h"
|
||||
|
||||
|
||||
template<class FX = effectLib::stereoBypass>
|
||||
class sweepOscillator
|
||||
class SweepOscillator
|
||||
{
|
||||
public:
|
||||
sweepOscillator( const FX & _fx = FX() ) :
|
||||
SweepOscillator( const FX & _fx = FX() ) :
|
||||
m_phase( 0.0f ),
|
||||
m_FX( _fx )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~sweepOscillator()
|
||||
virtual ~SweepOscillator()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -51,7 +50,7 @@ public:
|
||||
const float df = _freq2 - _freq1;
|
||||
for( fpp_t frame = 0; frame < _frames; ++frame )
|
||||
{
|
||||
const sample_t s = oscillator::sinSample( m_phase );
|
||||
const sample_t s = Oscillator::sinSample( m_phase );
|
||||
_ab[frame][0] = s;
|
||||
_ab[frame][1] = s;
|
||||
m_FX.nextSample( _ab[frame][0], _ab[frame][1] );
|
||||
@@ -65,8 +64,8 @@ private:
|
||||
float m_phase;
|
||||
FX m_FX;
|
||||
|
||||
inline sample_t getSample( const float _sample );
|
||||
inline void recalcPhase( void );
|
||||
// inline sample_t getSample( const float _sample );
|
||||
// inline void recalcPhase();
|
||||
|
||||
} ;
|
||||
|
||||
83
include/TempoSyncKnob.h
Normal file
83
include/TempoSyncKnob.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* TempoSyncKnob.h - adds bpm to ms conversion for knob class
|
||||
*
|
||||
* Copyright (c) 2005-2008 Danny McRae <khjklujn/at/yahoo.com>
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _TEMPO_SYNC_KNOB_H
|
||||
#define _TEMPO_SYNC_KNOB_H
|
||||
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtCore/QPointer>
|
||||
|
||||
#include "knob.h"
|
||||
#include "TempoSyncKnobModel.h"
|
||||
|
||||
class MeterDialog;
|
||||
|
||||
class EXPORT TempoSyncKnob : public knob
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
TempoSyncKnob( int _knob_num, QWidget * _parent,
|
||||
const QString & _name = QString() );
|
||||
virtual ~TempoSyncKnob();
|
||||
|
||||
const QString & syncDescription();
|
||||
void setSyncDescription( const QString & _new_description );
|
||||
|
||||
const QPixmap & syncIcon();
|
||||
void setSyncIcon( const QPixmap & _new_pix );
|
||||
|
||||
TempoSyncKnobModel * model()
|
||||
{
|
||||
return castModel<TempoSyncKnobModel>();
|
||||
}
|
||||
|
||||
virtual void modelChanged();
|
||||
|
||||
|
||||
signals:
|
||||
void syncDescriptionChanged( const QString & _new_description );
|
||||
void syncIconChanged();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _me );
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateDescAndIcon();
|
||||
void showCustom();
|
||||
|
||||
|
||||
private:
|
||||
QPixmap m_tempoSyncIcon;
|
||||
QString m_tempoSyncDescription;
|
||||
|
||||
QPointer<MeterDialog> m_custom;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,7 +1,8 @@
|
||||
/*
|
||||
* tempo_sync_knob.h - adds bpm to ms conversion for knob class
|
||||
* TempoSyncKnobModel.h - adds bpm to ms conversion for knob class
|
||||
*
|
||||
* Copyright (c) 2005-2008 Danny McRae <khjklujn/at/yahoo.com>
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -22,27 +23,18 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _TEMPO_SYNC_KNOB_MODEL_H
|
||||
#define _TEMPO_SYNC_KNOB_MODEL_H
|
||||
|
||||
#ifndef _TEMPO_SYNC_KNOB_H
|
||||
#define _TEMPO_SYNC_KNOB_H
|
||||
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtCore/QPointer>
|
||||
|
||||
#include "knob.h"
|
||||
#include "meter_model.h"
|
||||
|
||||
#include "MeterModel.h"
|
||||
|
||||
class QAction;
|
||||
class meterDialog;
|
||||
|
||||
|
||||
|
||||
class EXPORT tempoSyncKnobModel : public knobModel
|
||||
class EXPORT TempoSyncKnobModel : public FloatModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum tempoSyncMode
|
||||
enum TempoSyncMode
|
||||
{
|
||||
SyncNone,
|
||||
SyncDoubleWholeNote,
|
||||
@@ -55,12 +47,11 @@ public:
|
||||
SyncCustom
|
||||
} ;
|
||||
|
||||
|
||||
tempoSyncKnobModel( const float _val, const float _min,
|
||||
TempoSyncKnobModel( const float _val, const float _min,
|
||||
const float _max, const float _step,
|
||||
const float _scale, ::model * _parent,
|
||||
const float _scale, Model * _parent,
|
||||
const QString & _display_name = QString() );
|
||||
virtual ~tempoSyncKnobModel();
|
||||
virtual ~TempoSyncKnobModel();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc,
|
||||
QDomElement & _this,
|
||||
@@ -68,19 +59,27 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this,
|
||||
const QString & _name );
|
||||
|
||||
tempoSyncMode getSyncMode( void );
|
||||
void setSyncMode( tempoSyncMode _new_mode );
|
||||
TempoSyncMode syncMode() const
|
||||
{
|
||||
return m_tempoSyncMode;
|
||||
}
|
||||
|
||||
void setSyncMode( TempoSyncMode _new_mode );
|
||||
|
||||
float scale() const
|
||||
{
|
||||
return m_scale;
|
||||
}
|
||||
|
||||
float getScale( void );
|
||||
void setScale( float _new_scale );
|
||||
|
||||
signals:
|
||||
void syncModeChanged( tempoSyncMode _new_mode );
|
||||
void syncModeChanged( TempoSyncMode _new_mode );
|
||||
void scaleChanged( float _new_scale );
|
||||
|
||||
|
||||
public slots:
|
||||
inline void disableSync( void )
|
||||
inline void disableSync()
|
||||
{
|
||||
setTempoSync( SyncNone );
|
||||
}
|
||||
@@ -90,67 +89,19 @@ public slots:
|
||||
|
||||
protected slots:
|
||||
void calculateTempoSyncTime( bpm_t _bpm );
|
||||
void updateCustom( void );
|
||||
void updateCustom();
|
||||
|
||||
|
||||
private:
|
||||
tempoSyncMode m_tempoSyncMode;
|
||||
tempoSyncMode m_tempoLastSyncMode;
|
||||
TempoSyncMode m_tempoSyncMode;
|
||||
TempoSyncMode m_tempoLastSyncMode;
|
||||
float m_scale;
|
||||
|
||||
meterModel m_custom;
|
||||
MeterModel m_custom;
|
||||
|
||||
|
||||
friend class tempoSyncKnob;
|
||||
friend class TempoSyncKnob;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class EXPORT tempoSyncKnob : public knob
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
tempoSyncKnob( int _knob_num, QWidget * _parent,
|
||||
const QString & _name = QString() );
|
||||
virtual ~tempoSyncKnob();
|
||||
|
||||
const QString & getSyncDescription( void );
|
||||
void setSyncDescription( const QString & _new_description );
|
||||
|
||||
const QPixmap & getSyncIcon( void );
|
||||
void setSyncIcon( const QPixmap & _new_pix );
|
||||
|
||||
tempoSyncKnobModel * model( void )
|
||||
{
|
||||
return( castModel<tempoSyncKnobModel>() );
|
||||
}
|
||||
|
||||
virtual void modelChanged( void );
|
||||
|
||||
|
||||
signals:
|
||||
void syncDescriptionChanged( const QString & _new_description );
|
||||
void syncIconChanged( void );
|
||||
|
||||
|
||||
protected:
|
||||
virtual void contextMenuEvent( QContextMenuEvent * _me );
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateDescAndIcon( void );
|
||||
void showCustom( void );
|
||||
|
||||
|
||||
private:
|
||||
QPixmap m_tempoSyncIcon;
|
||||
QString m_tempoSyncDescription;
|
||||
|
||||
QPointer<meterDialog> m_custom;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,9 +1,10 @@
|
||||
/*
|
||||
* tool.h - declaration of class tool, standard interface for all tool plugins
|
||||
* ToolPlugin.h - declaration of class ToolPlugin, a standard interface for all
|
||||
* tool plugins
|
||||
*
|
||||
* Copyright (c) 2006-2007 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,35 +24,22 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _TOOL_PLUGIN_H
|
||||
#define _TOOL_PLUGIN_H
|
||||
|
||||
#ifndef _TOOL_H
|
||||
#define _TOOL_H
|
||||
#include "Plugin.h"
|
||||
|
||||
#include "plugin.h"
|
||||
#include "plugin_view.h"
|
||||
|
||||
|
||||
class EXPORT tool : public plugin
|
||||
class EXPORT ToolPlugin : public Plugin
|
||||
{
|
||||
public:
|
||||
tool( const descriptor * _descriptor, model * _parent );
|
||||
virtual ~tool();
|
||||
ToolPlugin( const Descriptor * _descriptor, Model * _parent );
|
||||
virtual ~ToolPlugin();
|
||||
|
||||
// instantiate tool-plugin with given name or return NULL
|
||||
// on failure
|
||||
static tool * instantiate( const QString & _plugin_name,
|
||||
model * _parent );
|
||||
static ToolPlugin * instantiate( const QString & _plugin_name,
|
||||
Model * _parent );
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class EXPORT toolView : public pluginView
|
||||
{
|
||||
public:
|
||||
toolView( tool * _tool );
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
#endif
|
||||
41
include/ToolPluginView.h
Normal file
41
include/ToolPluginView.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* ToolPluginView.h - declaration of class ToolPluginView
|
||||
*
|
||||
* Copyright (c) 2006-2007 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this program (see COPYING); if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _TOOL_PLUGIN_VIEW_H
|
||||
#define _TOOL_PLUGIN_VIEW_H
|
||||
|
||||
#include "PluginView.h"
|
||||
|
||||
class ToolPlugin;
|
||||
|
||||
class EXPORT ToolPluginView : public PluginView
|
||||
{
|
||||
public:
|
||||
ToolPluginView( ToolPlugin * _toolPlugin );
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -28,13 +28,13 @@
|
||||
|
||||
#include <QtGui/QPushButton>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
|
||||
|
||||
class automatableButtonGroup;
|
||||
|
||||
|
||||
class EXPORT automatableButton : public QPushButton, public boolModelView
|
||||
class EXPORT automatableButton : public QPushButton, public BoolModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -79,7 +79,7 @@ private:
|
||||
|
||||
|
||||
|
||||
class EXPORT automatableButtonGroup : public QWidget, public intModelView
|
||||
class EXPORT automatableButtonGroup : public QWidget, public IntModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
|
||||
#include <QtGui/QSlider>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
|
||||
|
||||
|
||||
class automatableSlider : public QSlider, public intModelView
|
||||
class automatableSlider : public QSlider, public IntModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -71,7 +71,7 @@ private slots:
|
||||
} ;
|
||||
|
||||
|
||||
typedef intModel sliderModel;
|
||||
typedef IntModel sliderModel;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,10 +31,10 @@
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "lmms_basics.h"
|
||||
#include "journalling_object.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "midi_time.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "combobox_model.h"
|
||||
#include "ComboBoxModel.h"
|
||||
|
||||
|
||||
class QPainter;
|
||||
@@ -47,7 +47,7 @@ class timeLine;
|
||||
class toolButton;
|
||||
|
||||
|
||||
class automationEditor : public QWidget, public journallingObject
|
||||
class automationEditor : public QWidget, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -186,9 +186,9 @@ private:
|
||||
comboBox * m_zoomingYComboBox;
|
||||
comboBox * m_quantizeComboBox;
|
||||
|
||||
comboBoxModel m_zoomingXModel;
|
||||
comboBoxModel m_zoomingYModel;
|
||||
comboBoxModel m_quantizeModel;
|
||||
ComboBoxModel m_zoomingXModel;
|
||||
ComboBoxModel m_zoomingYModel;
|
||||
ComboBoxModel m_quantizeModel;
|
||||
|
||||
automationPattern * m_pattern;
|
||||
float m_minLevel;
|
||||
|
||||
@@ -43,15 +43,15 @@ class EXPORT automationPattern : public trackContentObject
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QMap<int, float> timeMap;
|
||||
typedef QVector<QPointer<automatableModel> > objectVector;
|
||||
typedef QVector<QPointer<AutomatableModel> > objectVector;
|
||||
|
||||
automationPattern( automationTrack * _auto_track );
|
||||
automationPattern( const automationPattern & _pat_to_copy );
|
||||
virtual ~automationPattern();
|
||||
|
||||
void addObject( automatableModel * _obj, bool _search_dup = true );
|
||||
void addObject( AutomatableModel * _obj, bool _search_dup = true );
|
||||
|
||||
const automatableModel * firstObject( void ) const;
|
||||
const AutomatableModel * firstObject( void ) const;
|
||||
|
||||
virtual midiTime length( void ) const;
|
||||
|
||||
@@ -98,9 +98,9 @@ public:
|
||||
virtual trackContentObjectView * createView( trackView * _tv );
|
||||
|
||||
|
||||
static bool isAutomated( const automatableModel * _m );
|
||||
static bool isAutomated( const AutomatableModel * _m );
|
||||
static automationPattern * globalAutomationPattern(
|
||||
automatableModel * _m );
|
||||
AutomatableModel * _m );
|
||||
static void resolveAllIDs( void );
|
||||
|
||||
|
||||
|
||||
@@ -48,13 +48,13 @@ public:
|
||||
// the tco that we're putting this automation in
|
||||
automationPattern* pat;
|
||||
} ClipData;
|
||||
typedef QMap<const automatableModel *, ClipData> AutoClipMap;
|
||||
typedef QMap<const AutomatableModel *, ClipData> AutoClipMap;
|
||||
|
||||
AutomationRecorder();
|
||||
~AutomationRecorder();
|
||||
|
||||
// automatable models call this when their data changes
|
||||
void modelDataEvent( automatableModel * _model );
|
||||
void modelDataEvent( AutomatableModel * _model );
|
||||
|
||||
// must be called at some point between a recording ending and a new
|
||||
// one beginning
|
||||
|
||||
@@ -72,7 +72,7 @@ public slots:
|
||||
|
||||
|
||||
private:
|
||||
comboBoxModel m_bbComboBoxModel;
|
||||
ComboBoxModel m_bbComboBoxModel;
|
||||
|
||||
|
||||
friend class bbEditor;
|
||||
|
||||
@@ -30,26 +30,26 @@
|
||||
#include <QtGui/QMenu>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "combobox_model.h"
|
||||
#include "automatable_model_view.h"
|
||||
#include "ComboBoxModel.h"
|
||||
#include "AutomatableModelView.h"
|
||||
|
||||
|
||||
|
||||
class EXPORT comboBox : public QWidget, public intModelView
|
||||
class EXPORT comboBox : public QWidget, public IntModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
comboBox( QWidget * _parent, const QString & _name = QString() );
|
||||
virtual ~comboBox();
|
||||
|
||||
comboBoxModel * model( void )
|
||||
ComboBoxModel * model( void )
|
||||
{
|
||||
return( castModel<comboBoxModel>() );
|
||||
return( castModel<ComboBoxModel>() );
|
||||
}
|
||||
|
||||
const comboBoxModel * model( void ) const
|
||||
const ComboBoxModel * model( void ) const
|
||||
{
|
||||
return( castModel<comboBoxModel>() );
|
||||
return( castModel<ComboBoxModel>() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* embed.h - misc. stuff for using embedded data (resources linked into binary)
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -22,14 +22,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _EMBED_H
|
||||
#define _EMBED_H
|
||||
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtCore/QString>
|
||||
|
||||
|
||||
#include "export.h"
|
||||
#include "lmms_basics.h"
|
||||
|
||||
@@ -63,15 +61,15 @@ QPixmap getIconPixmap( const char * _name, int _w = -1, int _h = -1 );
|
||||
|
||||
|
||||
|
||||
class pixmapLoader
|
||||
class PixmapLoader
|
||||
{
|
||||
public:
|
||||
pixmapLoader( const pixmapLoader * _ref ) :
|
||||
PixmapLoader( const PixmapLoader * _ref ) :
|
||||
m_name( _ref != NULL ? _ref->m_name : QString::null )
|
||||
{
|
||||
}
|
||||
|
||||
pixmapLoader( const QString & _name = QString::null ) :
|
||||
PixmapLoader( const QString & _name = QString::null ) :
|
||||
m_name( _name )
|
||||
{
|
||||
}
|
||||
@@ -86,7 +84,7 @@ public:
|
||||
return( QPixmap() );
|
||||
}
|
||||
|
||||
virtual ~pixmapLoader()
|
||||
virtual ~PixmapLoader()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -101,11 +99,11 @@ protected:
|
||||
|
||||
|
||||
#ifdef PLUGIN_NAME
|
||||
class pluginPixmapLoader : public pixmapLoader
|
||||
class PluginPixmapLoader : public PixmapLoader
|
||||
{
|
||||
public:
|
||||
pluginPixmapLoader( const QString & _name = QString::null ) :
|
||||
pixmapLoader( _name )
|
||||
PluginPixmapLoader( const QString & _name = QString::null ) :
|
||||
PixmapLoader( _name )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ class automationEditor;
|
||||
class AutomationRecorder;
|
||||
class bbEditor;
|
||||
class bbTrackContainer;
|
||||
class dummyTrackContainer;
|
||||
class fxMixer;
|
||||
class fxMixerView;
|
||||
class projectJournal;
|
||||
class DummyTrackContainer;
|
||||
class FxMixer;
|
||||
class FxMixerView;
|
||||
class ProjectJournal;
|
||||
class MainWindow;
|
||||
class mixer;
|
||||
class pianoRoll;
|
||||
@@ -80,7 +80,7 @@ public:
|
||||
return s_mixer;
|
||||
}
|
||||
|
||||
static fxMixer * getFxMixer()
|
||||
static FxMixer * fxMixer()
|
||||
{
|
||||
return s_fxMixer;
|
||||
}
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
return s_bbTrackContainer;
|
||||
}
|
||||
|
||||
static projectJournal * getProjectJournal()
|
||||
static ProjectJournal * projectJournal()
|
||||
{
|
||||
return s_projectJournal;
|
||||
}
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
return s_mainWindow;
|
||||
}
|
||||
|
||||
static fxMixerView * getFxMixerView()
|
||||
static FxMixerView * fxMixerView()
|
||||
{
|
||||
return s_fxMixerView;
|
||||
}
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
return s_ladspaManager;
|
||||
}
|
||||
|
||||
static dummyTrackContainer * getDummyTrackContainer()
|
||||
static DummyTrackContainer * dummyTrackContainer()
|
||||
{
|
||||
return s_dummyTC;
|
||||
}
|
||||
@@ -208,20 +208,20 @@ private:
|
||||
|
||||
// core
|
||||
static mixer * s_mixer;
|
||||
static fxMixer * s_fxMixer;
|
||||
static FxMixer * s_fxMixer;
|
||||
static song * s_song;
|
||||
static ResourceDB * s_workingDirResourceDB;
|
||||
static ResourceDB * s_webResourceDB;
|
||||
static ResourceDB * s_mergedResourceDB;
|
||||
static bbTrackContainer * s_bbTrackContainer;
|
||||
static projectJournal * s_projectJournal;
|
||||
static dummyTrackContainer * s_dummyTC;
|
||||
static ProjectJournal * s_projectJournal;
|
||||
static DummyTrackContainer * s_dummyTC;
|
||||
static ControllerRackView * s_controllerRackView;
|
||||
static MidiControlListener * s_midiControlListener;
|
||||
|
||||
// GUI
|
||||
static MainWindow * s_mainWindow;
|
||||
static fxMixerView * s_fxMixerView;
|
||||
static FxMixerView * s_fxMixerView;
|
||||
static songEditor * s_songEditor;
|
||||
static automationEditor * s_automationEditor;
|
||||
static AutomationRecorder * s_automationRecorder;
|
||||
|
||||
@@ -51,14 +51,14 @@
|
||||
#include <QtGui/QWidget>
|
||||
#include <QtGui/QPixmap>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
|
||||
|
||||
class fader : public QWidget, public floatModelView
|
||||
class fader : public QWidget, public FloatModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
fader( floatModel * _model, const QString & _name, QWidget * _parent );
|
||||
fader( FloatModel * _model, const QString & _name, QWidget * _parent );
|
||||
virtual ~fader();
|
||||
|
||||
void setMaxPeak( float _max );
|
||||
@@ -78,7 +78,7 @@ private:
|
||||
virtual void wheelEvent( QWheelEvent *ev );
|
||||
virtual void paintEvent( QPaintEvent *ev );
|
||||
|
||||
floatModel * m_model;
|
||||
FloatModel * m_model;
|
||||
|
||||
float m_fPeakValue_L;
|
||||
float m_fPeakValue_R;
|
||||
|
||||
@@ -31,13 +31,14 @@
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtGui/QCursor>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "Model.h"
|
||||
#include "ModelView.h"
|
||||
#include "lmms_basics.h"
|
||||
|
||||
class graphModel;
|
||||
|
||||
|
||||
class EXPORT graph : public QWidget, public modelView
|
||||
class EXPORT graph : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -55,12 +56,12 @@ public:
|
||||
|
||||
void setGraphColor( const QColor );
|
||||
|
||||
inline graphModel * model( void )
|
||||
inline graphModel * model()
|
||||
{
|
||||
return castModel<graphModel>();
|
||||
}
|
||||
|
||||
inline graphStyle getGraphStyle( void )
|
||||
inline graphStyle getGraphStyle()
|
||||
{
|
||||
return m_graphStyle;
|
||||
}
|
||||
@@ -82,10 +83,10 @@ protected:
|
||||
|
||||
protected slots:
|
||||
void updateGraph( int _startPos, int _endPos );
|
||||
void updateGraph( void );
|
||||
void updateGraph();
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
void changeSampleAt(int _x, int _y);
|
||||
|
||||
@@ -102,14 +103,14 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
class EXPORT graphModel : public model
|
||||
class EXPORT graphModel : public Model
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
graphModel( float _min,
|
||||
float _max,
|
||||
int _size,
|
||||
:: model * _parent,
|
||||
:: Model * _parent,
|
||||
bool _default_constructed = FALSE,
|
||||
float _step = 0.0 );
|
||||
|
||||
@@ -117,22 +118,22 @@ public:
|
||||
|
||||
// TODO: saveSettings, loadSettings?
|
||||
|
||||
inline float minValue( void ) const
|
||||
inline float minValue() const
|
||||
{
|
||||
return( m_minValue );
|
||||
}
|
||||
|
||||
inline float maxValue( void ) const
|
||||
inline float maxValue() const
|
||||
{
|
||||
return( m_maxValue );
|
||||
}
|
||||
|
||||
inline int length( void ) const
|
||||
inline int length() const
|
||||
{
|
||||
return( m_samples.count() );
|
||||
}
|
||||
|
||||
inline const float * samples( void ) const
|
||||
inline const float * samples() const
|
||||
{
|
||||
return( m_samples.data() );
|
||||
}
|
||||
@@ -145,20 +146,20 @@ public slots:
|
||||
void setSampleAt( int _samplePos, float _value );
|
||||
void setSamples( const float * _value );
|
||||
|
||||
void setWaveToSine( void );
|
||||
void setWaveToTriangle( void );
|
||||
void setWaveToSaw( void );
|
||||
void setWaveToSquare( void );
|
||||
void setWaveToNoise( void );
|
||||
void setWaveToSine();
|
||||
void setWaveToTriangle();
|
||||
void setWaveToSaw();
|
||||
void setWaveToSquare();
|
||||
void setWaveToNoise();
|
||||
//void setWaveToUser( );
|
||||
|
||||
void smooth( void );
|
||||
void normalize( void );
|
||||
void smooth();
|
||||
void normalize();
|
||||
|
||||
signals:
|
||||
void lengthChanged( void );
|
||||
void lengthChanged();
|
||||
void samplesChanged( int startPos, int endPos );
|
||||
void rangeChanged( void );
|
||||
void rangeChanged();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -28,14 +28,14 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
#include "pixmap_button.h"
|
||||
|
||||
|
||||
class QPixmap;
|
||||
|
||||
|
||||
class groupBox : public QWidget, public boolModelView
|
||||
class groupBox : public QWidget, public BoolModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -64,7 +64,7 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
typedef boolModel groupBoxModel;
|
||||
typedef BoolModel groupBoxModel;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
#include "shared_object.h"
|
||||
|
||||
|
||||
class inlineAutomation : public floatModel, public sharedObject
|
||||
class inlineAutomation : public FloatModel, public sharedObject
|
||||
{
|
||||
public:
|
||||
inlineAutomation( void ) :
|
||||
floatModel(),
|
||||
FloatModel(),
|
||||
sharedObject(),
|
||||
m_autoPattern( NULL )
|
||||
{
|
||||
|
||||
@@ -27,19 +27,19 @@
|
||||
#define _INSTRUMENT_PLAY_HANDLE_H
|
||||
|
||||
#include "play_handle.h"
|
||||
#include "instrument.h"
|
||||
#include "Instrument.h"
|
||||
|
||||
|
||||
class instrumentPlayHandle : public playHandle
|
||||
class InstrumentPlayHandle : public playHandle
|
||||
{
|
||||
public:
|
||||
instrumentPlayHandle( instrument * _instrument ) :
|
||||
playHandle( InstrumentPlayHandle ),
|
||||
InstrumentPlayHandle( Instrument * _instrument ) :
|
||||
playHandle( playHandle::InstrumentPlayHandle ),
|
||||
m_instrument( _instrument )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~instrumentPlayHandle()
|
||||
virtual ~InstrumentPlayHandle()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
m_instrument->play( _working_buffer );
|
||||
}
|
||||
|
||||
virtual bool done( void ) const
|
||||
virtual bool done() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
instrument * m_instrument;
|
||||
Instrument * m_instrument;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <QtGui/QWidget>
|
||||
#include <QtCore/QPoint>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
#include "templates.h"
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ enum knobTypes
|
||||
|
||||
|
||||
|
||||
class EXPORT knob : public QWidget, public floatModelView
|
||||
class EXPORT knob : public QWidget, public FloatModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(float innerRadius READ innerRadius WRITE setInnerRadius)
|
||||
@@ -150,7 +150,7 @@ private:
|
||||
QString m_label;
|
||||
|
||||
QPixmap * m_knobPixmap;
|
||||
boolModel m_volumeKnob;
|
||||
BoolModel m_volumeKnob;
|
||||
|
||||
float m_mouseOffset;
|
||||
QPoint m_origMousePos;
|
||||
@@ -169,7 +169,4 @@ private:
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
typedef floatModel knobModel;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -125,7 +125,7 @@ typedef enum asm_optimizations_e {
|
||||
} asm_optimizations;
|
||||
|
||||
|
||||
/* psychoacoustic model */
|
||||
/* psychoacoustic Model */
|
||||
typedef enum Psy_model_e {
|
||||
PSY_GPSYCHO = 1,
|
||||
PSY_NSPSYTUNE = 2
|
||||
@@ -651,7 +651,7 @@ typedef struct {
|
||||
int alpha; /* 0 if not an alpha version */
|
||||
int beta; /* 0 if not a beta version */
|
||||
|
||||
/* version of the psy model */
|
||||
/* version of the psy Model */
|
||||
int psy_major;
|
||||
int psy_minor;
|
||||
int psy_alpha; /* 0 if not an alpha version */
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
#include <QtCore/QMap>
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "automatable_model_view.h"
|
||||
#include "AutomatableModelView.h"
|
||||
|
||||
|
||||
class EXPORT lcdSpinBox : public QWidget, public intModelView
|
||||
class EXPORT lcdSpinBox : public QWidget, public IntModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -53,9 +53,9 @@ public:
|
||||
update();
|
||||
}
|
||||
|
||||
virtual void modelChanged( void )
|
||||
virtual void modelChanged()
|
||||
{
|
||||
modelView::modelChanged();
|
||||
ModelView::modelChanged();
|
||||
update();
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
public slots:
|
||||
virtual void setEnabled( bool _on );
|
||||
virtual void setMarginWidth( int _width );
|
||||
virtual void update( void );
|
||||
virtual void update();
|
||||
|
||||
|
||||
protected:
|
||||
@@ -96,10 +96,10 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void manualChange( void );
|
||||
void manualChange();
|
||||
|
||||
} ;
|
||||
|
||||
typedef intModel lcdSpinBoxModel;
|
||||
typedef IntModel lcdSpinBoxModel;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "volume.h"
|
||||
#include "panning.h"
|
||||
#include "midi_time.h"
|
||||
#include "serializing_object.h"
|
||||
#include "SerializingObject.h"
|
||||
|
||||
class detuningHelper;
|
||||
|
||||
@@ -79,7 +79,7 @@ const float MaxDetuning = 4 * 12.0f;
|
||||
|
||||
|
||||
|
||||
class EXPORT note : public serializingObject
|
||||
class EXPORT note : public SerializingObject
|
||||
{
|
||||
public:
|
||||
note( const midiTime & _length = midiTime( 0 ),
|
||||
@@ -209,8 +209,8 @@ protected:
|
||||
QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
/* virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( journalEntry & _je );*/
|
||||
/* virtual void undoStep( JournalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );*/
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "track.h"
|
||||
|
||||
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
class notePlayHandle;
|
||||
|
||||
template<ch_cnt_t=DEFAULT_CHANNELS> class basicFilters;
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
void * m_pluginData;
|
||||
basicFilters<> * m_filter;
|
||||
|
||||
notePlayHandle( instrumentTrack * _instrument_track,
|
||||
notePlayHandle( InstrumentTrack * _instrument_track,
|
||||
const f_cnt_t _offset,
|
||||
const f_cnt_t _frames, const note & _n,
|
||||
notePlayHandle * _parent = NULL,
|
||||
@@ -57,31 +57,31 @@ public:
|
||||
|
||||
virtual void setVolume( const volume_t _volume = DefaultVolume );
|
||||
|
||||
int getMidiVelocity( void ) const;
|
||||
int getMidiVelocity() const;
|
||||
|
||||
const float & frequency( void ) const
|
||||
const float & frequency() const
|
||||
{
|
||||
return m_frequency;
|
||||
}
|
||||
|
||||
void updateFrequency( void );
|
||||
void updateFrequency();
|
||||
|
||||
// returns frequency without pitch-wheel influence
|
||||
float unpitchedFrequency( void ) const
|
||||
float unpitchedFrequency() const
|
||||
{
|
||||
return m_unpitchedFrequency;
|
||||
}
|
||||
|
||||
virtual void play( sampleFrame * _working_buffer );
|
||||
|
||||
virtual inline bool done( void ) const
|
||||
virtual inline bool done() const
|
||||
{
|
||||
return m_released && framesLeft() <= 0;
|
||||
}
|
||||
|
||||
f_cnt_t framesLeft( void ) const;
|
||||
f_cnt_t framesLeft() const;
|
||||
|
||||
inline fpp_t framesLeftForCurrentPeriod( void ) const
|
||||
inline fpp_t framesLeftForCurrentPeriod() const
|
||||
{
|
||||
return (fpp_t) qMin<f_cnt_t>( framesLeft(),
|
||||
engine::getMixer()->framesPerPeriod() );
|
||||
@@ -93,21 +93,21 @@ public:
|
||||
|
||||
void noteOff( const f_cnt_t _s = 0 );
|
||||
|
||||
inline f_cnt_t framesBeforeRelease( void ) const
|
||||
inline f_cnt_t framesBeforeRelease() const
|
||||
{
|
||||
return m_framesBeforeRelease;
|
||||
}
|
||||
|
||||
inline f_cnt_t releaseFramesDone( void ) const
|
||||
inline f_cnt_t releaseFramesDone() const
|
||||
{
|
||||
return m_releaseFramesDone;
|
||||
}
|
||||
|
||||
f_cnt_t actualReleaseFramesToDo( void ) const;
|
||||
f_cnt_t actualReleaseFramesToDo() const;
|
||||
|
||||
|
||||
// returns total numbers of frames to play
|
||||
inline f_cnt_t frames( void ) const
|
||||
inline f_cnt_t frames() const
|
||||
{
|
||||
return m_frames;
|
||||
}
|
||||
@@ -115,13 +115,13 @@ public:
|
||||
void setFrames( const f_cnt_t _frames );
|
||||
|
||||
// returns whether note was released
|
||||
inline bool released( void ) const
|
||||
inline bool released() const
|
||||
{
|
||||
return m_released;
|
||||
}
|
||||
|
||||
// returns total numbers of played frames
|
||||
inline f_cnt_t totalFramesPlayed( void ) const
|
||||
inline f_cnt_t totalFramesPlayed() const
|
||||
{
|
||||
return m_totalFramesPlayed;
|
||||
}
|
||||
@@ -130,19 +130,19 @@ public:
|
||||
float volumeLevel( const f_cnt_t _frame );
|
||||
|
||||
// returns instrument-track this note-play-handle plays
|
||||
inline instrumentTrack * getInstrumentTrack( void )
|
||||
inline InstrumentTrack * instrumentTrack()
|
||||
{
|
||||
return m_instrumentTrack;
|
||||
return m_InstrumentTrack;
|
||||
}
|
||||
|
||||
// returns whether note is a base-note, e.g. is not part of an arpeggio
|
||||
// or a chord
|
||||
inline bool isBaseNote( void ) const
|
||||
inline bool isBaseNote() const
|
||||
{
|
||||
return m_baseNote;
|
||||
}
|
||||
|
||||
inline bool isPartOfArpeggio( void ) const
|
||||
inline bool isPartOfArpeggio() const
|
||||
{
|
||||
return m_partOfArpeggio;
|
||||
}
|
||||
@@ -153,28 +153,28 @@ public:
|
||||
}
|
||||
|
||||
// returns whether note is base-note for arpeggio
|
||||
bool isArpeggioBaseNote( void ) const;
|
||||
bool isArpeggioBaseNote() const;
|
||||
|
||||
inline bool isMuted( void ) const
|
||||
inline bool isMuted() const
|
||||
{
|
||||
return m_muted;
|
||||
}
|
||||
|
||||
void mute( void );
|
||||
void mute();
|
||||
|
||||
// returns index of note-play-handle in vector of note-play-handles
|
||||
// belonging to this instrument-track - used by arpeggiator
|
||||
int index( void ) const;
|
||||
int index() const;
|
||||
|
||||
// note-play-handles belonging to given channel, if _all_ph = true,
|
||||
// also released note-play-handles are returned
|
||||
static ConstNotePlayHandleList nphsOfInstrumentTrack(
|
||||
const instrumentTrack * _ct, bool _all_ph = false );
|
||||
const InstrumentTrack * _ct, bool _all_ph = false );
|
||||
|
||||
// return whether given note-play-handle is equal to *this
|
||||
bool operator==( const notePlayHandle & _nph ) const;
|
||||
|
||||
inline bool bbTrackMuted( void )
|
||||
inline bool bbTrackMuted()
|
||||
{
|
||||
return m_bbTrack && m_bbTrack->isMuted();
|
||||
}
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
void resize( const bpm_t _new_tempo );
|
||||
|
||||
#ifdef LMMS_SINGERBOT_SUPPORT
|
||||
int patternIndex( void )
|
||||
int patternIndex()
|
||||
{
|
||||
return m_patternIndex;
|
||||
}
|
||||
@@ -210,7 +210,7 @@ private:
|
||||
m_value = _val;
|
||||
}
|
||||
|
||||
float value( void ) const
|
||||
float value() const
|
||||
{
|
||||
return m_value;
|
||||
}
|
||||
@@ -223,8 +223,8 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
instrumentTrack * m_instrumentTrack; // needed for calling
|
||||
// instrumentTrack::playNote
|
||||
InstrumentTrack * m_InstrumentTrack; // needed for calling
|
||||
// InstrumentTrack::playNote
|
||||
f_cnt_t m_frames; // total frames to play
|
||||
f_cnt_t m_totalFramesPlayed; // total frame-counter - used for
|
||||
// figuring out whether a whole note
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* about a pattern
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,7 +23,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _PATTERN_H
|
||||
#define _PATTERN_H
|
||||
|
||||
@@ -42,7 +41,7 @@ class QAction;
|
||||
class QProgressBar;
|
||||
class QPushButton;
|
||||
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
class patternFreezeThread;
|
||||
class sampleBuffer;
|
||||
|
||||
@@ -58,15 +57,15 @@ public:
|
||||
MelodyPattern
|
||||
} ;
|
||||
|
||||
pattern( instrumentTrack * _instrument_track );
|
||||
pattern( InstrumentTrack * _instrument_track );
|
||||
pattern( const pattern & _pat_to_copy );
|
||||
virtual ~pattern();
|
||||
|
||||
void init( void );
|
||||
void init();
|
||||
|
||||
|
||||
virtual midiTime length( void ) const;
|
||||
midiTime beatPatternLength( void ) const;
|
||||
virtual midiTime length() const;
|
||||
midiTime beatPatternLength() const;
|
||||
|
||||
// note management
|
||||
note * addNote( const note & _new_note, const bool _quant_pos = true );
|
||||
@@ -75,10 +74,10 @@ public:
|
||||
|
||||
note * rearrangeNote( const note * _note_to_proc,
|
||||
const bool _quant_pos = true );
|
||||
void rearrangeAllNotes( void );
|
||||
void clearNotes( void );
|
||||
void rearrangeAllNotes();
|
||||
void clearNotes();
|
||||
|
||||
inline const NoteVector & notes( void ) const
|
||||
inline const NoteVector & notes() const
|
||||
{
|
||||
return m_notes;
|
||||
}
|
||||
@@ -86,26 +85,26 @@ public:
|
||||
void setStep( int _step, bool _enabled );
|
||||
|
||||
// pattern-type stuff
|
||||
inline PatternTypes type( void ) const
|
||||
inline PatternTypes type() const
|
||||
{
|
||||
return m_patternType;
|
||||
}
|
||||
void setType( PatternTypes _new_pattern_type );
|
||||
void checkType( void );
|
||||
void checkType();
|
||||
|
||||
|
||||
// functions which are part of freezing-feature
|
||||
inline bool freezing( void ) const
|
||||
inline bool freezing() const
|
||||
{
|
||||
return m_freezing;
|
||||
}
|
||||
|
||||
inline bool frozen( void ) const
|
||||
inline bool frozen() const
|
||||
{
|
||||
return m_frozenPattern != NULL;
|
||||
}
|
||||
|
||||
sampleBuffer * getFrozenPattern( void )
|
||||
sampleBuffer * frozenPattern()
|
||||
{
|
||||
return m_frozenPattern;
|
||||
}
|
||||
@@ -113,17 +112,17 @@ public:
|
||||
// settings-management
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return "pattern";
|
||||
}
|
||||
|
||||
inline instrumentTrack * getInstrumentTrack( void ) const
|
||||
inline InstrumentTrack * instrumentTrack() const
|
||||
{
|
||||
return m_instrumentTrack;
|
||||
}
|
||||
|
||||
bool empty( void );
|
||||
bool empty();
|
||||
|
||||
|
||||
void addSteps( int _n );
|
||||
@@ -132,24 +131,24 @@ public:
|
||||
virtual trackContentObjectView * createView( trackView * _tv );
|
||||
|
||||
|
||||
using model::dataChanged;
|
||||
using Model::dataChanged;
|
||||
|
||||
|
||||
protected:
|
||||
void ensureBeatNotes( void );
|
||||
void updateBBTrack( void );
|
||||
void ensureBeatNotes();
|
||||
void updateBBTrack();
|
||||
|
||||
|
||||
protected slots:
|
||||
void clear( void );
|
||||
void freeze( void );
|
||||
void unfreeze( void );
|
||||
void abortFreeze( void );
|
||||
void changeTimeSignature( void );
|
||||
void clear();
|
||||
void freeze();
|
||||
void unfreeze();
|
||||
void abortFreeze();
|
||||
void changeTimeSignature();
|
||||
|
||||
|
||||
private:
|
||||
instrumentTrack * m_instrumentTrack;
|
||||
InstrumentTrack * m_instrumentTrack;
|
||||
|
||||
PatternTypes m_patternType;
|
||||
|
||||
@@ -179,14 +178,14 @@ public:
|
||||
|
||||
|
||||
public slots:
|
||||
virtual void update( void );
|
||||
virtual void update();
|
||||
|
||||
|
||||
protected slots:
|
||||
void openInPianoRoll( void );
|
||||
void openInPianoRoll();
|
||||
|
||||
void resetName( void );
|
||||
void changeName( void );
|
||||
void resetName();
|
||||
void changeName();
|
||||
|
||||
void addSteps( QAction * _item );
|
||||
void removeSteps( QAction * _item );
|
||||
@@ -240,8 +239,8 @@ protected:
|
||||
|
||||
|
||||
protected slots:
|
||||
void cancelBtnClicked( void );
|
||||
void updateProgress( void );
|
||||
void cancelBtnClicked();
|
||||
void updateProgress();
|
||||
|
||||
|
||||
private:
|
||||
@@ -254,7 +253,7 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void aborted( void );
|
||||
void aborted();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -270,7 +269,7 @@ public:
|
||||
|
||||
|
||||
protected:
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "combobox_model.h"
|
||||
#include "serializing_object.h"
|
||||
#include "ComboBoxModel.h"
|
||||
#include "SerializingObject.h"
|
||||
#include "note.h"
|
||||
#include "lmms_basics.h"
|
||||
#include "song.h"
|
||||
@@ -51,7 +51,7 @@ class timeLine;
|
||||
class toolButton;
|
||||
|
||||
|
||||
class pianoRoll : public QWidget, public serializingObject
|
||||
class pianoRoll : public QWidget, public SerializingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -243,9 +243,9 @@ private:
|
||||
comboBox * m_quantizeComboBox;
|
||||
comboBox * m_noteLenComboBox;
|
||||
|
||||
comboBoxModel m_zoomingModel;
|
||||
comboBoxModel m_quantizeModel;
|
||||
comboBoxModel m_noteLenModel;
|
||||
ComboBoxModel m_zoomingModel;
|
||||
ComboBoxModel m_quantizeModel;
|
||||
ComboBoxModel m_noteLenModel;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
|
||||
#include "side_bar_widget.h"
|
||||
#include "plugin.h"
|
||||
#include "Plugin.h"
|
||||
|
||||
|
||||
class trackContainer;
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
QVector<plugin::descriptor> m_pluginDescriptors;
|
||||
QVector<Plugin::Descriptor> m_pluginDescriptors;
|
||||
|
||||
QWidget * m_view;
|
||||
|
||||
@@ -60,7 +60,7 @@ class pluginDescWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
pluginDescWidget( const plugin::descriptor & _pd, QWidget * _parent );
|
||||
pluginDescWidget( const Plugin::Descriptor & _pd, QWidget * _parent );
|
||||
virtual ~pluginDescWidget();
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ private slots:
|
||||
private:
|
||||
QTimer m_updateTimer;
|
||||
|
||||
const plugin::descriptor & m_pluginDescriptor;
|
||||
const Plugin::Descriptor & m_pluginDescriptor;
|
||||
QPixmap m_logo;
|
||||
|
||||
bool m_mouseOver;
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
|
||||
#include "journalling_object.h"
|
||||
|
||||
#include "JournallingObject.h"
|
||||
|
||||
class QAction;
|
||||
class QComboBox;
|
||||
@@ -37,36 +36,36 @@ class QTextCharFormat;
|
||||
class QTextEdit;
|
||||
|
||||
|
||||
class EXPORT projectNotes : public QMainWindow, public serializingObject
|
||||
class EXPORT projectNotes : public QMainWindow, public SerializingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
projectNotes( void );
|
||||
projectNotes();
|
||||
virtual ~projectNotes();
|
||||
|
||||
void clear( void );
|
||||
void clear();
|
||||
void setText( const QString & _text );
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
inline virtual QString nodeName( void ) const
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "projectnotes" );
|
||||
return "projectnotes";
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
void setupActions( void );
|
||||
void setupActions();
|
||||
|
||||
|
||||
private slots:
|
||||
void textBold( void );
|
||||
void textUnderline( void );
|
||||
void textItalic( void );
|
||||
void textBold();
|
||||
void textUnderline();
|
||||
void textItalic();
|
||||
void textFamily( const QString & _f );
|
||||
void textSize( const QString & _p );
|
||||
void textColor( void );
|
||||
void textColor();
|
||||
void textAlign( QAction * _a );
|
||||
|
||||
void formatChanged( const QTextCharFormat & _f );
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "mixer.h"
|
||||
#include "sample_buffer.h"
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
|
||||
class bbTrack;
|
||||
class pattern;
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
m_bbTrack = _bb_track;
|
||||
}
|
||||
|
||||
void setVolumeModel( floatModel * _model )
|
||||
void setVolumeModel( FloatModel * _model )
|
||||
{
|
||||
m_volumeModel = _model;
|
||||
}
|
||||
@@ -88,8 +88,8 @@ private:
|
||||
AudioPort * m_audioPort;
|
||||
const bool m_ownAudioPort;
|
||||
|
||||
floatModel m_defaultVolumeModel;
|
||||
floatModel * m_volumeModel;
|
||||
FloatModel m_defaultVolumeModel;
|
||||
FloatModel * m_volumeModel;
|
||||
track * m_track;
|
||||
|
||||
bbTrack * m_bbTrack;
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "AudioPort.h"
|
||||
#include "track.h"
|
||||
|
||||
class effectRackView;
|
||||
class EffectRackView;
|
||||
class knob;
|
||||
class sampleBuffer;
|
||||
|
||||
@@ -73,7 +73,7 @@ public slots:
|
||||
|
||||
private:
|
||||
sampleBuffer * m_sampleBuffer;
|
||||
boolModel m_recordModel;
|
||||
BoolModel m_recordModel;
|
||||
|
||||
|
||||
friend class sampleTCOView;
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
|
||||
private:
|
||||
AudioPort m_audioPort;
|
||||
floatModel m_volumeModel;
|
||||
FloatModel m_volumeModel;
|
||||
|
||||
|
||||
friend class sampleTrackView;
|
||||
@@ -168,7 +168,7 @@ public slots:
|
||||
|
||||
|
||||
private:
|
||||
effectRackView * m_effectRack;
|
||||
EffectRackView * m_effectRack;
|
||||
QWidget * m_effWindow;
|
||||
knob * m_volumeKnob;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* setup_dialog_mcl.h - dialog for setting up MIDI Control Listener
|
||||
*
|
||||
* Copyright (c) 2009 Achim Settelmeier <lmms/at/m1.sirlab.de>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <QtGui/QDialog>
|
||||
|
||||
#include "DummyMidiEventProcessor.h"
|
||||
#include "piano.h"
|
||||
#include "Piano.h"
|
||||
|
||||
class setupDialog;
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
#include <QtCore/QVector>
|
||||
|
||||
#include "track_container.h"
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "Controller.h"
|
||||
#include "meter_model.h"
|
||||
#include "MeterModel.h"
|
||||
|
||||
|
||||
class automationTrack;
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
}
|
||||
|
||||
|
||||
meterModel & getTimeSigModel( void )
|
||||
MeterModel & getTimeSigModel( void )
|
||||
{
|
||||
return m_timeSigModel;
|
||||
}
|
||||
@@ -268,11 +268,11 @@ private:
|
||||
|
||||
automationTrack * m_globalAutomationTrack;
|
||||
|
||||
intModel m_tempoModel;
|
||||
meterModel m_timeSigModel;
|
||||
IntModel m_tempoModel;
|
||||
MeterModel m_timeSigModel;
|
||||
int m_oldTicksPerTact;
|
||||
intModel m_masterVolumeModel;
|
||||
intModel m_masterPitchModel;
|
||||
IntModel m_masterVolumeModel;
|
||||
IntModel m_masterPitchModel;
|
||||
|
||||
ControllerVector m_controllers;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "mixer.h"
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ class knob;
|
||||
const int SURROUND_AREA_SIZE = 1024;
|
||||
|
||||
|
||||
class surroundAreaModel : public model
|
||||
class surroundAreaModel : public Model
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel(int,x,setX,m_posX);
|
||||
mapPropertyFromModel(int,y,setY,m_posY);
|
||||
public:
|
||||
surroundAreaModel( ::model * _parent,
|
||||
surroundAreaModel( Model * _parent,
|
||||
bool _default_constructed = FALSE );
|
||||
|
||||
surroundVolumeVector getVolumeVector( float _v_scale ) const;
|
||||
@@ -74,14 +74,14 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
intModel m_posX;
|
||||
intModel m_posY;
|
||||
IntModel m_posX;
|
||||
IntModel m_posY;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
/*
|
||||
class surroundArea : public QWidget, public modelView
|
||||
class surroundArea : public QWidget, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
@@ -36,7 +36,7 @@ class nStateButton;
|
||||
class textFloat;
|
||||
|
||||
|
||||
class timeLine : public QWidget, public journallingObject
|
||||
class timeLine : public QWidget, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
160
include/track.h
160
include/track.h
@@ -3,7 +3,7 @@
|
||||
* track-like objects (beat/bassline, sample-track...)
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
@@ -23,7 +23,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _TRACK_H
|
||||
#define _TRACK_H
|
||||
|
||||
@@ -34,8 +33,9 @@
|
||||
#include "lmms_basics.h"
|
||||
#include "midi_time.h"
|
||||
#include "rubberband.h"
|
||||
#include "journalling_object.h"
|
||||
#include "automatable_model.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "AutomatableModel.h"
|
||||
#include "ModelView.h"
|
||||
|
||||
|
||||
class QMenu;
|
||||
@@ -59,7 +59,7 @@ const int TRACK_OP_WIDTH = 78;
|
||||
const int TCO_BORDER_WIDTH = 1;
|
||||
|
||||
|
||||
class trackContentObject : public model, public journallingObject
|
||||
class trackContentObject : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel( bool, isMuted, setMuted, m_mutedModel);
|
||||
@@ -67,14 +67,14 @@ public:
|
||||
trackContentObject( track * _track );
|
||||
virtual ~trackContentObject();
|
||||
|
||||
inline track * getTrack( void ) const
|
||||
inline track * getTrack() const
|
||||
{
|
||||
return( m_track );
|
||||
return m_track;
|
||||
}
|
||||
|
||||
inline const QString & name( void ) const
|
||||
inline const QString & name() const
|
||||
{
|
||||
return( m_name );
|
||||
return m_name;
|
||||
}
|
||||
|
||||
inline void setName( const QString & _name )
|
||||
@@ -83,26 +83,26 @@ public:
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
virtual QString displayName( void ) const
|
||||
virtual QString displayName() const
|
||||
{
|
||||
return( name() );
|
||||
return name();
|
||||
}
|
||||
|
||||
|
||||
inline const midiTime & startPosition( void ) const
|
||||
inline const midiTime & startPosition() const
|
||||
{
|
||||
return( m_startPosition );
|
||||
return m_startPosition;
|
||||
}
|
||||
|
||||
inline midiTime endPosition( void ) const
|
||||
inline midiTime endPosition() const
|
||||
{
|
||||
const int sp = m_startPosition;
|
||||
return sp + m_length;
|
||||
}
|
||||
|
||||
inline const midiTime & length( void ) const
|
||||
inline const midiTime & length() const
|
||||
{
|
||||
return( m_length );
|
||||
return m_length;
|
||||
}
|
||||
|
||||
virtual void movePosition( const midiTime & _pos );
|
||||
@@ -112,20 +112,20 @@ public:
|
||||
|
||||
|
||||
public slots:
|
||||
void copy( void );
|
||||
void paste( void );
|
||||
void toggleMute( void );
|
||||
void copy();
|
||||
void paste();
|
||||
void toggleMute();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( journalEntry & _je );
|
||||
virtual void undoStep( JournalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );
|
||||
|
||||
|
||||
signals:
|
||||
void lengthChanged( void );
|
||||
void positionChanged( void );
|
||||
void destroyedTCO( void );
|
||||
void lengthChanged();
|
||||
void positionChanged();
|
||||
void destroyedTCO();
|
||||
|
||||
|
||||
private:
|
||||
@@ -142,7 +142,7 @@ private:
|
||||
midiTime m_startPosition;
|
||||
midiTime m_length;
|
||||
|
||||
boolModel m_mutedModel;
|
||||
BoolModel m_mutedModel;
|
||||
|
||||
|
||||
friend class trackContentObjectView;
|
||||
@@ -151,25 +151,25 @@ private:
|
||||
|
||||
|
||||
|
||||
class trackContentObjectView : public selectableObject, public modelView
|
||||
class trackContentObjectView : public selectableObject, public ModelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
trackContentObjectView( trackContentObject * _tco, trackView * _tv );
|
||||
virtual ~trackContentObjectView();
|
||||
|
||||
bool fixedTCOs( void );
|
||||
bool fixedTCOs();
|
||||
|
||||
inline trackContentObject * getTrackContentObject( void )
|
||||
inline trackContentObject * getTrackContentObject()
|
||||
{
|
||||
return( m_tco );
|
||||
return m_tco;
|
||||
}
|
||||
|
||||
|
||||
public slots:
|
||||
virtual bool close( void );
|
||||
void cut( void );
|
||||
void remove( void );
|
||||
virtual bool close();
|
||||
void cut();
|
||||
void remove();
|
||||
|
||||
protected:
|
||||
virtual void constructContextMenu( QMenu * )
|
||||
@@ -185,17 +185,17 @@ protected:
|
||||
virtual void mouseReleaseEvent( QMouseEvent * _me );
|
||||
|
||||
void setAutoResizeEnabled( bool _e = FALSE );
|
||||
float pixelsPerTact( void );
|
||||
float pixelsPerTact();
|
||||
|
||||
inline trackView * getTrackView( void )
|
||||
inline trackView * getTrackView()
|
||||
{
|
||||
return( m_trackView );
|
||||
return m_trackView;
|
||||
}
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateLength( void );
|
||||
void updatePosition( void );
|
||||
void updateLength();
|
||||
void updatePosition();
|
||||
|
||||
|
||||
private:
|
||||
@@ -225,7 +225,7 @@ private:
|
||||
|
||||
|
||||
|
||||
class trackContentWidget : public QWidget, public journallingObject
|
||||
class trackContentWidget : public QWidget, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -244,10 +244,10 @@ public:
|
||||
|
||||
midiTime endPosition( const midiTime & _pos_start );
|
||||
|
||||
void updateBackground( void );
|
||||
void updateBackground();
|
||||
|
||||
public slots:
|
||||
void update( void );
|
||||
void update();
|
||||
void changePosition( const midiTime & _new_pos = midiTime( -1 ) );
|
||||
|
||||
|
||||
@@ -258,13 +258,13 @@ protected:
|
||||
virtual void paintEvent( QPaintEvent * _pe );
|
||||
virtual void resizeEvent( QResizeEvent * _re );
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "trackcontentwidget" );
|
||||
return "trackcontentwidget";
|
||||
}
|
||||
|
||||
virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( journalEntry & _je );
|
||||
virtual void undoStep( JournalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );
|
||||
|
||||
|
||||
private:
|
||||
@@ -274,7 +274,7 @@ private:
|
||||
RemoveTrackContentObject
|
||||
} ;
|
||||
|
||||
track * getTrack( void );
|
||||
track * getTrack();
|
||||
midiTime getPosition( int _mouse_x );
|
||||
|
||||
trackView * m_trackView;
|
||||
@@ -304,9 +304,9 @@ protected:
|
||||
|
||||
|
||||
private slots:
|
||||
void cloneTrack( void );
|
||||
void removeTrack( void );
|
||||
void updateMenu( void );
|
||||
void cloneTrack();
|
||||
void removeTrack();
|
||||
void updateMenu();
|
||||
|
||||
|
||||
private:
|
||||
@@ -331,7 +331,7 @@ signals:
|
||||
|
||||
|
||||
// base-class for all tracks
|
||||
class EXPORT track : public model, public journallingObject
|
||||
class EXPORT track : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
mapPropertyFromModel(bool,isMuted,setMuted,m_mutedModel);
|
||||
@@ -356,13 +356,13 @@ public:
|
||||
static track * create( TrackTypes _tt, trackContainer * _tc );
|
||||
static track * create( const QDomElement & _this,
|
||||
trackContainer * _tc );
|
||||
void clone( void );
|
||||
void clone();
|
||||
|
||||
|
||||
// pure virtual functions
|
||||
TrackTypes type( void ) const
|
||||
TrackTypes type() const
|
||||
{
|
||||
return( m_type );
|
||||
return m_type;
|
||||
}
|
||||
|
||||
virtual bool play( const midiTime & _start, const fpp_t _frames,
|
||||
@@ -381,7 +381,7 @@ public:
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
void setSimpleSerializing( void )
|
||||
void setSimpleSerializing()
|
||||
{
|
||||
m_simpleSerializingMode = TRUE;
|
||||
}
|
||||
@@ -391,11 +391,11 @@ public:
|
||||
void removeTCO( trackContentObject * _tco );
|
||||
// -------------------------------------------------------
|
||||
|
||||
int numOfTCOs( void );
|
||||
int numOfTCOs();
|
||||
trackContentObject * getTCO( int _tco_num );
|
||||
int getTCONum( trackContentObject * _tco );
|
||||
|
||||
const tcoVector & getTCOs( void ) const
|
||||
const tcoVector & getTCOs() const
|
||||
{
|
||||
return( m_trackContentObjects );
|
||||
}
|
||||
@@ -407,26 +407,26 @@ public:
|
||||
void insertTact( const midiTime & _pos );
|
||||
void removeTact( const midiTime & _pos );
|
||||
|
||||
tact_t length( void ) const;
|
||||
tact_t length() const;
|
||||
|
||||
|
||||
inline trackContainer * getTrackContainer( void ) const
|
||||
inline trackContainer * getTrackContainer() const
|
||||
{
|
||||
return( m_trackContainer );
|
||||
}
|
||||
|
||||
// name-stuff
|
||||
virtual const QString & name( void ) const
|
||||
virtual const QString & name() const
|
||||
{
|
||||
return( m_name );
|
||||
}
|
||||
|
||||
virtual QString displayName( void ) const
|
||||
virtual QString displayName() const
|
||||
{
|
||||
return( name() );
|
||||
}
|
||||
|
||||
using model::dataChanged;
|
||||
using Model::dataChanged;
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -436,7 +436,7 @@ public slots:
|
||||
emit nameChanged();
|
||||
}
|
||||
|
||||
void toggleSolo( void );
|
||||
void toggleSolo();
|
||||
|
||||
|
||||
private:
|
||||
@@ -444,8 +444,8 @@ private:
|
||||
TrackTypes m_type;
|
||||
QString m_name;
|
||||
|
||||
boolModel m_mutedModel;
|
||||
boolModel m_soloModel;
|
||||
BoolModel m_mutedModel;
|
||||
BoolModel m_soloModel;
|
||||
bool m_mutedBeforeSolo;
|
||||
|
||||
bool m_simpleSerializingMode;
|
||||
@@ -457,8 +457,8 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void destroyedTrack( void );
|
||||
void nameChanged( void );
|
||||
void destroyedTrack();
|
||||
void nameChanged();
|
||||
void trackContentObjectAdded( trackContentObject * );
|
||||
void trackContentObjectRemoved( trackContentObject * );
|
||||
|
||||
@@ -467,63 +467,63 @@ signals:
|
||||
|
||||
|
||||
|
||||
class trackView : public QWidget, public modelView, public journallingObject
|
||||
class trackView : public QWidget, public ModelView, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
trackView( track * _track, trackContainerView * _tcv );
|
||||
virtual ~trackView();
|
||||
|
||||
inline const track * getTrack( void ) const
|
||||
inline const track * getTrack() const
|
||||
{
|
||||
return( m_track );
|
||||
}
|
||||
|
||||
inline track * getTrack( void )
|
||||
inline track * getTrack()
|
||||
{
|
||||
return( m_track );
|
||||
}
|
||||
|
||||
inline trackContainerView * getTrackContainerView( void )
|
||||
inline trackContainerView * getTrackContainerView()
|
||||
{
|
||||
return( m_trackContainerView );
|
||||
}
|
||||
|
||||
inline trackOperationsWidget * getTrackOperationsWidget( void )
|
||||
inline trackOperationsWidget * getTrackOperationsWidget()
|
||||
{
|
||||
return( &m_trackOperationsWidget );
|
||||
}
|
||||
|
||||
inline trackSettingsWidget * getTrackSettingsWidget( void )
|
||||
inline trackSettingsWidget * getTrackSettingsWidget()
|
||||
{
|
||||
return( &m_trackSettingsWidget );
|
||||
}
|
||||
|
||||
inline trackContentWidget * getTrackContentWidget( void )
|
||||
inline trackContentWidget * getTrackContentWidget()
|
||||
{
|
||||
return( &m_trackContentWidget );
|
||||
}
|
||||
|
||||
bool isMovingTrack( void ) const
|
||||
bool isMovingTrack() const
|
||||
{
|
||||
return( m_action == MoveTrack );
|
||||
}
|
||||
|
||||
virtual void update( void );
|
||||
virtual void update();
|
||||
|
||||
|
||||
public slots:
|
||||
virtual bool close( void );
|
||||
virtual bool close();
|
||||
|
||||
|
||||
protected:
|
||||
virtual void modelChanged( void );
|
||||
virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( journalEntry & _je );
|
||||
virtual void modelChanged();
|
||||
virtual void undoStep( JournalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "trackview" );
|
||||
return "trackview";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,21 +30,21 @@
|
||||
#include <QReadWriteLock>
|
||||
|
||||
#include "track.h"
|
||||
#include "journalling_object.h"
|
||||
#include "JournallingObject.h"
|
||||
|
||||
|
||||
class automationPattern;
|
||||
class instrumentTrack;
|
||||
class InstrumentTrack;
|
||||
class trackContainerView;
|
||||
|
||||
|
||||
class EXPORT trackContainer : public model, public journallingObject
|
||||
class EXPORT trackContainer : public Model, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QVector<track *> trackList;
|
||||
|
||||
trackContainer( void );
|
||||
trackContainer();
|
||||
virtual ~trackContainer();
|
||||
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _parent );
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
|
||||
virtual automationPattern * tempoAutomationPattern( void )
|
||||
virtual automationPattern * tempoAutomationPattern()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
@@ -63,18 +63,18 @@ public:
|
||||
void addTrack( track * _track );
|
||||
void removeTrack( track * _track );
|
||||
|
||||
virtual void updateAfterTrackAdd( void );
|
||||
virtual void updateAfterTrackAdd();
|
||||
|
||||
void clearAllTracks( void );
|
||||
void clearAllTracks();
|
||||
|
||||
const trackList & tracks( void ) const
|
||||
const trackList & tracks() const
|
||||
{
|
||||
return m_tracks;
|
||||
}
|
||||
|
||||
bool isEmpty( void ) const;
|
||||
bool isEmpty() const;
|
||||
|
||||
static const QString classNodeName( void )
|
||||
static const QString classNodeName()
|
||||
{
|
||||
return "trackcontainer";
|
||||
}
|
||||
@@ -97,28 +97,28 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
class dummyTrackContainer : public trackContainer
|
||||
class DummyTrackContainer : public trackContainer
|
||||
{
|
||||
public:
|
||||
dummyTrackContainer( void );
|
||||
DummyTrackContainer();
|
||||
|
||||
virtual ~dummyTrackContainer()
|
||||
virtual ~DummyTrackContainer()
|
||||
{
|
||||
}
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return "dummytrackcontainer";
|
||||
return "DummyTrackContainer";
|
||||
}
|
||||
|
||||
instrumentTrack * dummyInstrumentTrack( void )
|
||||
InstrumentTrack * dummyInstrumentTrack()
|
||||
{
|
||||
return m_dummyInstrumentTrack;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
instrumentTrack * m_dummyInstrumentTrack;
|
||||
InstrumentTrack * m_dummyInstrumentTrack;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* track_container_view.h - view-component for trackContainer
|
||||
*
|
||||
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -32,16 +32,16 @@
|
||||
|
||||
|
||||
#include "track.h"
|
||||
#include "journalling_object.h"
|
||||
#include "JournallingObject.h"
|
||||
|
||||
|
||||
class QVBoxLayout;
|
||||
class trackContainer;
|
||||
|
||||
|
||||
class trackContainerView : public QWidget, public modelView,
|
||||
public journallingObject,
|
||||
public serializingObjectHook
|
||||
class trackContainerView : public QWidget, public ModelView,
|
||||
public JournallingObject,
|
||||
public SerializingObjectHook
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -51,22 +51,22 @@ public:
|
||||
virtual void saveSettings( QDomDocument & _doc, QDomElement & _this );
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
QWidget * contentWidget( void )
|
||||
QWidget * contentWidget()
|
||||
{
|
||||
return( m_scrollArea );
|
||||
}
|
||||
|
||||
inline const midiTime & currentPosition( void ) const
|
||||
inline const midiTime & currentPosition() const
|
||||
{
|
||||
return( m_currentPosition );
|
||||
}
|
||||
|
||||
virtual bool fixedTCOs( void ) const
|
||||
virtual bool fixedTCOs() const
|
||||
{
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
inline float pixelsPerTact( void ) const
|
||||
inline float pixelsPerTact() const
|
||||
{
|
||||
return( m_ppt );
|
||||
}
|
||||
@@ -75,14 +75,14 @@ public:
|
||||
|
||||
const trackView * trackViewAt( const int _y ) const;
|
||||
|
||||
virtual bool allowRubberband( void ) const;
|
||||
virtual bool allowRubberband() const;
|
||||
|
||||
inline bool rubberBandActive( void ) const
|
||||
inline bool rubberBandActive() const
|
||||
{
|
||||
return( m_rubberBand->isVisible() );
|
||||
}
|
||||
|
||||
inline QVector<selectableObject *> selectedObjects( void )
|
||||
inline QVector<selectableObject *> selectedObjects()
|
||||
{
|
||||
if( allowRubberband() == TRUE )
|
||||
{
|
||||
@@ -92,12 +92,12 @@ public:
|
||||
}
|
||||
|
||||
|
||||
trackContainer * model( void )
|
||||
trackContainer * model()
|
||||
{
|
||||
return( m_tc );
|
||||
}
|
||||
|
||||
const trackContainer * model( void ) const
|
||||
const trackContainer * model() const
|
||||
{
|
||||
return( m_tc );
|
||||
}
|
||||
@@ -110,16 +110,16 @@ public:
|
||||
void removeTrackView( trackView * _tv );
|
||||
// -------------------------------------------------------
|
||||
|
||||
void clearAllTracks( void );
|
||||
void clearAllTracks();
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "trackcontainerview" );
|
||||
}
|
||||
|
||||
|
||||
public slots:
|
||||
void realignTracks( void );
|
||||
void realignTracks();
|
||||
void createTrackView( track * _t );
|
||||
void deleteTrackView( trackView * _tv );
|
||||
|
||||
@@ -127,7 +127,7 @@ public slots:
|
||||
protected:
|
||||
static const int DEFAULT_PIXELS_PER_TACT = 16;
|
||||
|
||||
const QList<trackView *> & trackViews( void ) const
|
||||
const QList<trackView *> & trackViews() const
|
||||
{
|
||||
return( m_trackViews );
|
||||
}
|
||||
@@ -139,8 +139,8 @@ protected:
|
||||
virtual void mouseReleaseEvent( QMouseEvent * _me );
|
||||
virtual void resizeEvent( QResizeEvent * );
|
||||
|
||||
virtual void undoStep( journalEntry & _je );
|
||||
virtual void redoStep( journalEntry & _je );
|
||||
virtual void undoStep( JournalEntry & _je );
|
||||
virtual void redoStep( JournalEntry & _je );
|
||||
|
||||
midiTime m_currentPosition;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#ifndef _TRANSFORMABLE_AUTO_MODEL_H
|
||||
#define _TRANSFORMABLE_AUTO_MODEL_H
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "AutomatableModel.h"
|
||||
//#include "automatable_model_templates.h"
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ struct AutoModelTransformer
|
||||
|
||||
|
||||
template<typename T, typename EDIT_STEP_TYPE>
|
||||
class transformableAutoModel : public automatableModel<T, EDIT_STEP_TYPE>
|
||||
class transformableAutoModel : public AutomatableModel<T, EDIT_STEP_TYPE>
|
||||
{
|
||||
public:
|
||||
transformableAutoModel( const AutoModelTransformer<T> * _transformer,
|
||||
@@ -49,9 +49,9 @@ public:
|
||||
const T _min = 0,
|
||||
const T _max = 0,
|
||||
const T _step = defaultRelStep(),
|
||||
::model * _parent = NULL,
|
||||
Model * _parent = NULL,
|
||||
bool _default_constructed = FALSE ) :
|
||||
automatableModel( _val, _min, _max, _step, _parent,
|
||||
AutomatableModel( _val, _min, _max, _step, _parent,
|
||||
_default_constructed ),
|
||||
m_transformer( _transformer )
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "audio_file_processor.h"
|
||||
#include "engine.h"
|
||||
#include "song.h"
|
||||
#include "instrument_track.h"
|
||||
#include "InstrumentTrack.h"
|
||||
#include "note_play_handle.h"
|
||||
#include "interpolation.h"
|
||||
#include "gui_templates.h"
|
||||
@@ -48,7 +48,7 @@
|
||||
extern "C"
|
||||
{
|
||||
|
||||
plugin::descriptor PLUGIN_EXPORT audiofileprocessor_plugin_descriptor =
|
||||
Plugin::Descriptor PLUGIN_EXPORT audiofileprocessor_plugin_descriptor =
|
||||
{
|
||||
STRINGIFY( PLUGIN_NAME ),
|
||||
"AudioFileProcessor",
|
||||
@@ -58,8 +58,8 @@ plugin::descriptor PLUGIN_EXPORT audiofileprocessor_plugin_descriptor =
|
||||
"instrument-track" ),
|
||||
"Tobias Doerffel <tobydox/at/users.sf.net>",
|
||||
0x0100,
|
||||
plugin::Instrument,
|
||||
new pluginPixmapLoader( "logo" ),
|
||||
Plugin::Instrument,
|
||||
new PluginPixmapLoader( "logo" ),
|
||||
sampleBuffer::supportedExts,
|
||||
NULL
|
||||
} ;
|
||||
@@ -69,12 +69,12 @@ plugin::descriptor PLUGIN_EXPORT audiofileprocessor_plugin_descriptor =
|
||||
|
||||
|
||||
|
||||
audioFileProcessor::audioFileProcessor( instrumentTrack * _instrument_track ) :
|
||||
instrument( _instrument_track, &audiofileprocessor_plugin_descriptor ),
|
||||
audioFileProcessor::audioFileProcessor( InstrumentTrack * _instrument_track ) :
|
||||
Instrument( _instrument_track, &audiofileprocessor_plugin_descriptor ),
|
||||
m_sampleBuffer(),
|
||||
m_ampModel( 100, 0, 500, 1, this, tr( "Amplify" ) ),
|
||||
m_startPointModel( 0, 0, 1, 0.0000001f, this, tr( "Start of sample") ),
|
||||
m_endPointModel( 1, 0, 1, 0.0000001f, this, tr( "End of sample" ) ),
|
||||
m_startPoIntModel( 0, 0, 1, 0.0000001f, this, tr( "Start of sample") ),
|
||||
m_endPoIntModel( 1, 0, 1, 0.0000001f, this, tr( "End of sample" ) ),
|
||||
m_reverseModel( false, this, tr( "Reverse sample" ) ),
|
||||
m_loopModel( false, this, tr( "Loop") )
|
||||
{
|
||||
@@ -82,9 +82,9 @@ audioFileProcessor::audioFileProcessor( instrumentTrack * _instrument_track ) :
|
||||
this, SLOT( reverseModelChanged() ) );
|
||||
connect( &m_ampModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( ampModelChanged() ) );
|
||||
connect( &m_startPointModel, SIGNAL( dataChanged() ),
|
||||
connect( &m_startPoIntModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( loopPointChanged() ) );
|
||||
connect( &m_endPointModel, SIGNAL( dataChanged() ),
|
||||
connect( &m_endPoIntModel, SIGNAL( dataChanged() ),
|
||||
this, SLOT( loopPointChanged() ) );
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ void audioFileProcessor::playNote( notePlayHandle * _n,
|
||||
m_loopModel.value() ) == true )
|
||||
{
|
||||
applyRelease( _working_buffer, _n );
|
||||
getInstrumentTrack()->processAudioBuffer( _working_buffer,
|
||||
instrumentTrack()->processAudioBuffer( _working_buffer,
|
||||
frames,_n );
|
||||
}
|
||||
}
|
||||
@@ -143,8 +143,8 @@ void audioFileProcessor::saveSettings( QDomDocument & _doc,
|
||||
m_reverseModel.saveSettings( _doc, _this, "reversed" );
|
||||
m_loopModel.saveSettings( _doc, _this, "looped" );
|
||||
m_ampModel.saveSettings( _doc, _this, "amp" );
|
||||
m_startPointModel.saveSettings( _doc, _this, "sframe" );
|
||||
m_endPointModel.saveSettings( _doc, _this, "eframe" );
|
||||
m_startPoIntModel.saveSettings( _doc, _this, "sframe" );
|
||||
m_endPoIntModel.saveSettings( _doc, _this, "eframe" );
|
||||
}
|
||||
|
||||
|
||||
@@ -163,8 +163,8 @@ void audioFileProcessor::loadSettings( const QDomElement & _this )
|
||||
m_reverseModel.loadSettings( _this, "reversed" );
|
||||
m_loopModel.loadSettings( _this, "looped" );
|
||||
m_ampModel.loadSettings( _this, "amp" );
|
||||
m_startPointModel.loadSettings( _this, "sframe" );
|
||||
m_endPointModel.loadSettings( _this, "eframe" );
|
||||
m_startPoIntModel.loadSettings( _this, "sframe" );
|
||||
m_endPoIntModel.loadSettings( _this, "eframe" );
|
||||
|
||||
loopPointChanged();
|
||||
}
|
||||
@@ -204,7 +204,7 @@ Uint32 audioFileProcessor::getBeatLen( notePlayHandle * _n ) const
|
||||
|
||||
|
||||
|
||||
pluginView * audioFileProcessor::instantiateView( QWidget * _parent )
|
||||
PluginView * audioFileProcessor::instantiateView( QWidget * _parent )
|
||||
{
|
||||
return new AudioFileProcessorView( this, _parent );
|
||||
}
|
||||
@@ -217,12 +217,12 @@ void audioFileProcessor::setAudioFile( const QString & _audio_file,
|
||||
{
|
||||
// is current channel-name equal to previous-filename??
|
||||
if( _rename &&
|
||||
( getInstrumentTrack()->name() ==
|
||||
( instrumentTrack()->name() ==
|
||||
QFileInfo( m_sampleBuffer.audioFile() ).fileName() ||
|
||||
m_sampleBuffer.audioFile().isEmpty() ) )
|
||||
{
|
||||
// then set it to new one
|
||||
getInstrumentTrack()->setName( QFileInfo( _audio_file).fileName() );
|
||||
instrumentTrack()->setName( QFileInfo( _audio_file).fileName() );
|
||||
}
|
||||
// else we don't touch the track-name, because the user named it self
|
||||
|
||||
@@ -251,9 +251,9 @@ void audioFileProcessor::ampModelChanged()
|
||||
|
||||
void audioFileProcessor::loopPointChanged()
|
||||
{
|
||||
const f_cnt_t f1 = static_cast<f_cnt_t>( m_startPointModel.value() *
|
||||
const f_cnt_t f1 = static_cast<f_cnt_t>( m_startPoIntModel.value() *
|
||||
( m_sampleBuffer.frames()-1 ) );
|
||||
const f_cnt_t f2 = static_cast<f_cnt_t>( m_endPointModel.value() *
|
||||
const f_cnt_t f2 = static_cast<f_cnt_t>( m_endPoIntModel.value() *
|
||||
( m_sampleBuffer.frames()-1 ) );
|
||||
m_sampleBuffer.setStartFrame( qMin<f_cnt_t>( f1, f2 ) );
|
||||
m_sampleBuffer.setEndFrame( qMax<f_cnt_t>( f1, f2 ) );
|
||||
@@ -282,7 +282,7 @@ public:
|
||||
QPixmap * AudioFileProcessorView::s_artwork = NULL;
|
||||
|
||||
|
||||
AudioFileProcessorView::AudioFileProcessorView( instrument * _instrument,
|
||||
AudioFileProcessorView::AudioFileProcessorView( Instrument * _instrument,
|
||||
QWidget * _parent ) :
|
||||
InstrumentView( _instrument, _parent )
|
||||
{
|
||||
@@ -472,8 +472,8 @@ void AudioFileProcessorView::modelChanged()
|
||||
connect( &a->m_sampleBuffer, SIGNAL( sampleUpdated() ),
|
||||
this, SLOT( sampleUpdated() ) );
|
||||
m_ampKnob->setModel( &a->m_ampModel );
|
||||
m_startKnob->setModel( &a->m_startPointModel );
|
||||
m_endKnob->setModel( &a->m_endPointModel );
|
||||
m_startKnob->setModel( &a->m_startPoIntModel );
|
||||
m_endKnob->setModel( &a->m_endPoIntModel );
|
||||
m_reverseButton->setModel( &a->m_reverseModel );
|
||||
m_loopButton->setModel( &a->m_loopModel );
|
||||
sampleUpdated();
|
||||
@@ -487,10 +487,10 @@ extern "C"
|
||||
{
|
||||
|
||||
// neccessary for getting instance out of shared lib
|
||||
plugin * PLUGIN_EXPORT lmms_plugin_main( model *, void * _data )
|
||||
Plugin * PLUGIN_EXPORT lmms_plugin_main( Model *, void * _data )
|
||||
{
|
||||
return new audioFileProcessor(
|
||||
static_cast<instrumentTrack *>( _data ) );
|
||||
static_cast<InstrumentTrack *>( _data ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#include <QtGui/QPixmap>
|
||||
|
||||
#include "instrument.h"
|
||||
#include "Instrument.h"
|
||||
#include "InstrumentView.h"
|
||||
#include "sample_buffer.h"
|
||||
#include "knob.h"
|
||||
@@ -37,11 +37,11 @@
|
||||
|
||||
|
||||
|
||||
class audioFileProcessor : public instrument
|
||||
class audioFileProcessor : public Instrument
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
audioFileProcessor( instrumentTrack * _instrument_track );
|
||||
audioFileProcessor( InstrumentTrack * _instrument_track );
|
||||
virtual ~audioFileProcessor();
|
||||
|
||||
virtual void playNote( notePlayHandle * _n,
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
return 128;
|
||||
}
|
||||
|
||||
virtual pluginView * instantiateView( QWidget * _parent );
|
||||
virtual PluginView * instantiateView( QWidget * _parent );
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -81,11 +81,11 @@ private:
|
||||
|
||||
sampleBuffer m_sampleBuffer;
|
||||
|
||||
knobModel m_ampModel;
|
||||
knobModel m_startPointModel;
|
||||
knobModel m_endPointModel;
|
||||
boolModel m_reverseModel;
|
||||
boolModel m_loopModel;
|
||||
FloatModel m_ampModel;
|
||||
FloatModel m_startPoIntModel;
|
||||
FloatModel m_endPoIntModel;
|
||||
BoolModel m_reverseModel;
|
||||
BoolModel m_loopModel;
|
||||
|
||||
|
||||
friend class AudioFileProcessorView;
|
||||
@@ -98,7 +98,7 @@ class AudioFileProcessorView : public InstrumentView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
AudioFileProcessorView( instrument * _instrument, QWidget * _parent );
|
||||
AudioFileProcessorView( Instrument * _instrument, QWidget * _parent );
|
||||
virtual ~AudioFileProcessorView();
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user