Renamed all automation related files and classes to match new coding style
All automation-related files and classes have been renamed to match the new coding style.
This commit is contained in:
@@ -48,7 +48,7 @@ QMdiArea {
|
||||
background-image: url(resources:background_artwork.png);
|
||||
}
|
||||
|
||||
automationEditor {
|
||||
AutomationEditor {
|
||||
background-color: rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ QMdiArea {
|
||||
background-image: url(resources:background_artwork.png);
|
||||
}
|
||||
|
||||
automationEditor {
|
||||
AutomationEditor {
|
||||
background-color: rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* automation_editor.h - declaration of class automationEditor which is a window
|
||||
* where you can edit dynamic values in an easy way
|
||||
* AutomationEditor.h - declaration of class AutomationEditor which is a window
|
||||
* where you can edit dynamic values in an easy way
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "lmms_basics.h"
|
||||
#include "JournallingObject.h"
|
||||
#include "midi_time.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "ComboBoxModel.h"
|
||||
|
||||
|
||||
@@ -47,13 +47,13 @@ class timeLine;
|
||||
class toolButton;
|
||||
|
||||
|
||||
class automationEditor : public QWidget, public JournallingObject
|
||||
class AutomationEditor : public QWidget, public JournallingObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
void setCurrentPattern( automationPattern * _new_pattern );
|
||||
void setCurrentPattern( AutomationPattern * _new_pattern );
|
||||
|
||||
inline const automationPattern * currentPattern() const
|
||||
inline const AutomationPattern * currentPattern() const
|
||||
{
|
||||
return m_pattern;
|
||||
}
|
||||
@@ -80,7 +80,7 @@ public slots:
|
||||
|
||||
|
||||
protected:
|
||||
typedef automationPattern::timeMap timeMap;
|
||||
typedef AutomationPattern::timeMap timeMap;
|
||||
|
||||
virtual void closeEvent( QCloseEvent * _ce );
|
||||
virtual void keyPressEvent( QKeyEvent * _ke );
|
||||
@@ -158,9 +158,9 @@ private:
|
||||
static const int ValuesWidth = 64;
|
||||
|
||||
|
||||
automationEditor();
|
||||
automationEditor( const automationEditor & );
|
||||
virtual ~automationEditor();
|
||||
AutomationEditor();
|
||||
AutomationEditor( const AutomationEditor & );
|
||||
virtual ~AutomationEditor();
|
||||
|
||||
|
||||
static QPixmap * s_toolDraw;
|
||||
@@ -192,7 +192,7 @@ private:
|
||||
ComboBoxModel m_quantizeModel;
|
||||
|
||||
QMutex m_patternMutex;
|
||||
automationPattern * m_pattern;
|
||||
AutomationPattern * m_pattern;
|
||||
float m_minLevel;
|
||||
float m_maxLevel;
|
||||
float m_step;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automation_pattern.h - declaration of class automationPattern, which contains
|
||||
* all information about an automation pattern
|
||||
* AutomationPattern.h - declaration of class AutomationPattern, which contains
|
||||
* all information about an automation pattern
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
@@ -24,7 +24,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATION_PATTERN_H
|
||||
#define _AUTOMATION_PATTERN_H
|
||||
|
||||
@@ -33,21 +32,21 @@
|
||||
#include "track.h"
|
||||
|
||||
|
||||
class automationTrack;
|
||||
class AutomationTrack;
|
||||
class midiTime;
|
||||
|
||||
|
||||
|
||||
class EXPORT automationPattern : public trackContentObject
|
||||
class EXPORT AutomationPattern : public trackContentObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QMap<int, float> timeMap;
|
||||
typedef QVector<QPointer<AutomatableModel> > objectVector;
|
||||
|
||||
automationPattern( automationTrack * _auto_track );
|
||||
automationPattern( const automationPattern & _pat_to_copy );
|
||||
virtual ~automationPattern();
|
||||
AutomationPattern( AutomationTrack * _auto_track );
|
||||
AutomationPattern( const AutomationPattern & _pat_to_copy );
|
||||
virtual ~AutomationPattern();
|
||||
|
||||
void addObject( AutomatableModel * _obj, bool _search_dup = true );
|
||||
|
||||
@@ -99,8 +98,7 @@ public:
|
||||
|
||||
|
||||
static bool isAutomated( const AutomatableModel * _m );
|
||||
static automationPattern * globalAutomationPattern(
|
||||
AutomatableModel * _m );
|
||||
static AutomationPattern * globalAutomationPattern( AutomatableModel * _m );
|
||||
static void resolveAllIDs();
|
||||
|
||||
|
||||
@@ -111,14 +109,14 @@ public slots:
|
||||
|
||||
|
||||
private:
|
||||
automationTrack * m_autoTrack;
|
||||
AutomationTrack * m_autoTrack;
|
||||
QVector<jo_id_t> m_idsToResolve;
|
||||
objectVector m_objects;
|
||||
timeMap m_timeMap; // actual values
|
||||
bool m_hasAutomation;
|
||||
|
||||
|
||||
friend class automationPatternView;
|
||||
friend class AutomationPatternView;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automation_pattern_view.h - declaration of class automationPatternView
|
||||
* AutomationPatternView.h - declaration of class AutomationPatternView
|
||||
*
|
||||
* Copyright (c) 2008-2010 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,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATION_PATTERN_VIEW_H
|
||||
#define _AUTOMATION_PATTERN_VIEW_H
|
||||
|
||||
#include "track.h"
|
||||
|
||||
class automationPattern;
|
||||
class AutomationPattern;
|
||||
|
||||
|
||||
class automationPatternView : public trackContentObjectView
|
||||
class AutomationPatternView : public trackContentObjectView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
automationPatternView( automationPattern * _pat, trackView * _parent );
|
||||
virtual ~automationPatternView();
|
||||
AutomationPatternView( AutomationPattern * _pat, trackView * _parent );
|
||||
virtual ~AutomationPatternView();
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -63,7 +62,7 @@ protected:
|
||||
|
||||
|
||||
private:
|
||||
automationPattern * m_pat;
|
||||
AutomationPattern * m_pat;
|
||||
QPixmap m_paintPixmap;
|
||||
bool m_needsUpdate;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
* automation_recorder.h - declaration of class AutomationRecorder
|
||||
* AutomationRecorder.h - declaration of class AutomationRecorder
|
||||
* which accepts a controllerEvent call from midi
|
||||
* controllers and creates automation TCOs if automation
|
||||
* recording is on.
|
||||
*
|
||||
* Copyright (c) 2009-2009 Andrew Kelley <superjoe30/at/gmail.com>
|
||||
*
|
||||
* Copyright (c) 2009-2010 Andrew Kelley <superjoe30/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
|
||||
@@ -25,28 +25,27 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATION_RECORDER_H
|
||||
#define _AUTOMATION_RECORDER_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "automation_track.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "AutomationPattern.h"
|
||||
|
||||
|
||||
class AutomationRecorder : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef struct
|
||||
typedef struct
|
||||
{
|
||||
// during this recording, have we seen this controller change?
|
||||
bool seen;
|
||||
bool seen;
|
||||
// the track that contains the tco
|
||||
automationTrack* auto_track;
|
||||
AutomationTrack* auto_track;
|
||||
// the tco that we're putting this automation in
|
||||
automationPattern* pat;
|
||||
AutomationPattern* pat;
|
||||
} ClipData;
|
||||
typedef QMap<const AutomatableModel *, ClipData> AutoClipMap;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
* automation_track.h - declaration of class automationTrack, which handles
|
||||
* automation of objects without a track
|
||||
* AutomationTrack.h - declaration of class AutomationTrack, which handles
|
||||
* automation of objects without a track
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/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,18 +24,17 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUTOMATION_TRACK_H
|
||||
#define _AUTOMATION_TRACK_H
|
||||
|
||||
#include "track.h"
|
||||
|
||||
|
||||
class automationTrack : public track
|
||||
class AutomationTrack : public track
|
||||
{
|
||||
public:
|
||||
automationTrack( trackContainer * _tc, bool _hidden = false );
|
||||
virtual ~automationTrack();
|
||||
AutomationTrack( trackContainer * _tc, bool _hidden = false );
|
||||
virtual ~AutomationTrack();
|
||||
|
||||
virtual bool play( const midiTime & _start, const fpp_t _frames,
|
||||
const f_cnt_t _frame_base,
|
||||
@@ -43,7 +42,7 @@ public:
|
||||
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "automationtrack" );
|
||||
return "automationtrack";
|
||||
}
|
||||
|
||||
virtual trackView * createView( trackContainerView * );
|
||||
@@ -54,17 +53,17 @@ public:
|
||||
virtual void loadTrackSpecificSettings( const QDomElement & _this );
|
||||
|
||||
private:
|
||||
friend class automationTrackView;
|
||||
friend class AutomationTrackView;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
class automationTrackView : public trackView
|
||||
class AutomationTrackView : public trackView
|
||||
{
|
||||
public:
|
||||
automationTrackView( automationTrack * _at, trackContainerView * _tcv );
|
||||
virtual ~automationTrackView();
|
||||
AutomationTrackView( AutomationTrack * _at, trackContainerView * _tcv );
|
||||
virtual ~AutomationTrackView();
|
||||
|
||||
virtual void dragEnterEvent( QDragEnterEvent * _dee );
|
||||
virtual void dropEvent( QDropEvent * _de );
|
||||
@@ -2,8 +2,8 @@
|
||||
* detuning_helper.h - detuning automation helper
|
||||
*
|
||||
* Copyright (c) 2007 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2008-2010 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,38 +23,37 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _DETUNING_HELPER_H
|
||||
#define _DETUNING_HELPER_H
|
||||
|
||||
#include "inline_automation.h"
|
||||
#include "InlineAutomation.h"
|
||||
|
||||
|
||||
class detuningHelper : public inlineAutomation
|
||||
class DetuningHelper : public InlineAutomation
|
||||
{
|
||||
public:
|
||||
detuningHelper() :
|
||||
inlineAutomation()
|
||||
DetuningHelper() :
|
||||
InlineAutomation()
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~detuningHelper()
|
||||
virtual ~DetuningHelper()
|
||||
{
|
||||
}
|
||||
|
||||
virtual float defaultValue() const
|
||||
{
|
||||
return( 0 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual QString displayName() const
|
||||
{
|
||||
return( tr( "Note detuning" ) );
|
||||
return tr( "Note detuning" );
|
||||
}
|
||||
|
||||
inline virtual QString nodeName() const
|
||||
{
|
||||
return( "detuning" );
|
||||
return "detuning";
|
||||
}
|
||||
|
||||
} ;
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* inline_automation.h - class for automating something "inline"
|
||||
* InlineAutomation.h - class for automating something "inline"
|
||||
*
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -25,21 +25,21 @@
|
||||
#ifndef _INLINE_AUTOMATION_H
|
||||
#define _INLINE_AUTOMATION_H
|
||||
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "shared_object.h"
|
||||
|
||||
|
||||
class inlineAutomation : public FloatModel, public sharedObject
|
||||
class InlineAutomation : public FloatModel, public sharedObject
|
||||
{
|
||||
public:
|
||||
inlineAutomation() :
|
||||
InlineAutomation() :
|
||||
FloatModel(),
|
||||
sharedObject(),
|
||||
m_autoPattern( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~inlineAutomation()
|
||||
virtual ~InlineAutomation()
|
||||
{
|
||||
if( m_autoPattern )
|
||||
{
|
||||
@@ -57,11 +57,11 @@ public:
|
||||
defaultValue() );
|
||||
}
|
||||
|
||||
automationPattern * getAutomationPattern()
|
||||
AutomationPattern * automationPattern()
|
||||
{
|
||||
if( m_autoPattern == NULL )
|
||||
{
|
||||
m_autoPattern = new automationPattern( NULL );
|
||||
m_autoPattern = new AutomationPattern( NULL );
|
||||
m_autoPattern->addObject( this );
|
||||
}
|
||||
return m_autoPattern;
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
automationPattern * m_autoPattern;
|
||||
AutomationPattern * m_autoPattern;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "export.h"
|
||||
#include "lmms_style.h"
|
||||
|
||||
class automationEditor;
|
||||
class AutomationEditor;
|
||||
class AutomationRecorder;
|
||||
class bbEditor;
|
||||
class bbTrackContainer;
|
||||
@@ -151,12 +151,12 @@ public:
|
||||
return s_projectNotes;
|
||||
}
|
||||
|
||||
static automationEditor * getAutomationEditor()
|
||||
static AutomationEditor * automationEditor()
|
||||
{
|
||||
return s_automationEditor;
|
||||
}
|
||||
|
||||
static AutomationRecorder * getAutomationRecorder()
|
||||
static AutomationRecorder * automationRecorder()
|
||||
{
|
||||
return s_automationRecorder;
|
||||
}
|
||||
@@ -238,7 +238,7 @@ private:
|
||||
static MainWindow * s_mainWindow;
|
||||
static FxMixerView * s_fxMixerView;
|
||||
static songEditor * s_songEditor;
|
||||
static automationEditor * s_automationEditor;
|
||||
static AutomationEditor * s_automationEditor;
|
||||
static AutomationRecorder * s_automationRecorder;
|
||||
static bbEditor * s_bbEditor;
|
||||
static pianoRoll * s_pianoRoll;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
* note.h - declaration of class note which contains all informations about a
|
||||
* note + definitions of several constants and enums
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2004-2010 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 _NOTE_H
|
||||
#define _NOTE_H
|
||||
|
||||
@@ -34,7 +33,7 @@
|
||||
#include "midi_time.h"
|
||||
#include "SerializingObject.h"
|
||||
|
||||
class detuningHelper;
|
||||
class DetuningHelper;
|
||||
|
||||
|
||||
enum Keys
|
||||
@@ -87,7 +86,7 @@ public:
|
||||
int key = DefaultKey,
|
||||
volume_t _volume = DefaultVolume,
|
||||
panning_t _panning = DefaultPanning,
|
||||
detuningHelper * _detuning = NULL );
|
||||
DetuningHelper * _detuning = NULL );
|
||||
note( const note & _note );
|
||||
virtual ~note();
|
||||
|
||||
@@ -194,7 +193,7 @@ public:
|
||||
|
||||
static midiTime quantized( const midiTime & _m, const int _q_grid );
|
||||
|
||||
detuningHelper * detuning() const
|
||||
DetuningHelper * detuning() const
|
||||
{
|
||||
return m_detuning;
|
||||
}
|
||||
@@ -236,7 +235,7 @@ private:
|
||||
panning_t m_panning;
|
||||
midiTime m_length;
|
||||
midiTime m_pos;
|
||||
detuningHelper * m_detuning;
|
||||
DetuningHelper * m_detuning;
|
||||
|
||||
void createDetuning();
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* note_play_handle.h - declaration of class notePlayHandle which is needed
|
||||
* by LMMS-Play-Engine
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2004-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -203,7 +203,7 @@ private:
|
||||
class baseDetuning
|
||||
{
|
||||
public:
|
||||
baseDetuning( detuningHelper * _detuning );
|
||||
baseDetuning( DetuningHelper * _detuning );
|
||||
|
||||
void setValue( float _val )
|
||||
{
|
||||
@@ -217,7 +217,7 @@ private:
|
||||
|
||||
|
||||
private:
|
||||
detuningHelper * m_detuning;
|
||||
DetuningHelper * m_detuning;
|
||||
float m_value;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "MeterModel.h"
|
||||
|
||||
|
||||
class automationTrack;
|
||||
class AutomationTrack;
|
||||
class pattern;
|
||||
class timeLine;
|
||||
|
||||
@@ -141,9 +141,9 @@ public:
|
||||
|
||||
|
||||
bpm_t getTempo();
|
||||
virtual automationPattern * tempoAutomationPattern();
|
||||
virtual AutomationPattern * tempoAutomationPattern();
|
||||
|
||||
automationTrack * globalAutomationTrack()
|
||||
AutomationTrack * globalAutomationTrack()
|
||||
{
|
||||
return m_globalAutomationTrack;
|
||||
}
|
||||
@@ -267,7 +267,7 @@ private:
|
||||
void restoreControllerStates( const QDomElement & _this );
|
||||
|
||||
|
||||
automationTrack * m_globalAutomationTrack;
|
||||
AutomationTrack * m_globalAutomationTrack;
|
||||
|
||||
IntModel m_tempoModel;
|
||||
MeterModel m_timeSigModel;
|
||||
|
||||
@@ -69,8 +69,8 @@ public:
|
||||
m_posY.addJournalEntryFromOldToCurVal();
|
||||
}
|
||||
|
||||
// automationPattern * automationPatternX();
|
||||
// automationPattern * automationPatternY();
|
||||
// AutomationPattern * automationPatternX();
|
||||
// AutomationPattern * automationPatternY();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "JournallingObject.h"
|
||||
|
||||
|
||||
class automationPattern;
|
||||
class AutomationPattern;
|
||||
class InstrumentTrack;
|
||||
class trackContainerView;
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
virtual void loadSettings( const QDomElement & _this );
|
||||
|
||||
|
||||
virtual automationPattern * tempoAutomationPattern()
|
||||
virtual AutomationPattern * tempoAutomationPattern()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "FlpImport.h"
|
||||
#include "note_play_handle.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "basic_filters.h"
|
||||
#include "bb_track.h"
|
||||
#include "bb_track_container.h"
|
||||
@@ -1774,7 +1774,7 @@ if( scale )
|
||||
value = m->minValue<float>() + value *
|
||||
( m->maxValue<float>() - m->minValue<float>() );
|
||||
}
|
||||
automationPattern * p = automationPattern::globalAutomationPattern( m );
|
||||
AutomationPattern * p = AutomationPattern::globalAutomationPattern( m );
|
||||
p->putValue( jt->pos, value, false );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* LadspaEffect.cpp - class for processing LADSPA effects
|
||||
*
|
||||
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
|
||||
* Copyright (c) 2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2009-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -36,7 +36,7 @@
|
||||
#include "Mixer.h"
|
||||
#include "EffectChain.h"
|
||||
#include "Cpu.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "ControllerConnection.h"
|
||||
|
||||
#include "embed.cpp"
|
||||
@@ -123,10 +123,10 @@ void LadspaEffect::changeSampleRate()
|
||||
|
||||
// the IDs of re-created controls have been saved and now need to be
|
||||
// resolved again
|
||||
automationPattern::resolveAllIDs();
|
||||
AutomationPattern::resolveAllIDs();
|
||||
|
||||
// make sure, connections are ok
|
||||
ControllerConnection::finalizeConnections();
|
||||
ControllerConnection::finalizeConnections();
|
||||
}
|
||||
|
||||
|
||||
@@ -496,7 +496,7 @@ void LadspaEffect::pluginInstantiation()
|
||||
{
|
||||
port_desc_t * pp = m_ports.at( proc ).at( port );
|
||||
if( !manager->connectPort( m_key,
|
||||
m_handles[proc],
|
||||
m_handles[proc],
|
||||
port,
|
||||
pp->buffer ) )
|
||||
{
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
#include "MidiImport.h"
|
||||
#include "track_container.h"
|
||||
#include "InstrumentTrack.h"
|
||||
#include "automation_track.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "config_mgr.h"
|
||||
#include "pattern.h"
|
||||
#include "Instrument.h"
|
||||
@@ -152,15 +152,15 @@ public:
|
||||
lastPos( 0 )
|
||||
{ }
|
||||
|
||||
automationTrack * at;
|
||||
automationPattern * ap;
|
||||
AutomationTrack * at;
|
||||
AutomationPattern * ap;
|
||||
midiTime lastPos;
|
||||
|
||||
smfMidiCC & create( trackContainer * _tc )
|
||||
{
|
||||
if( !at )
|
||||
{
|
||||
at = dynamic_cast<automationTrack *>(
|
||||
at = dynamic_cast<AutomationTrack *>(
|
||||
track::create( track::AutomationTrack, _tc ) );
|
||||
}
|
||||
return *this;
|
||||
@@ -180,7 +180,7 @@ public:
|
||||
if( !ap || time > lastPos + DefaultTicksPerTact )
|
||||
{
|
||||
midiTime pPos = midiTime( time.getTact(), 0 );
|
||||
ap = dynamic_cast<automationPattern*>(
|
||||
ap = dynamic_cast<AutomationPattern*>(
|
||||
at->createTCO(0) );
|
||||
ap->movePosition( pPos );
|
||||
}
|
||||
@@ -293,10 +293,10 @@ bool MidiImport::readSMF( trackContainer * _tc )
|
||||
smfMidiChannel chs[256];
|
||||
|
||||
MeterModel & timeSigMM = engine::getSong()->getTimeSigModel();
|
||||
automationPattern * timeSigNumeratorPat =
|
||||
automationPattern::globalAutomationPattern( &timeSigMM.numeratorModel() );
|
||||
automationPattern * timeSigDenominatorPat =
|
||||
automationPattern::globalAutomationPattern( &timeSigMM.denominatorModel() );
|
||||
AutomationPattern * timeSigNumeratorPat =
|
||||
AutomationPattern::globalAutomationPattern( &timeSigMM.numeratorModel() );
|
||||
AutomationPattern * timeSigDenominatorPat =
|
||||
AutomationPattern::globalAutomationPattern( &timeSigMM.denominatorModel() );
|
||||
|
||||
// TODO: adjust these to Time.Sig changes
|
||||
double beatsPerTact = 4;
|
||||
@@ -324,7 +324,7 @@ bool MidiImport::readSMF( trackContainer * _tc )
|
||||
pd.setValue( 2 );
|
||||
|
||||
// Tempo stuff
|
||||
automationPattern * tap = _tc->tempoAutomationPattern();
|
||||
AutomationPattern * tap = _tc->tempoAutomationPattern();
|
||||
if( tap )
|
||||
{
|
||||
tap->clear();
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
#include <QtXml/QDomElement>
|
||||
|
||||
#include "AutomatableModel.h"
|
||||
#include "automation_recorder.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationRecorder.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "ControllerConnection.h"
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ AutomatableModel::~AutomatableModel()
|
||||
|
||||
bool AutomatableModel::isAutomated() const
|
||||
{
|
||||
return automationPattern::isAutomated( this );
|
||||
return AutomationPattern::isAutomated( this );
|
||||
}
|
||||
|
||||
|
||||
@@ -134,13 +134,13 @@ void AutomatableModel::loadSettings( const QDomElement & _this,
|
||||
const QString & _name )
|
||||
{
|
||||
// compat code
|
||||
QDomNode node = _this.namedItem( automationPattern::classNodeName() );
|
||||
QDomNode node = _this.namedItem( AutomationPattern::classNodeName() );
|
||||
if( node.isElement() )
|
||||
{
|
||||
node = node.namedItem( _name );
|
||||
if( node.isElement() )
|
||||
{
|
||||
automationPattern * p = automationPattern::
|
||||
AutomationPattern * p = AutomationPattern::
|
||||
globalAutomationPattern( this );
|
||||
p->loadSettings( node.toElement() );
|
||||
setValue( p->valueAt( 0 ) );
|
||||
@@ -493,7 +493,7 @@ void AutomatableModel::unlinkControllerConnection()
|
||||
void AutomatableModel::handleDataChanged()
|
||||
{
|
||||
// report the data changed to AutomationRecorder
|
||||
engine::getAutomationRecorder()->modelDataEvent( this );
|
||||
engine::automationRecorder()->modelDataEvent( this );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
* automation_pattern.cpp - implementation of class automationPattern which
|
||||
* holds dynamic values
|
||||
* AutomationPattern.cpp - implementation of class AutomationPattern which
|
||||
* holds dynamic values
|
||||
*
|
||||
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/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,22 +24,21 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <QtXml/QDomElement>
|
||||
#include <QtGui/QMouseEvent>
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
#include "automation_pattern.h"
|
||||
#include "automation_pattern_view.h"
|
||||
#include "automation_editor.h"
|
||||
#include "automation_track.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "AutomationPatternView.h"
|
||||
#include "AutomationEditor.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "ProjectJournal.h"
|
||||
#include "bb_track_container.h"
|
||||
#include "song.h"
|
||||
|
||||
|
||||
|
||||
automationPattern::automationPattern( automationTrack * _auto_track ) :
|
||||
AutomationPattern::AutomationPattern( AutomationTrack * _auto_track ) :
|
||||
trackContentObject( _auto_track ),
|
||||
m_autoTrack( _auto_track ),
|
||||
m_objects(),
|
||||
@@ -52,7 +51,7 @@ automationPattern::automationPattern( automationTrack * _auto_track ) :
|
||||
|
||||
|
||||
|
||||
automationPattern::automationPattern( const automationPattern & _pat_to_copy ) :
|
||||
AutomationPattern::AutomationPattern( const AutomationPattern & _pat_to_copy ) :
|
||||
trackContentObject( _pat_to_copy.m_autoTrack ),
|
||||
m_autoTrack( _pat_to_copy.m_autoTrack ),
|
||||
m_objects( _pat_to_copy.m_objects ),
|
||||
@@ -68,19 +67,19 @@ automationPattern::automationPattern( const automationPattern & _pat_to_copy ) :
|
||||
|
||||
|
||||
|
||||
automationPattern::~automationPattern()
|
||||
AutomationPattern::~AutomationPattern()
|
||||
{
|
||||
if( engine::getAutomationEditor() &&
|
||||
engine::getAutomationEditor()->currentPattern() == this )
|
||||
if( engine::automationEditor() &&
|
||||
engine::automationEditor()->currentPattern() == this )
|
||||
{
|
||||
engine::getAutomationEditor()->setCurrentPattern( NULL );
|
||||
engine::automationEditor()->setCurrentPattern( NULL );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void automationPattern::addObject( AutomatableModel * _obj, bool _search_dup )
|
||||
void AutomationPattern::addObject( AutomatableModel * _obj, bool _search_dup )
|
||||
{
|
||||
bool addIt = true;
|
||||
|
||||
@@ -117,7 +116,7 @@ void automationPattern::addObject( AutomatableModel * _obj, bool _search_dup )
|
||||
|
||||
|
||||
|
||||
const AutomatableModel * automationPattern::firstObject() const
|
||||
const AutomatableModel * AutomationPattern::firstObject() const
|
||||
{
|
||||
AutomatableModel * m;
|
||||
if( !m_objects.isEmpty() && ( m = m_objects.first() ) != NULL )
|
||||
@@ -134,7 +133,7 @@ const AutomatableModel * automationPattern::firstObject() const
|
||||
|
||||
|
||||
//TODO: Improve this
|
||||
midiTime automationPattern::length() const
|
||||
midiTime AutomationPattern::length() const
|
||||
{
|
||||
tick_t max_length = 0;
|
||||
|
||||
@@ -149,11 +148,11 @@ midiTime automationPattern::length() const
|
||||
|
||||
|
||||
|
||||
midiTime automationPattern::putValue( const midiTime & _time,
|
||||
midiTime AutomationPattern::putValue( const midiTime & _time,
|
||||
const float _value, const bool _quant_pos )
|
||||
{
|
||||
midiTime newTime = _quant_pos && engine::getAutomationEditor() ?
|
||||
note::quantized( _time, engine::getAutomationEditor()->quantization() )
|
||||
midiTime newTime = _quant_pos && engine::automationEditor() ?
|
||||
note::quantized( _time, engine::automationEditor()->quantization() )
|
||||
: _time;
|
||||
|
||||
m_timeMap[newTime] = _value;
|
||||
@@ -194,7 +193,7 @@ midiTime automationPattern::putValue( const midiTime & _time,
|
||||
|
||||
|
||||
|
||||
void automationPattern::removeValue( const midiTime & _time )
|
||||
void AutomationPattern::removeValue( const midiTime & _time )
|
||||
{
|
||||
if( _time != 0 )
|
||||
{
|
||||
@@ -236,7 +235,7 @@ void automationPattern::removeValue( const midiTime & _time )
|
||||
|
||||
|
||||
|
||||
float automationPattern::valueAt( const midiTime & _time ) const
|
||||
float AutomationPattern::valueAt( const midiTime & _time ) const
|
||||
{
|
||||
if( m_timeMap.isEmpty() )
|
||||
{
|
||||
@@ -251,7 +250,7 @@ float automationPattern::valueAt( const midiTime & _time ) const
|
||||
|
||||
|
||||
|
||||
void automationPattern::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
void AutomationPattern::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
{
|
||||
_this.setAttribute( "pos", startPosition() );
|
||||
_this.setAttribute( "len", trackContentObject::length() );
|
||||
@@ -281,7 +280,7 @@ void automationPattern::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
void automationPattern::loadSettings( const QDomElement & _this )
|
||||
void AutomationPattern::loadSettings( const QDomElement & _this )
|
||||
{
|
||||
clear();
|
||||
|
||||
@@ -330,7 +329,7 @@ void automationPattern::loadSettings( const QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
const QString automationPattern::name() const
|
||||
const QString AutomationPattern::name() const
|
||||
{
|
||||
if( !trackContentObject::name().isEmpty() )
|
||||
{
|
||||
@@ -346,7 +345,7 @@ const QString automationPattern::name() const
|
||||
|
||||
|
||||
|
||||
void automationPattern::processMidiTime( const midiTime & _time )
|
||||
void AutomationPattern::processMidiTime( const midiTime & _time )
|
||||
{
|
||||
if( _time >= 0 && m_hasAutomation )
|
||||
{
|
||||
@@ -367,16 +366,16 @@ void automationPattern::processMidiTime( const midiTime & _time )
|
||||
|
||||
|
||||
|
||||
trackContentObjectView * automationPattern::createView( trackView * _tv )
|
||||
trackContentObjectView * AutomationPattern::createView( trackView * _tv )
|
||||
{
|
||||
return new automationPatternView( this, _tv );
|
||||
return new AutomationPatternView( this, _tv );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool automationPattern::isAutomated( const AutomatableModel * _m )
|
||||
bool AutomationPattern::isAutomated( const AutomatableModel * _m )
|
||||
{
|
||||
trackContainer::trackList l = engine::getSong()->tracks() +
|
||||
engine::getBBTrackContainer()->tracks();
|
||||
@@ -391,9 +390,8 @@ bool automationPattern::isAutomated( const AutomatableModel * _m )
|
||||
for( track::tcoVector::const_iterator j = v.begin();
|
||||
j != v.end(); ++j )
|
||||
{
|
||||
const automationPattern * a =
|
||||
dynamic_cast<const
|
||||
automationPattern *>( *j );
|
||||
const AutomationPattern * a =
|
||||
dynamic_cast<const AutomationPattern *>( *j );
|
||||
if( a && a->m_hasAutomation )
|
||||
{
|
||||
for( objectVector::const_iterator k = a->m_objects.begin();
|
||||
@@ -415,19 +413,18 @@ bool automationPattern::isAutomated( const AutomatableModel * _m )
|
||||
|
||||
|
||||
|
||||
automationPattern * automationPattern::globalAutomationPattern(
|
||||
AutomationPattern * AutomationPattern::globalAutomationPattern(
|
||||
AutomatableModel * _m )
|
||||
{
|
||||
automationTrack * t = engine::getSong()->globalAutomationTrack();
|
||||
AutomationTrack * t = engine::getSong()->globalAutomationTrack();
|
||||
track::tcoVector v = t->getTCOs();
|
||||
for( track::tcoVector::const_iterator j = v.begin(); j != v.end(); ++j )
|
||||
{
|
||||
automationPattern * a = dynamic_cast<automationPattern *>( *j );
|
||||
AutomationPattern * a = dynamic_cast<AutomationPattern *>( *j );
|
||||
if( a )
|
||||
{
|
||||
for( objectVector::const_iterator k =
|
||||
a->m_objects.begin();
|
||||
k != a->m_objects.end(); ++k )
|
||||
for( objectVector::const_iterator k = a->m_objects.begin();
|
||||
k != a->m_objects.end(); ++k )
|
||||
{
|
||||
if( *k == _m )
|
||||
{
|
||||
@@ -437,7 +434,7 @@ automationPattern * automationPattern::globalAutomationPattern(
|
||||
}
|
||||
}
|
||||
|
||||
automationPattern * a = new automationPattern( t );
|
||||
AutomationPattern * a = new AutomationPattern( t );
|
||||
a->addObject( _m, false );
|
||||
return a;
|
||||
}
|
||||
@@ -445,7 +442,7 @@ automationPattern * automationPattern::globalAutomationPattern(
|
||||
|
||||
|
||||
|
||||
void automationPattern::resolveAllIDs()
|
||||
void AutomationPattern::resolveAllIDs()
|
||||
{
|
||||
trackContainer::trackList l = engine::getSong()->tracks() +
|
||||
engine::getBBTrackContainer()->tracks();
|
||||
@@ -460,8 +457,7 @@ void automationPattern::resolveAllIDs()
|
||||
for( track::tcoVector::iterator j = v.begin();
|
||||
j != v.end(); ++j )
|
||||
{
|
||||
automationPattern * a =
|
||||
dynamic_cast<automationPattern *>( *j );
|
||||
AutomationPattern * a = dynamic_cast<AutomationPattern *>( *j );
|
||||
if( a )
|
||||
{
|
||||
for( QVector<jo_id_t>::Iterator k = a->m_idsToResolve.begin();
|
||||
@@ -485,33 +481,33 @@ void automationPattern::resolveAllIDs()
|
||||
|
||||
|
||||
|
||||
void automationPattern::clear()
|
||||
void AutomationPattern::clear()
|
||||
{
|
||||
const float val = firstObject()->value<float>();
|
||||
m_timeMap.clear();
|
||||
putValue( 0, val );
|
||||
|
||||
if( engine::getAutomationEditor() &&
|
||||
engine::getAutomationEditor()->currentPattern() == this )
|
||||
if( engine::automationEditor() &&
|
||||
engine::automationEditor()->currentPattern() == this )
|
||||
{
|
||||
engine::getAutomationEditor()->update();
|
||||
engine::automationEditor()->update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void automationPattern::openInAutomationEditor()
|
||||
void AutomationPattern::openInAutomationEditor()
|
||||
{
|
||||
engine::getAutomationEditor()->setCurrentPattern( this );
|
||||
engine::getAutomationEditor()->parentWidget()->show();
|
||||
engine::getAutomationEditor()->setFocus();
|
||||
engine::automationEditor()->setCurrentPattern( this );
|
||||
engine::automationEditor()->parentWidget()->show();
|
||||
engine::automationEditor()->setFocus();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void automationPattern::objectDestroyed( jo_id_t _id )
|
||||
void AutomationPattern::objectDestroyed( jo_id_t _id )
|
||||
{
|
||||
// TODO: distict between temporary removal (e.g. LADSPA controls
|
||||
// when switching samplerate) and real deletions because in the latter
|
||||
@@ -523,6 +519,6 @@ void automationPattern::objectDestroyed( jo_id_t _id )
|
||||
|
||||
|
||||
|
||||
#include "moc_automation_pattern.cxx"
|
||||
#include "moc_AutomationPattern.cxx"
|
||||
|
||||
/* vim: set tw=0 noexpandtab: */
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
* automation_recorder.cpp - declaration of class AutomationRecorder
|
||||
* AutomationRecorder.cpp - declaration of class AutomationRecorder
|
||||
* which handles the dataChanged event of every
|
||||
* AutomatableModel and records it if automation
|
||||
* recording is on.
|
||||
*
|
||||
* Copyright (c) 2009-2009 Andrew Kelley <superjoe30/at/gmail.com>
|
||||
*
|
||||
* Copyright (c) 2009-2010 Andrew Kelley <superjoe30/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
|
||||
@@ -25,7 +25,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "automation_recorder.h"
|
||||
#include "AutomationRecorder.h"
|
||||
#include "Controller.h"
|
||||
#include "song.h"
|
||||
|
||||
@@ -38,7 +38,7 @@ AutomationRecorder::AutomationRecorder() :
|
||||
|
||||
AutomationRecorder::~AutomationRecorder()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
{
|
||||
@@ -52,13 +52,13 @@ void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
midiTime & song_pos = s->getPlayPos( song::Mode_PlaySong );
|
||||
|
||||
/*
|
||||
// if the tick is within an existing automation TCO
|
||||
// for the automatable model that this controller controls
|
||||
// if the tick is within an existing automation TCO
|
||||
// for the automatable model that this controller controls
|
||||
track * inside_track = NULL;
|
||||
for( int i=0; i < s->trackList.size(); ++i){
|
||||
track * t = s->trackList.at(i);
|
||||
if( t->type == track::AutomationTrack &&
|
||||
song_pos >= t->startPosition() &&
|
||||
song_pos >= t->startPosition() &&
|
||||
song_pos <= t->endPosition() )
|
||||
{
|
||||
inside_track = t;
|
||||
@@ -90,7 +90,7 @@ void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
data.pat->changeLength( song_pos - data.pat->startPosition() );
|
||||
// now draw a line from the last one to this one
|
||||
// TODO: make it smooth (draw line instead of insert value)
|
||||
data.pat->putValue(
|
||||
data.pat->putValue(
|
||||
song_pos - data.pat->startPosition(), val, false );
|
||||
|
||||
}
|
||||
@@ -101,13 +101,13 @@ void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
|
||||
// create a new automation track in the song
|
||||
engine::getMixer()->lock();
|
||||
data.auto_track = (automationTrack *)
|
||||
data.auto_track = (AutomationTrack *)
|
||||
track::create( track::AutomationTrack, engine::getSong() );
|
||||
engine::getMixer()->unlock();
|
||||
|
||||
// put a tco in the automation track which contains the automation
|
||||
// turn the tco into an automation pattern
|
||||
data.pat = dynamic_cast<automationPattern *>(
|
||||
data.pat = dynamic_cast<AutomationPattern *>(
|
||||
data.auto_track->createTCO( song_pos ) );
|
||||
data.pat->movePosition( song_pos );
|
||||
|
||||
@@ -115,7 +115,7 @@ void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
data.pat->addObject( _model );
|
||||
|
||||
// add first value TODO: make sure this is absolute
|
||||
data.pat->putValue(
|
||||
data.pat->putValue(
|
||||
song_pos - data.pat->startPosition(), val, false );
|
||||
|
||||
// insert into map
|
||||
@@ -123,7 +123,7 @@ void AutomationRecorder::modelDataEvent( AutomatableModel * _model )
|
||||
m_clips.insert(_model, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AutomationRecorder::initRecord()
|
||||
{
|
||||
@@ -131,5 +131,5 @@ void AutomationRecorder::initRecord()
|
||||
m_clips.clear();
|
||||
}
|
||||
|
||||
#include "moc_automation_recorder.cxx"
|
||||
#include "moc_AutomationRecorder.cxx"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* inline_automation.cpp - class for automating something "inline"
|
||||
* InlineAutomation.cpp - class for automating something "inline"
|
||||
*
|
||||
* Copyright (c) 2008-2010 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,20 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <QtXml/QDomElement>
|
||||
|
||||
#include "inline_automation.h"
|
||||
#include "InlineAutomation.h"
|
||||
|
||||
|
||||
void inlineAutomation::saveSettings( QDomDocument & _doc,
|
||||
void InlineAutomation::saveSettings( QDomDocument & _doc,
|
||||
QDomElement & _parent )
|
||||
{
|
||||
if( hasAutomation() )
|
||||
{
|
||||
QDomElement ap = _doc.createElement(
|
||||
automationPattern::classNodeName() );
|
||||
AutomationPattern::classNodeName() );
|
||||
QDomElement v = _doc.createElement( nodeName() );
|
||||
getAutomationPattern()->saveSettings( _doc, v );
|
||||
automationPattern()->saveSettings( _doc, v );
|
||||
ap.appendChild( v );
|
||||
_parent.appendChild( ap );
|
||||
}
|
||||
@@ -45,15 +44,15 @@ void inlineAutomation::saveSettings( QDomDocument & _doc,
|
||||
|
||||
|
||||
|
||||
void inlineAutomation::loadSettings( const QDomElement & _this )
|
||||
void InlineAutomation::loadSettings( const QDomElement & _this )
|
||||
{
|
||||
QDomNode node = _this.namedItem( automationPattern::classNodeName() );
|
||||
QDomNode node = _this.namedItem( AutomationPattern::classNodeName() );
|
||||
if( node.isElement() )
|
||||
{
|
||||
node = node.namedItem( nodeName() );
|
||||
if( node.isElement() )
|
||||
{
|
||||
getAutomationPattern()->loadSettings(
|
||||
automationPattern()->loadSettings(
|
||||
node.toElement() );
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@
|
||||
#include <QtXml/QDomDocument>
|
||||
|
||||
#include "engine.h"
|
||||
#include "automation_editor.h"
|
||||
#include "automation_recorder.h"
|
||||
#include "AutomationEditor.h"
|
||||
#include "AutomationRecorder.h"
|
||||
#include "bb_editor.h"
|
||||
#include "bb_track_container.h"
|
||||
#include "config_mgr.h"
|
||||
@@ -66,7 +66,7 @@ ResourceDB * engine::s_workingDirResourceDB = NULL;
|
||||
ResourceDB * engine::s_webResourceDB = NULL;
|
||||
ResourceDB * engine::s_mergedResourceDB = NULL;
|
||||
songEditor * engine::s_songEditor = NULL;
|
||||
automationEditor * engine::s_automationEditor = NULL;
|
||||
AutomationEditor * engine::s_automationEditor = NULL;
|
||||
AutomationRecorder * engine::s_automationRecorder = NULL;
|
||||
bbEditor * engine::s_bbEditor = NULL;
|
||||
pianoRoll * engine::s_pianoRoll = NULL;
|
||||
@@ -134,7 +134,7 @@ void engine::init( const bool _has_gui )
|
||||
s_projectNotes = new projectNotes;
|
||||
s_bbEditor = new bbEditor( s_bbTrackContainer );
|
||||
s_pianoRoll = new pianoRoll;
|
||||
s_automationEditor = new automationEditor;
|
||||
s_automationEditor = new AutomationEditor;
|
||||
|
||||
s_mainWindow->finalize();
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "engine.h"
|
||||
#include "MidiClient.h"
|
||||
#include "MidiController.h"
|
||||
#include "automation_recorder.h"
|
||||
#include "AutomationRecorder.h"
|
||||
|
||||
|
||||
MidiController::MidiController( Model * _parent ) :
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <math.h>
|
||||
|
||||
#include "note.h"
|
||||
#include "detuning_helper.h"
|
||||
#include "DetuningHelper.h"
|
||||
#include "templates.h"
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
note::note( const midiTime & _length, const midiTime & _pos,
|
||||
int _key, volume_t _volume, panning_t _panning,
|
||||
detuningHelper * _detuning ) :
|
||||
DetuningHelper * _detuning ) :
|
||||
m_selected( false ),
|
||||
m_oldKey( tLimit( _key, 0, NumKeys ) ),
|
||||
m_oldPos( _pos ),
|
||||
@@ -261,7 +261,7 @@ void note::redoStep( journalEntry & _je )
|
||||
|
||||
void note::editDetuningPattern()
|
||||
{
|
||||
m_detuning->getAutomationPattern()->openInAutomationEditor();
|
||||
m_detuning->automationPattern()->openInAutomationEditor();
|
||||
}
|
||||
|
||||
|
||||
@@ -269,8 +269,8 @@ void note::editDetuningPattern()
|
||||
|
||||
void note::createDetuning()
|
||||
{
|
||||
m_detuning = new detuningHelper;
|
||||
(void) m_detuning->getAutomationPattern();
|
||||
m_detuning = new DetuningHelper;
|
||||
(void) m_detuning->automationPattern();
|
||||
m_detuning->setRange( -MaxDetuning, MaxDetuning, 0.1f );
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* note_play_handle.cpp - implementation of class notePlayHandle, part of
|
||||
* rendering engine
|
||||
*
|
||||
* Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2004-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
*
|
||||
@@ -26,7 +26,7 @@
|
||||
#include "note_play_handle.h"
|
||||
#include "basic_filters.h"
|
||||
#include "config_mgr.h"
|
||||
#include "detuning_helper.h"
|
||||
#include "DetuningHelper.h"
|
||||
#include "InstrumentSoundShaping.h"
|
||||
#include "InstrumentTrack.h"
|
||||
#include "MidiPort.h"
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
|
||||
inline notePlayHandle::baseDetuning::baseDetuning(
|
||||
detuningHelper * _detuning ) :
|
||||
DetuningHelper * _detuning ) :
|
||||
m_detuning( _detuning ),
|
||||
m_value( m_detuning->getAutomationPattern()->valueAt( 0 ) )
|
||||
m_value( m_detuning->automationPattern()->valueAt( 0 ) )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -490,7 +490,7 @@ void notePlayHandle::processMidiTime( const midiTime & _time )
|
||||
{
|
||||
if( _time >= pos() )
|
||||
{
|
||||
const float v = detuning()->getAutomationPattern()->
|
||||
const float v = detuning()->automationPattern()->
|
||||
valueAt( _time - pos() );
|
||||
if( !typeInfo<float>::isEqual( v, m_baseDetuning->value() ) )
|
||||
{
|
||||
|
||||
@@ -31,9 +31,9 @@
|
||||
#include <math.h>
|
||||
|
||||
#include "song.h"
|
||||
#include "automation_track.h"
|
||||
#include "automation_editor.h"
|
||||
#include "automation_recorder.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "AutomationEditor.h"
|
||||
#include "AutomationRecorder.h"
|
||||
#include "bb_editor.h"
|
||||
#include "bb_track.h"
|
||||
#include "bb_track_container.h"
|
||||
@@ -69,7 +69,7 @@ tick_t midiTime::s_ticksPerTact = DefaultTicksPerTact;
|
||||
|
||||
song::song() :
|
||||
trackContainer(),
|
||||
m_globalAutomationTrack( dynamic_cast<automationTrack *>(
|
||||
m_globalAutomationTrack( dynamic_cast<AutomationTrack *>(
|
||||
track::create( track::HiddenAutomationTrack,
|
||||
this ) ) ),
|
||||
m_tempoModel( DefaultTempo, MinTempo, MaxTempo, this, tr( "Tempo" ) ),
|
||||
@@ -596,7 +596,7 @@ void song::stop()
|
||||
{
|
||||
m_actions.push_back( ActionStop );
|
||||
|
||||
engine::getAutomationRecorder()->initRecord();
|
||||
engine::automationRecorder()->initRecord();
|
||||
}
|
||||
|
||||
|
||||
@@ -711,9 +711,9 @@ bpm_t song::getTempo()
|
||||
|
||||
|
||||
|
||||
automationPattern * song::tempoAutomationPattern()
|
||||
AutomationPattern * song::tempoAutomationPattern()
|
||||
{
|
||||
return automationPattern::globalAutomationPattern( &m_tempoModel );
|
||||
return AutomationPattern::globalAutomationPattern( &m_tempoModel );
|
||||
}
|
||||
|
||||
|
||||
@@ -752,14 +752,15 @@ void song::clearProject()
|
||||
|
||||
|
||||
|
||||
if( engine::getAutomationEditor() )
|
||||
if( engine::automationEditor() )
|
||||
{
|
||||
engine::getAutomationEditor()->setCurrentPattern( NULL );
|
||||
engine::automationEditor()->setCurrentPattern( NULL );
|
||||
}
|
||||
automationPattern::globalAutomationPattern( &m_tempoModel )->clear();
|
||||
automationPattern::globalAutomationPattern( &m_masterVolumeModel )->
|
||||
|
||||
AutomationPattern::globalAutomationPattern( &m_tempoModel )->clear();
|
||||
AutomationPattern::globalAutomationPattern( &m_masterVolumeModel )->
|
||||
clear();
|
||||
automationPattern::globalAutomationPattern( &m_masterPitchModel )->
|
||||
AutomationPattern::globalAutomationPattern( &m_masterPitchModel )->
|
||||
clear();
|
||||
|
||||
engine::getMixer()->unlock();
|
||||
@@ -957,10 +958,10 @@ void song::loadProject( const QString & _file_name )
|
||||
node.toElement() );
|
||||
}
|
||||
else if( node.nodeName() ==
|
||||
engine::getAutomationEditor()->
|
||||
engine::automationEditor()->
|
||||
nodeName() )
|
||||
{
|
||||
engine::getAutomationEditor()->
|
||||
engine::automationEditor()->
|
||||
restoreState( node.toElement() );
|
||||
}
|
||||
else if( node.nodeName() ==
|
||||
@@ -992,7 +993,7 @@ void song::loadProject( const QString & _file_name )
|
||||
ControllerConnection::finalizeConnections();
|
||||
|
||||
// resolve all IDs so that autoModels are automated
|
||||
automationPattern::resolveAllIDs();
|
||||
AutomationPattern::resolveAllIDs();
|
||||
|
||||
engine::getMixer()->unlock();
|
||||
|
||||
@@ -1032,7 +1033,7 @@ bool song::saveProjectFile( const QString & _filename )
|
||||
{
|
||||
engine::getControllerRackView()->saveState( mmp, mmp.content() );
|
||||
engine::getPianoRoll()->saveState( mmp, mmp.content() );
|
||||
engine::getAutomationEditor()->saveState( mmp, mmp.content() );
|
||||
engine::automationEditor()->saveState( mmp, mmp.content() );
|
||||
engine::getProjectNotes()->
|
||||
SerializingObject::saveState( mmp, mmp.content() );
|
||||
m_playPos[Mode_PlaySong].m_timeLine->saveState(
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
#include <QtGui/QStyleOption>
|
||||
|
||||
|
||||
#include "automation_pattern.h"
|
||||
#include "automation_track.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "bb_editor.h"
|
||||
#include "bb_track.h"
|
||||
#include "bb_track_container.h"
|
||||
@@ -494,7 +494,7 @@ void trackContentObjectView::dropEvent( QDropEvent * _de )
|
||||
midiTime pos = m_tco->startPosition();
|
||||
m_tco->restoreState( mmp.content().firstChild().toElement() );
|
||||
m_tco->movePosition( pos );
|
||||
automationPattern::resolveAllIDs();
|
||||
AutomationPattern::resolveAllIDs();
|
||||
_de->accept();
|
||||
}
|
||||
}
|
||||
@@ -1087,7 +1087,7 @@ void trackContentWidget::dropEvent( QDropEvent * _de )
|
||||
tco->restoreState( mmp.content().firstChild().toElement() );
|
||||
tco->movePosition( pos );
|
||||
|
||||
automationPattern::resolveAllIDs();
|
||||
AutomationPattern::resolveAllIDs();
|
||||
|
||||
_de->accept();
|
||||
}
|
||||
@@ -1562,9 +1562,9 @@ track * track::create( TrackTypes _tt, trackContainer * _tc )
|
||||
case SampleTrack: t = new sampleTrack( _tc ); break;
|
||||
// case EVENT_TRACK:
|
||||
// case VIDEO_TRACK:
|
||||
case AutomationTrack: t = new automationTrack( _tc ); break;
|
||||
case AutomationTrack: t = new ::AutomationTrack( _tc ); break;
|
||||
case HiddenAutomationTrack:
|
||||
t = new automationTrack( _tc, true ); break;
|
||||
t = new ::AutomationTrack( _tc, true ); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#include <QtGui/QMouseEvent>
|
||||
|
||||
#include "AutomatableModelView.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "ControllerConnectionDialog.h"
|
||||
#include "ControllerConnection.h"
|
||||
#include "embed.h"
|
||||
@@ -260,7 +260,7 @@ void AutomatableModelViewSlots::removeConnection()
|
||||
|
||||
void AutomatableModelViewSlots::editSongGlobalAutomation()
|
||||
{
|
||||
automationPattern::globalAutomationPattern( amv->modelUntyped() )->
|
||||
AutomationPattern::globalAutomationPattern( amv->modelUntyped() )->
|
||||
openInAutomationEditor();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* automation_editor.cpp - implementation of automationEditor which is used for
|
||||
* actual setting of dynamic values
|
||||
* AutomationEditor.cpp - implementation of AutomationEditor which is used for
|
||||
* actual setting of dynamic values
|
||||
*
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/at/users.sourceforge.net>
|
||||
@@ -24,7 +24,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "automation_editor.h"
|
||||
#include "AutomationEditor.h"
|
||||
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QButtonGroup>
|
||||
@@ -64,13 +64,13 @@
|
||||
|
||||
|
||||
|
||||
QPixmap * automationEditor::s_toolDraw = NULL;
|
||||
QPixmap * automationEditor::s_toolErase = NULL;
|
||||
QPixmap * automationEditor::s_toolSelect = NULL;
|
||||
QPixmap * automationEditor::s_toolMove = NULL;
|
||||
QPixmap * AutomationEditor::s_toolDraw = NULL;
|
||||
QPixmap * AutomationEditor::s_toolErase = NULL;
|
||||
QPixmap * AutomationEditor::s_toolSelect = NULL;
|
||||
QPixmap * AutomationEditor::s_toolMove = NULL;
|
||||
|
||||
|
||||
automationEditor::automationEditor() :
|
||||
AutomationEditor::AutomationEditor() :
|
||||
QWidget(),
|
||||
m_zoomingXModel(),
|
||||
m_zoomingYModel(),
|
||||
@@ -371,7 +371,7 @@ automationEditor::automationEditor() :
|
||||
|
||||
|
||||
|
||||
automationEditor::~automationEditor()
|
||||
AutomationEditor::~AutomationEditor()
|
||||
{
|
||||
m_zoomingXModel.disconnect();
|
||||
m_zoomingYModel.disconnect();
|
||||
@@ -380,7 +380,7 @@ automationEditor::~automationEditor()
|
||||
|
||||
|
||||
|
||||
void automationEditor::setCurrentPattern( automationPattern * _new_pattern )
|
||||
void AutomationEditor::setCurrentPattern( AutomationPattern * _new_pattern )
|
||||
{
|
||||
m_patternMutex.lock();
|
||||
m_pattern = _new_pattern;
|
||||
@@ -392,7 +392,7 @@ void automationEditor::setCurrentPattern( automationPattern * _new_pattern )
|
||||
|
||||
|
||||
|
||||
void automationEditor::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
void AutomationEditor::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
{
|
||||
MainWindow::saveWidgetState( this, _this );
|
||||
}
|
||||
@@ -400,7 +400,7 @@ void automationEditor::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
void automationEditor::loadSettings( const QDomElement & _this )
|
||||
void AutomationEditor::loadSettings( const QDomElement & _this )
|
||||
{
|
||||
MainWindow::restoreWidgetState( this, _this );
|
||||
}
|
||||
@@ -408,7 +408,7 @@ void automationEditor::loadSettings( const QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
void automationEditor::updateAfterPatternChange()
|
||||
void AutomationEditor::updateAfterPatternChange()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
|
||||
@@ -440,7 +440,7 @@ void automationEditor::updateAfterPatternChange()
|
||||
|
||||
|
||||
|
||||
void automationEditor::update()
|
||||
void AutomationEditor::update()
|
||||
{
|
||||
QWidget::update();
|
||||
|
||||
@@ -455,7 +455,7 @@ void automationEditor::update()
|
||||
|
||||
|
||||
|
||||
inline void automationEditor::drawValueRect( QPainter & _p,
|
||||
inline void AutomationEditor::drawValueRect( QPainter & _p,
|
||||
int _x, int _y,
|
||||
int _width, int _height,
|
||||
const bool _is_selected )
|
||||
@@ -472,7 +472,7 @@ inline void automationEditor::drawValueRect( QPainter & _p,
|
||||
|
||||
|
||||
|
||||
void automationEditor::removeSelection()
|
||||
void AutomationEditor::removeSelection()
|
||||
{
|
||||
m_selectStartTick = 0;
|
||||
m_selectedTick = 0;
|
||||
@@ -483,7 +483,7 @@ void automationEditor::removeSelection()
|
||||
|
||||
|
||||
|
||||
void automationEditor::closeEvent( QCloseEvent * _ce )
|
||||
void AutomationEditor::closeEvent( QCloseEvent * _ce )
|
||||
{
|
||||
QApplication::restoreOverrideCursor();
|
||||
if( parentWidget() )
|
||||
@@ -500,7 +500,7 @@ void automationEditor::closeEvent( QCloseEvent * _ce )
|
||||
|
||||
|
||||
|
||||
void automationEditor::keyPressEvent( QKeyEvent * _ke )
|
||||
void AutomationEditor::keyPressEvent( QKeyEvent * _ke )
|
||||
{
|
||||
switch( _ke->key() )
|
||||
{
|
||||
@@ -628,7 +628,7 @@ void automationEditor::keyPressEvent( QKeyEvent * _ke )
|
||||
|
||||
|
||||
|
||||
void automationEditor::leaveEvent( QEvent * _e )
|
||||
void AutomationEditor::leaveEvent( QEvent * _e )
|
||||
{
|
||||
while( QApplication::overrideCursor() != NULL )
|
||||
{
|
||||
@@ -639,7 +639,7 @@ void automationEditor::leaveEvent( QEvent * _e )
|
||||
}
|
||||
|
||||
|
||||
void automationEditor::drawLine( int _x0, float _y0, int _x1, float _y1 )
|
||||
void AutomationEditor::drawLine( int _x0, float _y0, int _x1, float _y1 )
|
||||
{
|
||||
int deltax = qRound( qAbs<float>( _x1 - _x0 ) );
|
||||
float deltay = qAbs<float>( _y1 - _y0 );
|
||||
@@ -690,7 +690,7 @@ void automationEditor::drawLine( int _x0, float _y0, int _x1, float _y1 )
|
||||
|
||||
|
||||
|
||||
void automationEditor::mousePressEvent( QMouseEvent * _me )
|
||||
void AutomationEditor::mousePressEvent( QMouseEvent * _me )
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -841,7 +841,7 @@ void automationEditor::mousePressEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void automationEditor::mouseReleaseEvent( QMouseEvent * _me )
|
||||
void AutomationEditor::mouseReleaseEvent( QMouseEvent * _me )
|
||||
{
|
||||
m_action = ActionNone;
|
||||
|
||||
@@ -854,7 +854,7 @@ void automationEditor::mouseReleaseEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void automationEditor::mouseMoveEvent( QMouseEvent * _me )
|
||||
void AutomationEditor::mouseMoveEvent( QMouseEvent * _me )
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -1209,7 +1209,7 @@ void automationEditor::mouseMoveEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
inline void automationEditor::drawCross( QPainter & _p )
|
||||
inline void AutomationEditor::drawCross( QPainter & _p )
|
||||
{
|
||||
QPoint mouse_pos = mapFromGlobal( QCursor::pos() );
|
||||
float level = getLevel( mouse_pos.y() );
|
||||
@@ -1229,7 +1229,7 @@ inline void automationEditor::drawCross( QPainter & _p )
|
||||
|
||||
|
||||
|
||||
void automationEditor::paintEvent( QPaintEvent * _pe )
|
||||
void AutomationEditor::paintEvent( QPaintEvent * _pe )
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
|
||||
@@ -1571,7 +1571,7 @@ void automationEditor::paintEvent( QPaintEvent * _pe )
|
||||
|
||||
|
||||
// responsible for moving/resizing scrollbars after window-resizing
|
||||
void automationEditor::resizeEvent( QResizeEvent * )
|
||||
void AutomationEditor::resizeEvent( QResizeEvent * )
|
||||
{
|
||||
m_leftRightScroll->setGeometry( ValuesWidth, height() - ScrollBarSize,
|
||||
width() - ValuesWidth,
|
||||
@@ -1613,7 +1613,7 @@ void automationEditor::resizeEvent( QResizeEvent * )
|
||||
|
||||
|
||||
|
||||
void automationEditor::wheelEvent( QWheelEvent * _we )
|
||||
void AutomationEditor::wheelEvent( QWheelEvent * _we )
|
||||
{
|
||||
_we->accept();
|
||||
if( _we->modifiers() & Qt::ControlModifier )
|
||||
@@ -1652,7 +1652,7 @@ void automationEditor::wheelEvent( QWheelEvent * _we )
|
||||
|
||||
|
||||
|
||||
float automationEditor::getLevel( int _y )
|
||||
float AutomationEditor::getLevel( int _y )
|
||||
{
|
||||
int level_line_y = height() - ScrollBarSize - 1;
|
||||
// pressed level
|
||||
@@ -1676,7 +1676,7 @@ float automationEditor::getLevel( int _y )
|
||||
|
||||
|
||||
|
||||
inline bool automationEditor::inBBEditor()
|
||||
inline bool AutomationEditor::inBBEditor()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
return( validPattern() &&
|
||||
@@ -1687,7 +1687,7 @@ inline bool automationEditor::inBBEditor()
|
||||
|
||||
|
||||
|
||||
void automationEditor::play()
|
||||
void AutomationEditor::play()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
|
||||
@@ -1763,7 +1763,7 @@ void automationEditor::play()
|
||||
|
||||
|
||||
|
||||
void automationEditor::stop()
|
||||
void AutomationEditor::stop()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
|
||||
@@ -1787,7 +1787,7 @@ void automationEditor::stop()
|
||||
|
||||
|
||||
|
||||
void automationEditor::horScrolled( int _new_pos )
|
||||
void AutomationEditor::horScrolled( int _new_pos )
|
||||
{
|
||||
m_currentPosition = _new_pos;
|
||||
emit positionChanged( m_currentPosition );
|
||||
@@ -1797,7 +1797,7 @@ void automationEditor::horScrolled( int _new_pos )
|
||||
|
||||
|
||||
|
||||
void automationEditor::verScrolled( int _new_pos )
|
||||
void AutomationEditor::verScrolled( int _new_pos )
|
||||
{
|
||||
m_scrollLevel = _new_pos;
|
||||
updateTopBottomLevels();
|
||||
@@ -1807,7 +1807,7 @@ void automationEditor::verScrolled( int _new_pos )
|
||||
|
||||
|
||||
|
||||
void automationEditor::drawButtonToggled()
|
||||
void AutomationEditor::drawButtonToggled()
|
||||
{
|
||||
m_editMode = ModeDraw;
|
||||
removeSelection();
|
||||
@@ -1817,7 +1817,7 @@ void automationEditor::drawButtonToggled()
|
||||
|
||||
|
||||
|
||||
void automationEditor::eraseButtonToggled()
|
||||
void AutomationEditor::eraseButtonToggled()
|
||||
{
|
||||
m_editMode = ModeErase;
|
||||
removeSelection();
|
||||
@@ -1827,7 +1827,7 @@ void automationEditor::eraseButtonToggled()
|
||||
|
||||
|
||||
|
||||
void automationEditor::selectButtonToggled()
|
||||
void AutomationEditor::selectButtonToggled()
|
||||
{
|
||||
m_editMode = ModeSelect;
|
||||
removeSelection();
|
||||
@@ -1837,7 +1837,7 @@ void automationEditor::selectButtonToggled()
|
||||
|
||||
|
||||
|
||||
void automationEditor::moveButtonToggled()
|
||||
void AutomationEditor::moveButtonToggled()
|
||||
{
|
||||
m_editMode = ModeMove;
|
||||
m_selValuesForMove.clear();
|
||||
@@ -1848,7 +1848,7 @@ void automationEditor::moveButtonToggled()
|
||||
|
||||
|
||||
|
||||
void automationEditor::selectAll()
|
||||
void AutomationEditor::selectAll()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -1887,7 +1887,7 @@ void automationEditor::selectAll()
|
||||
|
||||
|
||||
// returns vector with pointers to all selected values
|
||||
void automationEditor::getSelectedValues( timeMap & _selected_values )
|
||||
void AutomationEditor::getSelectedValues( timeMap & _selected_values )
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -1932,7 +1932,7 @@ void automationEditor::getSelectedValues( timeMap & _selected_values )
|
||||
|
||||
|
||||
|
||||
void automationEditor::copySelectedValues()
|
||||
void AutomationEditor::copySelectedValues()
|
||||
{
|
||||
m_valuesToCopy.clear();
|
||||
|
||||
@@ -1956,7 +1956,7 @@ void automationEditor::copySelectedValues()
|
||||
|
||||
|
||||
|
||||
void automationEditor::cutSelectedValues()
|
||||
void AutomationEditor::cutSelectedValues()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -1988,7 +1988,7 @@ void automationEditor::cutSelectedValues()
|
||||
|
||||
|
||||
|
||||
void automationEditor::pasteValues()
|
||||
void AutomationEditor::pasteValues()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( validPattern() && !m_valuesToCopy.isEmpty() )
|
||||
@@ -2011,7 +2011,7 @@ void automationEditor::pasteValues()
|
||||
|
||||
|
||||
|
||||
void automationEditor::deleteSelectedValues()
|
||||
void AutomationEditor::deleteSelectedValues()
|
||||
{
|
||||
QMutexLocker m( &m_patternMutex );
|
||||
if( !validPattern() )
|
||||
@@ -2041,7 +2041,7 @@ void automationEditor::deleteSelectedValues()
|
||||
|
||||
|
||||
|
||||
void automationEditor::updatePosition( const midiTime & _t )
|
||||
void AutomationEditor::updatePosition( const midiTime & _t )
|
||||
{
|
||||
if( ( engine::getSong()->isPlaying() &&
|
||||
engine::getSong()->playMode() ==
|
||||
@@ -2068,7 +2068,7 @@ void automationEditor::updatePosition( const midiTime & _t )
|
||||
|
||||
|
||||
|
||||
void automationEditor::zoomingXChanged()
|
||||
void AutomationEditor::zoomingXChanged()
|
||||
{
|
||||
const QString & zfac = m_zoomingXModel.currentText();
|
||||
m_ppt = zfac.left( zfac.length() - 1 ).toInt() * DefaultPixelsPerTact / 100;
|
||||
@@ -2082,7 +2082,7 @@ void automationEditor::zoomingXChanged()
|
||||
|
||||
|
||||
|
||||
void automationEditor::zoomingYChanged()
|
||||
void AutomationEditor::zoomingYChanged()
|
||||
{
|
||||
const QString & zfac = m_zoomingYModel.currentText();
|
||||
m_y_auto = zfac == "Auto";
|
||||
@@ -2100,7 +2100,7 @@ void automationEditor::zoomingYChanged()
|
||||
|
||||
|
||||
|
||||
int automationEditor::quantization() const
|
||||
int AutomationEditor::quantization() const
|
||||
{
|
||||
return( DefaultTicksPerTact /
|
||||
m_quantizeComboBox->model()->currentText().right(
|
||||
@@ -2111,7 +2111,7 @@ int automationEditor::quantization() const
|
||||
|
||||
|
||||
|
||||
void automationEditor::updateTopBottomLevels()
|
||||
void AutomationEditor::updateTopBottomLevels()
|
||||
{
|
||||
if( m_y_auto )
|
||||
{
|
||||
@@ -2158,6 +2158,6 @@ void automationEditor::updateTopBottomLevels()
|
||||
|
||||
|
||||
|
||||
#include "moc_automation_editor.cxx"
|
||||
#include "moc_AutomationEditor.cxx"
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* automation_pattern_view.cpp - implementation of view for automationPattern
|
||||
* AutomationPatternView.cpp - implementation of view for AutomationPattern
|
||||
*
|
||||
* Copyright (c) 2008-2010 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
|
||||
@@ -22,14 +22,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <QtGui/QMouseEvent>
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QMenu>
|
||||
|
||||
#include "automation_pattern_view.h"
|
||||
#include "automation_editor.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPatternView.h"
|
||||
#include "AutomationEditor.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "embed.h"
|
||||
#include "engine.h"
|
||||
#include "gui_templates.h"
|
||||
@@ -40,7 +39,7 @@
|
||||
|
||||
|
||||
|
||||
automationPatternView::automationPatternView( automationPattern * _pattern,
|
||||
AutomationPatternView::AutomationPatternView( AutomationPattern * _pattern,
|
||||
trackView * _parent ) :
|
||||
trackContentObjectView( _pattern, _parent ),
|
||||
m_pat( _pattern ),
|
||||
@@ -61,7 +60,7 @@ automationPatternView::automationPatternView( automationPattern * _pattern,
|
||||
|
||||
|
||||
|
||||
automationPatternView::~automationPatternView()
|
||||
AutomationPatternView::~AutomationPatternView()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -69,7 +68,7 @@ automationPatternView::~automationPatternView()
|
||||
|
||||
|
||||
|
||||
void automationPatternView::update()
|
||||
void AutomationPatternView::update()
|
||||
{
|
||||
m_needsUpdate = true;
|
||||
if( fixedTCOs() )
|
||||
@@ -82,7 +81,7 @@ void automationPatternView::update()
|
||||
|
||||
|
||||
|
||||
void automationPatternView::resetName()
|
||||
void AutomationPatternView::resetName()
|
||||
{
|
||||
m_pat->setName( QString::null );
|
||||
}
|
||||
@@ -90,7 +89,7 @@ void automationPatternView::resetName()
|
||||
|
||||
|
||||
|
||||
void automationPatternView::changeName()
|
||||
void AutomationPatternView::changeName()
|
||||
{
|
||||
QString s = m_pat->name();
|
||||
renameDialog rename_dlg( s );
|
||||
@@ -102,7 +101,7 @@ void automationPatternView::changeName()
|
||||
|
||||
|
||||
|
||||
void automationPatternView::disconnectObject( QAction * _a )
|
||||
void AutomationPatternView::disconnectObject( QAction * _a )
|
||||
{
|
||||
JournallingObject * j = engine::projectJournal()->
|
||||
journallingObject( _a->data().toInt() );
|
||||
@@ -118,7 +117,7 @@ void automationPatternView::disconnectObject( QAction * _a )
|
||||
|
||||
|
||||
|
||||
void automationPatternView::constructContextMenu( QMenu * _cm )
|
||||
void AutomationPatternView::constructContextMenu( QMenu * _cm )
|
||||
{
|
||||
QAction * a = new QAction( embed::getIconPixmap( "automation" ),
|
||||
tr( "Open in Automation editor" ), _cm );
|
||||
@@ -143,7 +142,7 @@ void automationPatternView::constructContextMenu( QMenu * _cm )
|
||||
_cm->addSeparator();
|
||||
QMenu * m = new QMenu( tr( "%1 Connections" ).
|
||||
arg( m_pat->m_objects.count() ), _cm );
|
||||
for( automationPattern::objectVector::iterator it =
|
||||
for( AutomationPattern::objectVector::iterator it =
|
||||
m_pat->m_objects.begin();
|
||||
it != m_pat->m_objects.end(); ++it )
|
||||
{
|
||||
@@ -166,7 +165,7 @@ void automationPatternView::constructContextMenu( QMenu * _cm )
|
||||
|
||||
|
||||
|
||||
void automationPatternView::mouseDoubleClickEvent( QMouseEvent * _me )
|
||||
void AutomationPatternView::mouseDoubleClickEvent( QMouseEvent * _me )
|
||||
{
|
||||
if( _me->button() != Qt::LeftButton )
|
||||
{
|
||||
@@ -179,7 +178,7 @@ void automationPatternView::mouseDoubleClickEvent( QMouseEvent * _me )
|
||||
|
||||
|
||||
|
||||
void automationPatternView::paintEvent( QPaintEvent * )
|
||||
void AutomationPatternView::paintEvent( QPaintEvent * )
|
||||
{
|
||||
if( m_needsUpdate == false )
|
||||
{
|
||||
@@ -247,7 +246,7 @@ void automationPatternView::paintEvent( QPaintEvent * )
|
||||
p.setRenderHint( QPainter::Antialiasing, true );
|
||||
}
|
||||
|
||||
for( automationPattern::timeMap::const_iterator it =
|
||||
for( AutomationPattern::timeMap::const_iterator it =
|
||||
m_pat->getTimeMap().begin();
|
||||
it != m_pat->getTimeMap().end(); ++it )
|
||||
{
|
||||
@@ -296,7 +295,7 @@ void automationPatternView::paintEvent( QPaintEvent * )
|
||||
|
||||
|
||||
|
||||
void automationPatternView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
void AutomationPatternView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
{
|
||||
stringPairDrag::processDragEnterEvent( _dee, "automatable_model" );
|
||||
if( !_dee->isAccepted() )
|
||||
@@ -308,7 +307,7 @@ void automationPatternView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
|
||||
|
||||
|
||||
void automationPatternView::dropEvent( QDropEvent * _de )
|
||||
void AutomationPatternView::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
QString type = stringPairDrag::decodeKey( _de );
|
||||
QString val = stringPairDrag::decodeValue( _de );
|
||||
@@ -323,12 +322,10 @@ void automationPatternView::dropEvent( QDropEvent * _de )
|
||||
}
|
||||
update();
|
||||
|
||||
if( engine::getAutomationEditor() &&
|
||||
engine::getAutomationEditor()->currentPattern() ==
|
||||
m_pat )
|
||||
if( engine::automationEditor() &&
|
||||
engine::automationEditor()->currentPattern() == m_pat )
|
||||
{
|
||||
engine::getAutomationEditor()->setCurrentPattern(
|
||||
m_pat );
|
||||
engine::automationEditor()->setCurrentPattern( m_pat );
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -340,5 +337,5 @@ void automationPatternView::dropEvent( QDropEvent * _de )
|
||||
|
||||
|
||||
|
||||
#include "moc_automation_pattern_view.cxx"
|
||||
#include "moc_AutomationPatternView.cxx"
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
#include "MainWindow.h"
|
||||
#include "bb_editor.h"
|
||||
#include "song_editor.h"
|
||||
#include "automation_recorder.h"
|
||||
#include "AutomationRecorder.h"
|
||||
#include "song.h"
|
||||
#include "piano_roll.h"
|
||||
#include "embed.h"
|
||||
@@ -66,7 +66,7 @@
|
||||
#include "ToolPluginView.h"
|
||||
#include "tool_button.h"
|
||||
#include "ProjectJournal.h"
|
||||
#include "automation_editor.h"
|
||||
#include "AutomationEditor.h"
|
||||
#include "templates.h"
|
||||
#include "lcd_spinbox.h"
|
||||
#include "tooltip.h"
|
||||
@@ -1154,7 +1154,7 @@ void MainWindow::togglePianoRollWin()
|
||||
|
||||
void MainWindow::toggleAutomationEditorWin()
|
||||
{
|
||||
toggleWindow( engine::getAutomationEditor() );
|
||||
toggleWindow( engine::automationEditor() );
|
||||
}
|
||||
|
||||
|
||||
@@ -1593,7 +1593,7 @@ void MainWindow::masterPitchReleased()
|
||||
|
||||
void MainWindow::toggleRecordAutomation( bool _recording )
|
||||
{
|
||||
engine::getAutomationRecorder()->setRecording( _recording );
|
||||
engine::automationRecorder()->setRecording( _recording );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
#include "Clipboard.h"
|
||||
#include "combobox.h"
|
||||
#include "debug.h"
|
||||
#include "detuning_helper.h"
|
||||
#include "DetuningHelper.h"
|
||||
#include "embed.h"
|
||||
#include "gui_templates.h"
|
||||
#include "InstrumentTrack.h"
|
||||
@@ -69,7 +69,7 @@
|
||||
#include "fluiq/collapsible_widget.h"
|
||||
|
||||
|
||||
typedef automationPattern::timeMap timeMap;
|
||||
typedef AutomationPattern::timeMap timeMap;
|
||||
|
||||
|
||||
extern Keys whiteKeys[]; // defined in piano_widget.cpp
|
||||
@@ -726,7 +726,7 @@ inline void pianoRoll::drawDetuningInfo( QPainter & _p, note * _n, int _x,
|
||||
int middle_y = _y + KeyLineHeight / 2;
|
||||
_p.setPen( QColor( 0xFF, 0xDF, 0x20 ) );
|
||||
|
||||
timeMap & map = _n->detuning()->getAutomationPattern()->getTimeMap();
|
||||
timeMap & map = _n->detuning()->automationPattern()->getTimeMap();
|
||||
for( timeMap::ConstIterator it = map.begin(); it != map.end(); ++it )
|
||||
{
|
||||
Sint32 pos_ticks = it.key();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* combobox.cpp - implementation of LMMS-combobox
|
||||
*
|
||||
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2009 Paul Giblock <pgib/at/users.sourceforge.net>
|
||||
*
|
||||
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
|
||||
@@ -34,7 +34,6 @@
|
||||
#include <QtGui/QPixmap>
|
||||
#include <QtGui/QStyleOptionFrame>
|
||||
|
||||
#include "automation_pattern.h"
|
||||
#include "caption_menu.h"
|
||||
#include "engine.h"
|
||||
#include "embed.h"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
* automation_track.cpp - automationTrack handles automation of objects without
|
||||
* a track
|
||||
* AutomationTrack.cpp - AutomationTrack handles automation of objects without
|
||||
* a track
|
||||
*
|
||||
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2008-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
* Copyright (c) 2006-2008 Javier Serrano Polo <jasp00/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,9 +24,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "automation_track.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationTrack.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "engine.h"
|
||||
#include "embed.h"
|
||||
#include "ProjectJournal.h"
|
||||
@@ -35,8 +34,8 @@
|
||||
#include "track_label_button.h"
|
||||
|
||||
|
||||
automationTrack::automationTrack( trackContainer * _tc, bool _hidden ) :
|
||||
track( _hidden ? HiddenAutomationTrack : AutomationTrack, _tc )
|
||||
AutomationTrack::AutomationTrack( trackContainer * _tc, bool _hidden ) :
|
||||
track( _hidden ? HiddenAutomationTrack : track::AutomationTrack, _tc )
|
||||
{
|
||||
setName( tr( "Automation track" ) );
|
||||
}
|
||||
@@ -44,14 +43,14 @@ automationTrack::automationTrack( trackContainer * _tc, bool _hidden ) :
|
||||
|
||||
|
||||
|
||||
automationTrack::~automationTrack()
|
||||
AutomationTrack::~AutomationTrack()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
bool automationTrack::play( const midiTime & _start, const fpp_t _frames,
|
||||
bool AutomationTrack::play( const midiTime & _start, const fpp_t _frames,
|
||||
const f_cnt_t _frame_base, Sint16 _tco_num )
|
||||
{
|
||||
if( isMuted() )
|
||||
@@ -73,8 +72,7 @@ bool automationTrack::play( const midiTime & _start, const fpp_t _frames,
|
||||
|
||||
for( tcoVector::iterator it = tcos.begin(); it != tcos.end(); ++it )
|
||||
{
|
||||
automationPattern * p =
|
||||
dynamic_cast<automationPattern *>( *it );
|
||||
AutomationPattern * p = dynamic_cast<AutomationPattern *>( *it );
|
||||
if( p == NULL || ( *it )->isMuted() )
|
||||
{
|
||||
continue;
|
||||
@@ -92,23 +90,23 @@ bool automationTrack::play( const midiTime & _start, const fpp_t _frames,
|
||||
|
||||
|
||||
|
||||
trackView * automationTrack::createView( trackContainerView * _tcv )
|
||||
trackView * AutomationTrack::createView( trackContainerView * _tcv )
|
||||
{
|
||||
return new automationTrackView( this, _tcv );
|
||||
return new AutomationTrackView( this, _tcv );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
trackContentObject * automationTrack::createTCO( const midiTime & )
|
||||
trackContentObject * AutomationTrack::createTCO( const midiTime & )
|
||||
{
|
||||
return new automationPattern( this );
|
||||
return new AutomationPattern( this );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void automationTrack::saveTrackSpecificSettings( QDomDocument & _doc,
|
||||
void AutomationTrack::saveTrackSpecificSettings( QDomDocument & _doc,
|
||||
QDomElement & _this )
|
||||
{
|
||||
}
|
||||
@@ -116,7 +114,7 @@ void automationTrack::saveTrackSpecificSettings( QDomDocument & _doc,
|
||||
|
||||
|
||||
|
||||
void automationTrack::loadTrackSpecificSettings( const QDomElement & _this )
|
||||
void AutomationTrack::loadTrackSpecificSettings( const QDomElement & _this )
|
||||
{
|
||||
// just in case something somehow wrent wrong...
|
||||
if( type() == HiddenAutomationTrack )
|
||||
@@ -129,7 +127,7 @@ void automationTrack::loadTrackSpecificSettings( const QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
automationTrackView::automationTrackView( automationTrack * _at,
|
||||
AutomationTrackView::AutomationTrackView( AutomationTrack * _at,
|
||||
trackContainerView * _tcv ) :
|
||||
trackView( _at, _tcv )
|
||||
{
|
||||
@@ -145,14 +143,14 @@ automationTrackView::automationTrackView( automationTrack * _at,
|
||||
|
||||
|
||||
|
||||
automationTrackView::~automationTrackView()
|
||||
AutomationTrackView::~AutomationTrackView()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void automationTrackView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
void AutomationTrackView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
{
|
||||
stringPairDrag::processDragEnterEvent( _dee, "automatable_model" );
|
||||
}
|
||||
@@ -160,7 +158,7 @@ void automationTrackView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
|
||||
|
||||
|
||||
void automationTrackView::dropEvent( QDropEvent * _de )
|
||||
void AutomationTrackView::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
QString type = stringPairDrag::decodeKey( _de );
|
||||
QString val = stringPairDrag::decodeValue( _de );
|
||||
@@ -185,8 +183,7 @@ void automationTrackView::dropEvent( QDropEvent * _de )
|
||||
}
|
||||
|
||||
trackContentObject * tco = getTrack()->createTCO( pos );
|
||||
automationPattern * pat =
|
||||
dynamic_cast<automationPattern *>( tco );
|
||||
AutomationPattern * pat = dynamic_cast<AutomationPattern *>( tco );
|
||||
pat->addObject( mod );
|
||||
pat->movePosition( pos );
|
||||
}
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
#include "InstrumentTrack.h"
|
||||
#include "AudioPort.h"
|
||||
#include "automation_pattern.h"
|
||||
#include "AutomationPattern.h"
|
||||
#include "bb_track.h"
|
||||
#include "config_mgr.h"
|
||||
#include "ControllerConnection.h"
|
||||
@@ -829,7 +829,7 @@ void InstrumentTrack::loadTrackSpecificSettings( const QDomElement & _this )
|
||||
// compat code - if node-name doesn't match any known
|
||||
// one, we assume that it is an instrument-plugin
|
||||
// which we'll try to load
|
||||
else if( automationPattern::classNodeName() != node.nodeName() &&
|
||||
else if( AutomationPattern::classNodeName() != node.nodeName() &&
|
||||
ControllerConnection::classNodeName() != node.nodeName() &&
|
||||
!node.toElement().hasAttribute( "id" ) )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user