Renamed MIDI and audio related classes/files to match new style
Renamed all MIDI and audio related classes/files to match new style. Additionally various cleanups.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_alsa.h - device-class that implements ALSA-PCM-output
|
||||
* AudioAlsa.h - device-class that implements ALSA-PCM-output
|
||||
*
|
||||
* 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 _AUDIO_ALSA_H
|
||||
#define _AUDIO_ALSA_H
|
||||
|
||||
@@ -35,35 +34,35 @@
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
|
||||
class lcdSpinBox;
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class audioALSA : public audioDevice, public QThread
|
||||
class AudioAlsa : public AudioDevice, public QThread
|
||||
{
|
||||
public:
|
||||
audioALSA( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioALSA();
|
||||
AudioAlsa( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioAlsa();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"ALSA (Advanced Linux Sound Architecture)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"ALSA (Advanced Linux Sound Architecture)" );
|
||||
}
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -73,13 +72,13 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void run( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
virtual void run();
|
||||
|
||||
int setHWParams( const ch_cnt_t _channels, snd_pcm_access_t _access );
|
||||
int setSWParams( void );
|
||||
int setSWParams();
|
||||
int handleError( int _err );
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_device.h - base-class for audio-devices, used by LMMS-mixer
|
||||
* AudioDevice.h - base-class for audio-devices, used by LMMS-mixer
|
||||
*
|
||||
* 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 _AUDIO_DEVICE_H
|
||||
#define _AUDIO_DEVICE_H
|
||||
|
||||
@@ -34,61 +33,60 @@
|
||||
#include "tab_widget.h"
|
||||
|
||||
|
||||
class audioPort;
|
||||
class AudioPort;
|
||||
|
||||
|
||||
|
||||
class audioDevice
|
||||
class AudioDevice
|
||||
{
|
||||
public:
|
||||
audioDevice( const ch_cnt_t _channels, mixer * _mixer );
|
||||
virtual ~audioDevice();
|
||||
AudioDevice( const ch_cnt_t _channels, mixer * _mixer );
|
||||
virtual ~AudioDevice();
|
||||
|
||||
inline void lock( void )
|
||||
inline void lock()
|
||||
{
|
||||
m_devMutex.lock();
|
||||
}
|
||||
|
||||
inline void unlock( void )
|
||||
inline void unlock()
|
||||
{
|
||||
m_devMutex.unlock();
|
||||
}
|
||||
|
||||
|
||||
// if audio-driver supports ports, classes inherting audioPort
|
||||
// if audio-driver supports ports, classes inherting AudioPort
|
||||
// (e.g. channel-tracks) can register themselves for making
|
||||
// audio-driver able to collect their individual output and provide
|
||||
// them at a specific port - currently only supported by JACK
|
||||
virtual void registerPort( audioPort * _port );
|
||||
virtual void unregisterPort( audioPort * _port );
|
||||
virtual void renamePort( audioPort * _port );
|
||||
virtual void registerPort( AudioPort * _port );
|
||||
virtual void unregisterPort( AudioPort * _port );
|
||||
virtual void renamePort( AudioPort * _port );
|
||||
|
||||
|
||||
inline bool supportsCapture( void ) const
|
||||
inline bool supportsCapture() const
|
||||
{
|
||||
return( m_supportsCapture );
|
||||
return m_supportsCapture;
|
||||
}
|
||||
|
||||
inline sample_rate_t sampleRate( void ) const
|
||||
inline sample_rate_t sampleRate() const
|
||||
{
|
||||
return( m_sampleRate );
|
||||
return m_sampleRate;
|
||||
}
|
||||
|
||||
ch_cnt_t channels( void ) const
|
||||
ch_cnt_t channels() const
|
||||
{
|
||||
return( m_channels );
|
||||
return m_channels;
|
||||
}
|
||||
|
||||
void processNextBuffer( void );
|
||||
void processNextBuffer();
|
||||
|
||||
virtual void startProcessing( void )
|
||||
virtual void startProcessing()
|
||||
{
|
||||
m_inProcess = TRUE;
|
||||
m_inProcess = true;
|
||||
}
|
||||
|
||||
virtual void stopProcessing( void );
|
||||
virtual void stopProcessing();
|
||||
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void applyQualitySettings();
|
||||
|
||||
|
||||
|
||||
@@ -106,9 +104,9 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual void saveSettings( void ) = 0;
|
||||
virtual void saveSettings() = 0;
|
||||
|
||||
virtual void show( void )
|
||||
virtual void show()
|
||||
{
|
||||
parentWidget()->show();
|
||||
QWidget::show();
|
||||
@@ -154,16 +152,18 @@ protected:
|
||||
m_sampleRate = _new_sr;
|
||||
}
|
||||
|
||||
mixer * getMixer( void )
|
||||
mixer * getMixer()
|
||||
{
|
||||
return( m_mixer );
|
||||
return m_mixer;
|
||||
}
|
||||
|
||||
bool hqAudio( void ) const;
|
||||
bool hqAudio() const;
|
||||
|
||||
|
||||
protected:
|
||||
bool m_supportsCapture;
|
||||
|
||||
|
||||
private:
|
||||
sample_rate_t m_sampleRate;
|
||||
ch_cnt_t m_channels;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_dummy.h - dummy-audio-device
|
||||
* AudioDummy.h - dummy audio-device
|
||||
*
|
||||
* 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,40 +22,38 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_DUMMY_H
|
||||
#define _AUDIO_DUMMY_H
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "micro_timer.h"
|
||||
#include "AudioDevice.h"
|
||||
#include "MicroTimer.h"
|
||||
|
||||
|
||||
class audioDummy : public audioDevice, public QThread
|
||||
class AudioDummy : public AudioDevice, public QThread
|
||||
{
|
||||
public:
|
||||
audioDummy( bool & _success_ful, mixer * _mixer ) :
|
||||
audioDevice( DEFAULT_CHANNELS, _mixer )
|
||||
AudioDummy( bool & _success_ful, mixer * _mixer ) :
|
||||
AudioDevice( DEFAULT_CHANNELS, _mixer )
|
||||
{
|
||||
_success_ful = TRUE;
|
||||
_success_ful = true;
|
||||
}
|
||||
|
||||
virtual ~audioDummy()
|
||||
virtual ~AudioDummy()
|
||||
{
|
||||
stopProcessing();
|
||||
}
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"Dummy (no sound output)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget", "Dummy (no sound output)" );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent ) :
|
||||
audioDevice::setupWidget( audioDummy::name(), _parent )
|
||||
AudioDevice::setupWidget( AudioDummy::name(), _parent )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -63,11 +61,11 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual void saveSettings( void )
|
||||
virtual void saveSettings()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void show( void )
|
||||
virtual void show()
|
||||
{
|
||||
parentWidget()->hide();
|
||||
QWidget::show();
|
||||
@@ -77,12 +75,12 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void )
|
||||
virtual void startProcessing()
|
||||
{
|
||||
start();
|
||||
}
|
||||
|
||||
virtual void stopProcessing( void )
|
||||
virtual void stopProcessing()
|
||||
{
|
||||
if( isRunning() )
|
||||
{
|
||||
@@ -91,10 +89,10 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
virtual void run( void )
|
||||
virtual void run()
|
||||
{
|
||||
microTimer timer;
|
||||
while( TRUE )
|
||||
MicroTimer timer;
|
||||
while( true )
|
||||
{
|
||||
timer.reset();
|
||||
const surroundSampleFrame * b =
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* audio_file_device.h - base-class for audio-device-classes which write
|
||||
* their output into a file
|
||||
* AudioFileDevice.h - base-class for audio-device-classes which write
|
||||
* their output into a file
|
||||
*
|
||||
* 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
|
||||
@@ -26,17 +26,15 @@
|
||||
#ifndef _AUDIO_FILE_DEVICE_H
|
||||
#define _AUDIO_FILE_DEVICE_H
|
||||
|
||||
|
||||
#include <QtCore/QFile>
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
|
||||
|
||||
class audioFileDevice : public audioDevice
|
||||
class AudioFileDevice : public AudioDevice
|
||||
{
|
||||
public:
|
||||
audioFileDevice( const sample_rate_t _sample_rate,
|
||||
AudioFileDevice( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels, const QString & _file,
|
||||
const bool _use_vbr,
|
||||
const bitrate_t _nom_bitrate,
|
||||
@@ -44,45 +42,45 @@ public:
|
||||
const bitrate_t _max_bitrate,
|
||||
const int _depth,
|
||||
mixer * _mixer );
|
||||
virtual ~audioFileDevice();
|
||||
virtual ~AudioFileDevice();
|
||||
|
||||
QString outputFile( void ) const
|
||||
QString outputFile() const
|
||||
{
|
||||
return( m_outputFile.fileName() );
|
||||
return m_outputFile.fileName();
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
Sint32 writeData( const void * _data, Sint32 _len );
|
||||
|
||||
inline bool useVBR( void ) const
|
||||
inline bool useVBR() const
|
||||
{
|
||||
return( m_useVbr );
|
||||
return m_useVbr;
|
||||
}
|
||||
|
||||
inline bitrate_t nominalBitrate( void ) const
|
||||
inline bitrate_t nominalBitrate() const
|
||||
{
|
||||
return( m_nomBitrate );
|
||||
return m_nomBitrate;
|
||||
}
|
||||
|
||||
inline bitrate_t minBitrate( void ) const
|
||||
inline bitrate_t minBitrate() const
|
||||
{
|
||||
return( m_minBitrate );
|
||||
return m_minBitrate;
|
||||
}
|
||||
|
||||
inline bitrate_t maxBitrate( void ) const
|
||||
inline bitrate_t maxBitrate() const
|
||||
{
|
||||
return( m_maxBitrate );
|
||||
return m_maxBitrate;
|
||||
}
|
||||
|
||||
inline int depth( void ) const
|
||||
inline int depth() const
|
||||
{
|
||||
return( m_depth );
|
||||
return m_depth;
|
||||
}
|
||||
|
||||
inline bool outputFileOpened( void ) const
|
||||
inline bool outputFileOpened() const
|
||||
{
|
||||
return( m_outputFile.isOpen() );
|
||||
return m_outputFile.isOpen();
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +98,7 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
typedef audioFileDevice * ( * audioFileDeviceInstantiaton )
|
||||
typedef AudioFileDevice * ( * AudioFileDeviceInstantiaton )
|
||||
( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels,
|
||||
bool & _success_ful,
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* audio_file_ogg.h - Audio-device which encodes wave-stream and writes it
|
||||
* into an OGG-file. This is used for song-export.
|
||||
* AudioFileOgg.h - Audio-device which encodes wave-stream and writes it
|
||||
* into an OGG-file. This is used for song-export.
|
||||
*
|
||||
* 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
|
||||
@@ -23,7 +23,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_FILE_OGG_H
|
||||
#define _AUDIO_FILE_OGG_H
|
||||
|
||||
@@ -33,14 +32,13 @@
|
||||
|
||||
#include <vorbis/codec.h>
|
||||
|
||||
#include "audio_file_device.h"
|
||||
#include "AudioFileDevice.h"
|
||||
|
||||
|
||||
|
||||
class audioFileOgg : public audioFileDevice
|
||||
class AudioFileOgg : public AudioFileDevice
|
||||
{
|
||||
public:
|
||||
audioFileOgg( const sample_rate_t _sample_rate,
|
||||
AudioFileOgg( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels,
|
||||
bool & _success_ful,
|
||||
const QString & _file,
|
||||
@@ -50,9 +48,9 @@ public:
|
||||
const bitrate_t _max_bitrate,
|
||||
const int _depth,
|
||||
mixer * _mixer );
|
||||
virtual ~audioFileOgg();
|
||||
virtual ~AudioFileOgg();
|
||||
|
||||
static audioFileDevice * getInst( const sample_rate_t _sample_rate,
|
||||
static AudioFileDevice * getInst( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels,
|
||||
bool & _success_ful,
|
||||
const QString & _file,
|
||||
@@ -63,10 +61,10 @@ public:
|
||||
const int _depth,
|
||||
mixer * _mixer )
|
||||
{
|
||||
return( new audioFileOgg( _sample_rate, _channels, _success_ful,
|
||||
return new AudioFileOgg( _sample_rate, _channels, _success_ful,
|
||||
_file, _use_vbr, _nom_bitrate,
|
||||
_min_bitrate, _max_bitrate,
|
||||
_depth, _mixer ) );
|
||||
_depth, _mixer );
|
||||
}
|
||||
|
||||
|
||||
@@ -75,9 +73,9 @@ private:
|
||||
const fpp_t _frames,
|
||||
const float _master_gain );
|
||||
|
||||
bool startEncoding( void );
|
||||
void finishEncoding( void );
|
||||
inline Sint32 writePage( void );
|
||||
bool startEncoding();
|
||||
void finishEncoding();
|
||||
inline Sint32 writePage();
|
||||
|
||||
|
||||
bool m_ok;
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* audio_file_wave.h - Audio-device which encodes wave-stream and writes it
|
||||
* into an WAVE-file. This is used for song-export.
|
||||
* AudioFileWave.h - AudioDevice which encodes wave-stream and writes it
|
||||
* into a WAVE-file. This is used for song-export.
|
||||
*
|
||||
* 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
|
||||
@@ -23,21 +23,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_FILE_WAVE_H
|
||||
#define _AUDIO_FILE_WAVE_H
|
||||
|
||||
|
||||
#include "lmmsconfig.h"
|
||||
#include "audio_file_device.h"
|
||||
#include "AudioFileDevice.h"
|
||||
|
||||
#include <sndfile.h>
|
||||
|
||||
|
||||
class audioFileWave : public audioFileDevice
|
||||
class AudioFileWave : public AudioFileDevice
|
||||
{
|
||||
public:
|
||||
audioFileWave( const sample_rate_t _sample_rate,
|
||||
AudioFileWave( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels,
|
||||
bool & _success_ful,
|
||||
const QString & _file,
|
||||
@@ -47,9 +45,9 @@ public:
|
||||
const bitrate_t _max_bitrate,
|
||||
const int _depth,
|
||||
mixer * _mixer );
|
||||
virtual ~audioFileWave();
|
||||
virtual ~AudioFileWave();
|
||||
|
||||
static audioFileDevice * getInst( const sample_rate_t _sample_rate,
|
||||
static AudioFileDevice * getInst( const sample_rate_t _sample_rate,
|
||||
const ch_cnt_t _channels,
|
||||
bool & _success_ful,
|
||||
const QString & _file,
|
||||
@@ -60,11 +58,11 @@ public:
|
||||
const int _depth,
|
||||
mixer * _mixer )
|
||||
{
|
||||
return( new audioFileWave( _sample_rate, _channels,
|
||||
return new AudioFileWave( _sample_rate, _channels,
|
||||
_success_ful, _file, _use_vbr,
|
||||
_nom_bitrate, _min_bitrate,
|
||||
_max_bitrate, _depth,
|
||||
_mixer ) );
|
||||
_mixer );
|
||||
}
|
||||
|
||||
|
||||
@@ -73,8 +71,8 @@ private:
|
||||
const fpp_t _frames,
|
||||
float _master_gain );
|
||||
|
||||
bool startEncoding( void );
|
||||
void finishEncoding( void );
|
||||
bool startEncoding();
|
||||
void finishEncoding();
|
||||
|
||||
|
||||
SF_INFO m_si;
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_jack.h - support for JACK-transport
|
||||
* AudioJack.h - support for JACK-transport
|
||||
*
|
||||
* Copyright (c) 2005-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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_JACK_H
|
||||
#define _AUDIO_JACK_H
|
||||
|
||||
@@ -36,35 +35,34 @@
|
||||
#include <QtCore/QList>
|
||||
#include <QtCore/QMap>
|
||||
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
class lcdSpinBox;
|
||||
|
||||
|
||||
class audioJACK : public QObject, public audioDevice
|
||||
class AudioJack : public QObject, public AudioDevice
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
audioJACK( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioJACK();
|
||||
AudioJack( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioJack();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"JACK (JACK Audio Connection Kit)" );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_clientName;
|
||||
@@ -74,20 +72,20 @@ public:
|
||||
|
||||
|
||||
private slots:
|
||||
void restartAfterZombified( void );
|
||||
void restartAfterZombified();
|
||||
|
||||
|
||||
#ifdef LMMS_HAVE_JACK
|
||||
private:
|
||||
bool initJackClient( void );
|
||||
bool initJackClient();
|
||||
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
|
||||
virtual void registerPort( audioPort * _port );
|
||||
virtual void unregisterPort( audioPort * _port );
|
||||
virtual void renamePort( audioPort * _port );
|
||||
virtual void registerPort( AudioPort * _port );
|
||||
virtual void unregisterPort( AudioPort * _port );
|
||||
virtual void renamePort( AudioPort * _port );
|
||||
|
||||
int processCallback( jack_nframes_t _nframes, void * _udata );
|
||||
|
||||
@@ -111,17 +109,17 @@ private:
|
||||
f_cnt_t m_framesToDoInCurBuf;
|
||||
|
||||
|
||||
struct stereoPort
|
||||
struct StereoPort
|
||||
{
|
||||
jack_port_t * ports[2];
|
||||
} ;
|
||||
|
||||
typedef QMap<audioPort *, stereoPort> jackPortMap;
|
||||
jackPortMap m_portMap;
|
||||
typedef QMap<AudioPort *, StereoPort> JackPortMap;
|
||||
JackPortMap m_portMap;
|
||||
#endif
|
||||
|
||||
signals:
|
||||
void zombified( void );
|
||||
void zombified();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_oss.h - device-class that implements OSS-PCM-output
|
||||
* AudioOss.h - device-class that implements OSS-PCM-output
|
||||
*
|
||||
* 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 _AUDIO_OSS_H
|
||||
#define _AUDIO_OSS_H
|
||||
|
||||
@@ -30,35 +29,34 @@
|
||||
|
||||
#ifdef LMMS_HAVE_OSS
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
|
||||
class lcdSpinBox;
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class audioOSS : public audioDevice, public QThread
|
||||
class AudioOss : public AudioDevice, public QThread
|
||||
{
|
||||
public:
|
||||
audioOSS( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioOSS();
|
||||
AudioOss( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioOss();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"OSS (Open Sound System)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget", "OSS (Open Sound System)" );
|
||||
}
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -68,10 +66,10 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void run( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
virtual void run();
|
||||
|
||||
int m_audioFD;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_port.h - base-class for objects providing sound at a port
|
||||
* AudioPort.h - base-class for objects providing sound at a port
|
||||
*
|
||||
* Copyright (c) 2005-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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_PORT_H
|
||||
#define _AUDIO_PORT_H
|
||||
|
||||
@@ -34,49 +33,49 @@
|
||||
|
||||
class effectChain;
|
||||
|
||||
class audioPort
|
||||
class AudioPort
|
||||
{
|
||||
public:
|
||||
audioPort( const QString & _name, bool _has_effect_chain = true );
|
||||
~audioPort();
|
||||
AudioPort( const QString & _name, bool _has_effect_chain = true );
|
||||
~AudioPort();
|
||||
|
||||
inline sampleFrame * firstBuffer( void )
|
||||
inline sampleFrame * firstBuffer()
|
||||
{
|
||||
return( m_firstBuffer );
|
||||
return m_firstBuffer;
|
||||
}
|
||||
|
||||
inline sampleFrame * secondBuffer( void )
|
||||
inline sampleFrame * secondBuffer()
|
||||
{
|
||||
return( m_secondBuffer );
|
||||
return m_secondBuffer;
|
||||
}
|
||||
|
||||
inline void lockFirstBuffer( void )
|
||||
inline void lockFirstBuffer()
|
||||
{
|
||||
m_firstBufferLock.lock();
|
||||
}
|
||||
|
||||
inline void lockSecondBuffer( void )
|
||||
inline void lockSecondBuffer()
|
||||
{
|
||||
m_secondBufferLock.lock();
|
||||
}
|
||||
|
||||
inline void unlockFirstBuffer( void )
|
||||
inline void unlockFirstBuffer()
|
||||
{
|
||||
m_firstBufferLock.unlock();
|
||||
}
|
||||
|
||||
inline void unlockSecondBuffer( void )
|
||||
inline void unlockSecondBuffer()
|
||||
{
|
||||
m_secondBufferLock.unlock();
|
||||
}
|
||||
|
||||
void nextPeriod( void );
|
||||
void nextPeriod();
|
||||
|
||||
|
||||
// indicate whether JACK & Co should provide output-buffer at ext. port
|
||||
inline bool extOutputEnabled( void ) const
|
||||
inline bool extOutputEnabled() const
|
||||
{
|
||||
return( m_extOutputEnabled );
|
||||
return m_extOutputEnabled;
|
||||
}
|
||||
|
||||
void setExtOutputEnabled( bool _enabled );
|
||||
@@ -84,14 +83,14 @@ public:
|
||||
|
||||
// next effect-channel after this audio-port
|
||||
// (-1 = none 0 = master)
|
||||
inline fx_ch_t nextFxChannel( void ) const
|
||||
inline fx_ch_t nextFxChannel() const
|
||||
{
|
||||
return( m_nextFxChannel );
|
||||
return m_nextFxChannel;
|
||||
}
|
||||
|
||||
inline effectChain * getEffects( void )
|
||||
inline effectChain * getEffects()
|
||||
{
|
||||
return( m_effects );
|
||||
return m_effects;
|
||||
}
|
||||
|
||||
void setNextFxChannel( const fx_ch_t _chnl )
|
||||
@@ -100,15 +99,15 @@ public:
|
||||
}
|
||||
|
||||
|
||||
const QString & name( void ) const
|
||||
const QString & name() const
|
||||
{
|
||||
return( m_name );
|
||||
return m_name;
|
||||
}
|
||||
|
||||
void setName( const QString & _new_name );
|
||||
|
||||
|
||||
bool processEffects( void );
|
||||
bool processEffects();
|
||||
|
||||
|
||||
enum bufferUsages
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_portaudio.h - device-class that performs PCM-output via PortAudio
|
||||
* AudioPortAudio.h - device-class that performs PCM-output via PortAudio
|
||||
*
|
||||
* Copyright (c) 2008 Csaba Hruska <csaba.hruska/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
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_PORTAUDIO_H
|
||||
#define _AUDIO_PORTAUDIO_H
|
||||
|
||||
@@ -31,12 +30,12 @@
|
||||
#include "lmmsconfig.h"
|
||||
#include "combobox_model.h"
|
||||
|
||||
class audioPortAudioSetupUtil : public QObject
|
||||
class AudioPortAudioSetupUtil : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public slots:
|
||||
void updateDevices( void );
|
||||
void updateChannels( void );
|
||||
void updateDevices();
|
||||
void updateChannels();
|
||||
|
||||
public:
|
||||
comboBoxModel m_backendModel;
|
||||
@@ -48,7 +47,7 @@ public:
|
||||
|
||||
#include <portaudio.h>
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
#if defined paNeverDropInput || defined paNonInterleaved
|
||||
# define PORTAUDIO_V19
|
||||
@@ -61,16 +60,15 @@ class comboBox;
|
||||
class lcdSpinBox;
|
||||
|
||||
|
||||
class audioPortAudio : public audioDevice
|
||||
class AudioPortAudio : public AudioDevice
|
||||
{
|
||||
public:
|
||||
audioPortAudio( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioPortAudio();
|
||||
AudioPortAudio( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioPortAudio();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"PortAudio" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget", "PortAudio" );
|
||||
}
|
||||
|
||||
|
||||
@@ -79,26 +77,26 @@ public:
|
||||
unsigned long _framesPerBuffer );
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
comboBox * m_backend;
|
||||
comboBox * m_device;
|
||||
lcdSpinBox * m_channels;
|
||||
audioPortAudioSetupUtil m_setupUtil;
|
||||
AudioPortAudioSetupUtil m_setupUtil;
|
||||
|
||||
} ;
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
|
||||
#ifdef PORTAUDIO_V19
|
||||
static int _process_callback( const void *_inputBuffer, void * _outputBuffer,
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_pulseaudio.h - device-class which implements PulseAudio-output
|
||||
* AudioPulseAudio.h - device-class which implements PulseAudio-output
|
||||
*
|
||||
* 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 _AUDIO_PULSEAUDIO_H
|
||||
#define _AUDIO_PULSEAUDIO_H
|
||||
|
||||
@@ -32,35 +31,34 @@
|
||||
|
||||
#include <pulse/pulseaudio.h>
|
||||
|
||||
#include "audio_device.h"
|
||||
#include "AudioDevice.h"
|
||||
|
||||
|
||||
class lcdSpinBox;
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class audioPulseAudio : public audioDevice, public QThread
|
||||
class AudioPulseAudio : public AudioDevice, public QThread
|
||||
{
|
||||
public:
|
||||
audioPulseAudio( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioPulseAudio();
|
||||
AudioPulseAudio( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioPulseAudio();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"PulseAudio (bad latency!)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget", "PulseAudio (bad latency!)" );
|
||||
}
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -76,10 +74,10 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void run( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
virtual void run();
|
||||
|
||||
|
||||
bool m_convertEndian;
|
||||
@@ -1,10 +1,9 @@
|
||||
/*
|
||||
* audio_sample_recorder.h - device-class that implements recording
|
||||
* surround-audio-buffers into RAM, maybe later
|
||||
* also harddisk
|
||||
* AudioSampleRecorder.h - device-class that implements recording
|
||||
* audio-buffers into RAM
|
||||
*
|
||||
* 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,28 +23,25 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _AUDIO_SAMPLE_RECORDER_H
|
||||
#define _AUDIO_SAMPLE_RECORDER_H
|
||||
|
||||
|
||||
#include <QtCore/QList>
|
||||
#include <QtCore/QPair>
|
||||
|
||||
#include "audio_device.h"
|
||||
|
||||
#include "AudioDevice.h"
|
||||
|
||||
class sampleBuffer;
|
||||
|
||||
|
||||
class audioSampleRecorder : public audioDevice
|
||||
class AudioSampleRecorder : public AudioDevice
|
||||
{
|
||||
public:
|
||||
audioSampleRecorder( const ch_cnt_t _channels, bool & _success_ful,
|
||||
AudioSampleRecorder( const ch_cnt_t _channels, bool & _success_ful,
|
||||
mixer * _mixer );
|
||||
virtual ~audioSampleRecorder();
|
||||
virtual ~AudioSampleRecorder();
|
||||
|
||||
f_cnt_t framesRecorded( void ) const;
|
||||
f_cnt_t framesRecorded() const;
|
||||
void createSampleBuffer( sampleBuffer * * _sample_buf );
|
||||
|
||||
|
||||
@@ -54,8 +50,8 @@ private:
|
||||
const fpp_t _frames,
|
||||
const float _master_gain );
|
||||
|
||||
typedef QList<QPair<sampleFrame *, fpp_t> > bufferList;
|
||||
bufferList m_buffers;
|
||||
typedef QList<QPair<sampleFrame *, fpp_t> > BufferList;
|
||||
BufferList m_buffers;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* audio_sdl.h - device-class that performs PCM-output via SDL
|
||||
* AudioSdl.h - device-class that performs PCM-output via SDL
|
||||
*
|
||||
* 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 _AUDIO_SDL_H
|
||||
#define _AUDIO_SDL_H
|
||||
|
||||
@@ -33,32 +32,31 @@
|
||||
#include <SDL/SDL.h>
|
||||
#include <SDL/SDL_audio.h>
|
||||
|
||||
#include "audio_device.h"
|
||||
|
||||
#include "AudioDevice.h"
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class audioSDL : public audioDevice
|
||||
class AudioSdl : public AudioDevice
|
||||
{
|
||||
public:
|
||||
audioSDL( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~audioSDL();
|
||||
AudioSdl( bool & _success_ful, mixer * _mixer );
|
||||
virtual ~AudioSdl();
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"SDL (Simple DirectMedia Layer)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"SDL (Simple DirectMedia Layer)" );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public audioDevice::setupWidget
|
||||
class setupWidget : public AudioDevice::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -67,9 +65,9 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
virtual void startProcessing( void );
|
||||
virtual void stopProcessing( void );
|
||||
virtual void applyQualitySettings( void );
|
||||
virtual void startProcessing();
|
||||
virtual void stopProcessing();
|
||||
virtual void applyQualitySettings();
|
||||
|
||||
static void sdlAudioCallback( void * _udata, Uint8 * _buf, int _len );
|
||||
void sdlAudioCallback( Uint8 * _buf, int _len );
|
||||
@@ -44,7 +44,7 @@ class groupBox;
|
||||
class tabWidget;
|
||||
class lcdSpinBox;
|
||||
class ledCheckBox;
|
||||
class midiPortMenu;
|
||||
class MidiPortMenu;
|
||||
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ private:
|
||||
lcdSpinBox * m_midiChannelSpinBox;
|
||||
lcdSpinBox * m_midiControllerSpinBox;
|
||||
ledCheckBox * m_midiAutoDetectCheckBox;
|
||||
midiPortMenu * m_readablePorts;
|
||||
MidiPortMenu * m_readablePorts;
|
||||
boolModel m_midiAutoDetect;
|
||||
|
||||
// User
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* micro_timer.h - simple high-precision timer
|
||||
* MicroTimer.h - simple high-precision timer
|
||||
*
|
||||
* 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
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MICRO_TIMER
|
||||
#define _MICRO_TIMER
|
||||
|
||||
@@ -36,29 +35,29 @@
|
||||
#include "lmms_basics.h"
|
||||
|
||||
|
||||
class microTimer
|
||||
class MicroTimer
|
||||
{
|
||||
public:
|
||||
inline microTimer( void )
|
||||
inline MicroTimer()
|
||||
{
|
||||
reset();
|
||||
}
|
||||
|
||||
inline ~microTimer()
|
||||
inline ~MicroTimer()
|
||||
{
|
||||
}
|
||||
|
||||
inline void reset( void )
|
||||
inline void reset()
|
||||
{
|
||||
gettimeofday( &begin, NULL );
|
||||
}
|
||||
|
||||
inline int elapsed( void ) const
|
||||
inline int elapsed() const
|
||||
{
|
||||
struct timeval now;
|
||||
gettimeofday( &now, NULL );
|
||||
return( ( now.tv_sec - begin.tv_sec ) * 1000 * 1000 +
|
||||
( now.tv_usec - begin.tv_usec ) );
|
||||
return ( now.tv_sec - begin.tv_sec ) * 1000 * 1000 +
|
||||
( now.tv_usec - begin.tv_usec );
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_alsa_raw.h - midi-client for RawMIDI via ALSA
|
||||
* MidiAlsaRaw.h - midi-client for RawMIDI via ALSA
|
||||
*
|
||||
* 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
|
||||
@@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_ALSA_RAW_H
|
||||
#define _MIDI_ALSA_RAW_H
|
||||
|
||||
@@ -34,36 +33,36 @@
|
||||
|
||||
#include <QtCore/QThread>
|
||||
|
||||
#include "midi_client.h"
|
||||
#include "MidiClient.h"
|
||||
|
||||
|
||||
struct pollfd;
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class midiALSARaw : public midiClientRaw, public QThread
|
||||
class MidiAlsaRaw : public MidiClientRaw , public QThread
|
||||
{
|
||||
public:
|
||||
midiALSARaw( void );
|
||||
virtual ~midiALSARaw();
|
||||
MidiAlsaRaw();
|
||||
virtual ~MidiAlsaRaw();
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"ALSA Raw-MIDI (Advanced Linux Sound Architecture)" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"ALSA Raw-MIDI (Advanced Linux Sound Architecture)" );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public midiClientRaw::setupWidget
|
||||
class setupWidget : public MidiClientRaw::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -73,7 +72,7 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void sendByte( const Uint8 _c );
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
|
||||
private:
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_alsa_seq.h - ALSA-sequencer-client
|
||||
* MidiAlsaSeq.h - ALSA-sequencer-client
|
||||
*
|
||||
* Copyright (c) 2005-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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_ALSA_SEQ_H
|
||||
#define _MIDI_ALSA_SEQ_H
|
||||
|
||||
@@ -36,60 +35,60 @@
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
|
||||
#include "midi_client.h"
|
||||
#include "MidiClient.h"
|
||||
|
||||
|
||||
struct pollfd;
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class midiALSASeq : public QThread, public midiClient
|
||||
class MidiAlsaSeq : public QThread, public MidiClient
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
midiALSASeq( void );
|
||||
virtual ~midiALSASeq();
|
||||
MidiAlsaSeq();
|
||||
virtual ~MidiAlsaSeq();
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
return QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"ALSA-Sequencer (Advanced Linux Sound "
|
||||
"Architecture)" ) );
|
||||
"Architecture)" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
virtual void processOutEvent( const midiEvent & _me,
|
||||
const midiTime & _time,
|
||||
const midiPort * _port );
|
||||
const MidiPort * _port );
|
||||
|
||||
virtual void applyPortMode( midiPort * _port );
|
||||
virtual void applyPortName( midiPort * _port );
|
||||
virtual void applyPortMode( MidiPort * _port );
|
||||
virtual void applyPortName( MidiPort * _port );
|
||||
|
||||
virtual void removePort( midiPort * _port );
|
||||
virtual void removePort( MidiPort * _port );
|
||||
|
||||
|
||||
// list seq-ports from ALSA
|
||||
virtual QStringList readablePorts( void ) const
|
||||
virtual QStringList readablePorts() const
|
||||
{
|
||||
return m_readablePorts;
|
||||
}
|
||||
|
||||
virtual QStringList writablePorts( void ) const
|
||||
virtual QStringList writablePorts() const
|
||||
{
|
||||
return m_writablePorts;
|
||||
}
|
||||
|
||||
// (un)subscribe given midiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( midiPort * _port,
|
||||
// (un)subscribe given MidiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
virtual void subscribeWritablePort( midiPort * _port,
|
||||
bool _subscribe = true );
|
||||
virtual void subscribeWritablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
bool _subscribe = true );
|
||||
virtual void connectRPChanged( QObject * _receiver,
|
||||
const char * _member )
|
||||
{
|
||||
@@ -105,13 +104,13 @@ public:
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public midiClient::setupWidget
|
||||
class setupWidget : public MidiClient::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -121,21 +120,21 @@ public:
|
||||
|
||||
private slots:
|
||||
void changeQueueTempo( bpm_t _bpm );
|
||||
void updatePortList( void );
|
||||
void updatePortList();
|
||||
|
||||
|
||||
private:
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
#ifdef LMMS_HAVE_ALSA
|
||||
snd_seq_t * m_seqHandle;
|
||||
struct ports
|
||||
struct Ports
|
||||
{
|
||||
ports() { p[0] = -1; p[1] = -1; }
|
||||
int & operator[]( const int _i ) { return( p[_i] ); }
|
||||
Ports() { p[0] = -1; p[1] = -1; }
|
||||
int & operator[]( const int _i ) { return p[_i]; }
|
||||
private: int p[2];
|
||||
} ;
|
||||
QMap<midiPort *, ports> m_portIDs;
|
||||
QMap<MidiPort *, Ports> m_portIDs;
|
||||
#endif
|
||||
|
||||
int m_queueID;
|
||||
@@ -150,8 +149,8 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void readablePortsChanged( void );
|
||||
void writablePortsChanged( void );
|
||||
void readablePortsChanged();
|
||||
void writablePortsChanged();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_client.h - base-class for MIDI-clients like ALSA-sequencer-client
|
||||
* MidiClient.h - base-class for MIDI clients like ALSA-sequencer-client
|
||||
*
|
||||
* Copyright (c) 2005-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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_CLIENT_H
|
||||
#define _MIDI_CLIENT_H
|
||||
|
||||
@@ -31,60 +30,60 @@
|
||||
|
||||
|
||||
#include "midi.h"
|
||||
#include "midi_event_processor.h"
|
||||
#include "MidiEventProcessor.h"
|
||||
#include "tab_widget.h"
|
||||
|
||||
|
||||
class midiPort;
|
||||
class MidiPort;
|
||||
|
||||
|
||||
// base-class for all MIDI-clients
|
||||
class midiClient
|
||||
class MidiClient
|
||||
{
|
||||
public:
|
||||
midiClient( void );
|
||||
virtual ~midiClient();
|
||||
MidiClient();
|
||||
virtual ~MidiClient();
|
||||
|
||||
// to be implemented by sub-classes
|
||||
virtual void processOutEvent( const midiEvent & _me,
|
||||
const midiTime & _time,
|
||||
const midiPort * _port ) = 0;
|
||||
const MidiPort * _port ) = 0;
|
||||
|
||||
// inheriting classes can re-implement this for being able to update
|
||||
// their internal port-structures etc.
|
||||
virtual void applyPortMode( midiPort * _port );
|
||||
virtual void applyPortName( midiPort * _port );
|
||||
virtual void applyPortMode( MidiPort * _port );
|
||||
virtual void applyPortName( MidiPort * _port );
|
||||
|
||||
virtual void addPort( midiPort * _port );
|
||||
virtual void addPort( MidiPort * _port );
|
||||
|
||||
// re-implemented methods HAVE to call removePort() of base-class!!
|
||||
virtual void removePort( midiPort * _port );
|
||||
virtual void removePort( MidiPort * _port );
|
||||
|
||||
|
||||
// returns whether client works with raw-MIDI, only needs to be
|
||||
// re-implemented by midiClientRaw for returning TRUE
|
||||
virtual bool isRaw( void ) const
|
||||
// re-implemented by MidiClientRaw for returning true
|
||||
virtual bool isRaw() const
|
||||
{
|
||||
return( FALSE );
|
||||
return false;
|
||||
}
|
||||
|
||||
// if not raw-client, return all readable/writable ports
|
||||
virtual QStringList readablePorts( void ) const
|
||||
virtual QStringList readablePorts() const
|
||||
{
|
||||
return QStringList();
|
||||
}
|
||||
virtual QStringList writablePorts( void ) const
|
||||
virtual QStringList writablePorts() const
|
||||
{
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
// (un)subscribe given midiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( midiPort * _port,
|
||||
// (un)subscribe given MidiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
virtual void subscribeWritablePort( midiPort * _port,
|
||||
bool _subscribe = true );
|
||||
virtual void subscribeWritablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
bool _subscribe = true );
|
||||
|
||||
// qobject-derived classes can use this for make a slot being
|
||||
// connected to signal of non-raw-MIDI-client if port-lists change
|
||||
@@ -98,7 +97,7 @@ public:
|
||||
|
||||
// tries to open either MIDI-driver from config-file or (if it fails)
|
||||
// any other working
|
||||
static midiClient * openMidiClient( void );
|
||||
static MidiClient * openMidiClient();
|
||||
|
||||
|
||||
class setupWidget : public tabWidget
|
||||
@@ -115,9 +114,9 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual void saveSettings( void ) = 0;
|
||||
virtual void saveSettings() = 0;
|
||||
|
||||
virtual void show( void )
|
||||
virtual void show()
|
||||
{
|
||||
parentWidget()->show();
|
||||
QWidget::show();
|
||||
@@ -127,7 +126,7 @@ public:
|
||||
|
||||
|
||||
protected:
|
||||
QVector<midiPort *> m_midiPorts;
|
||||
QVector<MidiPort *> m_midiPorts;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -137,16 +136,16 @@ protected:
|
||||
const Uint8 RAW_MIDI_PARSE_BUF_SIZE = 16;
|
||||
|
||||
|
||||
class midiClientRaw : public midiClient
|
||||
class MidiClientRaw : public MidiClient
|
||||
{
|
||||
public:
|
||||
midiClientRaw( void );
|
||||
virtual ~midiClientRaw();
|
||||
MidiClientRaw();
|
||||
virtual ~MidiClientRaw();
|
||||
|
||||
// we are raw-clients for sure!
|
||||
virtual bool isRaw( void ) const
|
||||
virtual bool isRaw() const
|
||||
{
|
||||
return( TRUE );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -163,7 +162,7 @@ private:
|
||||
void processParsedEvent();
|
||||
virtual void processOutEvent( const midiEvent & _me,
|
||||
const midiTime & _time,
|
||||
const midiPort * _port );
|
||||
const MidiPort * _port );
|
||||
|
||||
// small helper function returning length of a certain event - this
|
||||
// is neccessary for parsing raw-MIDI-data
|
||||
@@ -29,11 +29,11 @@
|
||||
|
||||
#include "automatable_model.h"
|
||||
#include "Controller.h"
|
||||
#include "midi_event_processor.h"
|
||||
#include "midi_port.h"
|
||||
#include "MidiEventProcessor.h"
|
||||
#include "MidiPort.h"
|
||||
|
||||
|
||||
class midiPort;
|
||||
class MidiPort;
|
||||
|
||||
|
||||
class MidiController : public Controller, public MidiEventProcessor
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
virtual QString nodeName( void ) const;
|
||||
|
||||
// Used by controllerConnectionDialog to copy
|
||||
void subscribeReadablePorts( const midiPort::map & _map );
|
||||
void subscribeReadablePorts( const MidiPort::Map & _map );
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -70,7 +70,7 @@ protected:
|
||||
virtual float value( int _offset );
|
||||
|
||||
|
||||
midiPort m_midiPort;
|
||||
MidiPort m_midiPort;
|
||||
|
||||
|
||||
float m_lastValue;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_dummy.h - dummy MIDI-driver
|
||||
* MidiDummy.h - dummy MIDI-driver
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-2007 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,34 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_DUMMY_H
|
||||
#define _MIDI_DUMMY_H
|
||||
|
||||
|
||||
#include "midi_client.h"
|
||||
#include "MidiClient.h"
|
||||
|
||||
|
||||
class midiDummy : public midiClientRaw
|
||||
class MidiDummy : public MidiClientRaw
|
||||
{
|
||||
public:
|
||||
midiDummy( void )
|
||||
MidiDummy()
|
||||
{
|
||||
}
|
||||
virtual ~midiDummy()
|
||||
virtual ~MidiDummy()
|
||||
{
|
||||
}
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"Dummy (no MIDI support)" ) );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public midiClient::setupWidget
|
||||
class setupWidget : public MidiClient::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent ) :
|
||||
midiClientRaw::setupWidget( midiDummy::name(), _parent )
|
||||
MidiClientRaw::setupWidget( MidiDummy::name(), _parent )
|
||||
{
|
||||
}
|
||||
|
||||
@@ -59,11 +57,11 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual void saveSettings( void )
|
||||
virtual void saveSettings()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void show( void )
|
||||
virtual void show()
|
||||
{
|
||||
parentWidget()->hide();
|
||||
QWidget::show();
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* midi_event_processor.h - base-class for midi-processing classes
|
||||
* MidiEventProcessor.h - base-class for midi-processing classes
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_oss.h - OSS-raw-midi-client
|
||||
* MidiOss.h - OSS raw MIDI client
|
||||
*
|
||||
* Copyright (c) 2005-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-2007 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 _MIDI_OSS_H
|
||||
#define _MIDI_OSS_H
|
||||
|
||||
@@ -33,35 +32,35 @@
|
||||
#include <QtCore/QThread>
|
||||
#include <QtCore/QFile>
|
||||
|
||||
#include "midi_client.h"
|
||||
#include "MidiClient.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class midiOSS : public midiClientRaw, public QThread
|
||||
class MidiOss : public MidiClientRaw, public QThread
|
||||
{
|
||||
public:
|
||||
midiOSS( void );
|
||||
virtual ~midiOSS();
|
||||
MidiOss();
|
||||
virtual ~MidiOss();
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget",
|
||||
"OSS Raw-MIDI (Open Sound System)" ) );
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public midiClientRaw::setupWidget
|
||||
class setupWidget : public MidiClientRaw::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void );
|
||||
virtual void saveSettings();
|
||||
|
||||
private:
|
||||
QLineEdit * m_device;
|
||||
@@ -71,7 +70,7 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void sendByte( const Uint8 _c );
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
|
||||
private:
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* midi_port.h - abstraction of MIDI-ports which are part of LMMS's MIDI-
|
||||
* sequencing system
|
||||
* MidiPort.h - abstraction of MIDI ports which are part of LMMS's MIDI-
|
||||
* sequencing system
|
||||
*
|
||||
* Copyright (c) 2005-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 _MIDI_PORT_H
|
||||
#define _MIDI_PORT_H
|
||||
|
||||
@@ -35,14 +34,14 @@
|
||||
#include "automatable_model.h"
|
||||
|
||||
|
||||
class midiClient;
|
||||
class MidiClient;
|
||||
class MidiEventProcessor;
|
||||
class midiPortMenu;
|
||||
class MidiPortMenu;
|
||||
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,
|
||||
@@ -62,7 +61,7 @@ class midiPort : public model, public serializingObject
|
||||
mapPropertyFromModel(bool,isReadable,setReadable,m_readableModel);
|
||||
mapPropertyFromModel(bool,isWritable,setWritable,m_writableModel);
|
||||
public:
|
||||
typedef QMap<QString, bool> map;
|
||||
typedef QMap<QString, bool> Map;
|
||||
|
||||
enum Modes
|
||||
{
|
||||
@@ -72,12 +71,12 @@ public:
|
||||
Duplex // both directions
|
||||
} ;
|
||||
|
||||
midiPort( const QString & _name,
|
||||
midiClient * _mc,
|
||||
MidiPort( const QString & _name,
|
||||
MidiClient * _mc,
|
||||
MidiEventProcessor * _mep,
|
||||
model * _parent = NULL,
|
||||
Modes _mode = Disabled );
|
||||
virtual ~midiPort();
|
||||
virtual ~MidiPort();
|
||||
|
||||
void setName( const QString & _name );
|
||||
|
||||
@@ -120,18 +119,18 @@ public:
|
||||
void subscribeWritablePort( const QString & _port,
|
||||
bool _subscribe = TRUE );
|
||||
|
||||
const map & readablePorts() const
|
||||
const Map & readablePorts() const
|
||||
{
|
||||
return m_readablePorts;
|
||||
}
|
||||
|
||||
const map & writablePorts() const
|
||||
const Map & writablePorts() const
|
||||
{
|
||||
return m_writablePorts;
|
||||
}
|
||||
|
||||
midiPortMenu * m_readablePortsMenu;
|
||||
midiPortMenu * m_writablePortsMenu;
|
||||
MidiPortMenu * m_readablePortsMenu;
|
||||
MidiPortMenu * m_writablePortsMenu;
|
||||
|
||||
|
||||
public slots:
|
||||
@@ -145,7 +144,7 @@ private slots:
|
||||
|
||||
|
||||
private:
|
||||
midiClient * m_midiClient;
|
||||
MidiClient * m_midiClient;
|
||||
MidiEventProcessor * m_midiEventProcessor;
|
||||
|
||||
Modes m_mode;
|
||||
@@ -160,8 +159,8 @@ private:
|
||||
boolModel m_readableModel;
|
||||
boolModel m_writableModel;
|
||||
|
||||
map m_readablePorts;
|
||||
map m_writablePorts;
|
||||
Map m_readablePorts;
|
||||
Map m_writablePorts;
|
||||
|
||||
|
||||
friend class ControllerConnectionDialog;
|
||||
@@ -177,7 +176,7 @@ signals:
|
||||
} ;
|
||||
|
||||
|
||||
typedef QList<midiPort *> midiPortList;
|
||||
typedef QList<MidiPort *> MidiPortList;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* midi_port_menu.h - a menu for subscribing a midiPort to several external
|
||||
* MIDI ports
|
||||
* MidiPortMenu.h - a menu for subscribing a MidiPort to several external
|
||||
* MIDI ports
|
||||
*
|
||||
* 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
|
||||
@@ -23,36 +23,35 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_PORT_MENU_H
|
||||
#define _MIDI_PORT_MENU_H
|
||||
|
||||
#include <QtGui/QMenu>
|
||||
|
||||
#include "mv_base.h"
|
||||
#include "midi_port.h"
|
||||
#include "MidiPort.h"
|
||||
|
||||
|
||||
class QAction;
|
||||
|
||||
|
||||
class midiPortMenu : public QMenu, public modelView
|
||||
class MidiPortMenu : public QMenu, public modelView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
midiPortMenu( midiPort::Modes _mode );
|
||||
virtual ~midiPortMenu();
|
||||
MidiPortMenu( MidiPort::Modes _mode );
|
||||
virtual ~MidiPortMenu();
|
||||
|
||||
|
||||
protected slots:
|
||||
void activatedPort( QAction * _item );
|
||||
void updatePorts( void );
|
||||
void updatePorts();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
midiPort::Modes m_mode;
|
||||
MidiPort::Modes m_mode;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* midi_winmm.h - WinMM MIDI client
|
||||
* MidiWinMM.h - WinMM MIDI client
|
||||
*
|
||||
* 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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIDI_WINMM_H
|
||||
#define _MIDI_WINMM_H
|
||||
|
||||
@@ -33,58 +32,58 @@
|
||||
#include <mmsystem.h>
|
||||
#endif
|
||||
|
||||
#include "midi_client.h"
|
||||
#include "midi_port.h"
|
||||
#include "MidiClient.h"
|
||||
#include "MidiPort.h"
|
||||
|
||||
|
||||
class QLineEdit;
|
||||
|
||||
|
||||
class midiWinMM : public QObject, public midiClient
|
||||
class MidiWinMM : public QObject, public MidiClient
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
midiWinMM( void );
|
||||
virtual ~midiWinMM();
|
||||
MidiWinMM();
|
||||
virtual ~MidiWinMM();
|
||||
|
||||
static QString probeDevice( void );
|
||||
static QString probeDevice();
|
||||
|
||||
|
||||
inline static QString name( void )
|
||||
inline static QString name()
|
||||
{
|
||||
return( QT_TRANSLATE_NOOP( "setupWidget", "WinMM MIDI" ) );
|
||||
return QT_TRANSLATE_NOOP( "setupWidget", "WinMM MIDI" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
virtual void processOutEvent( const midiEvent & _me,
|
||||
const midiTime & _time,
|
||||
const midiPort * _port );
|
||||
const MidiPort * _port );
|
||||
|
||||
virtual void applyPortMode( midiPort * _port );
|
||||
virtual void removePort( midiPort * _port );
|
||||
virtual void applyPortMode( MidiPort * _port );
|
||||
virtual void removePort( MidiPort * _port );
|
||||
|
||||
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
// list devices as ports
|
||||
virtual QStringList readablePorts( void ) const
|
||||
virtual QStringList readablePorts() const
|
||||
{
|
||||
return( m_inputDevices.values() );
|
||||
return m_inputDevices.values();
|
||||
}
|
||||
|
||||
virtual QStringList writeblePorts( void ) const
|
||||
virtual QStringList writeblePorts() const
|
||||
{
|
||||
return( m_outputDevices.values() );
|
||||
return m_outputDevices.values();
|
||||
}
|
||||
#endif
|
||||
|
||||
// (un)subscribe given midiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( midiPort * _port,
|
||||
// (un)subscribe given MidiPort to/from destination-port
|
||||
virtual void subscribeReadablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
virtual void subscribeWritablePort( midiPort * _port,
|
||||
bool _subscribe = true );
|
||||
virtual void subscribeWritablePort( MidiPort * _port,
|
||||
const QString & _dest,
|
||||
bool _subscribe = TRUE );
|
||||
bool _subscribe = true );
|
||||
virtual void connectRPChanged( QObject * _receiver,
|
||||
const char * _member )
|
||||
{
|
||||
@@ -99,19 +98,19 @@ public:
|
||||
_receiver, _member );
|
||||
}
|
||||
|
||||
virtual bool isRaw( void ) const
|
||||
virtual bool isRaw() const
|
||||
{
|
||||
return( FALSE );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
class setupWidget : public midiClient::setupWidget
|
||||
class setupWidget : public MidiClient::setupWidget
|
||||
{
|
||||
public:
|
||||
setupWidget( QWidget * _parent );
|
||||
virtual ~setupWidget();
|
||||
|
||||
virtual void saveSettings( void )
|
||||
virtual void saveSettings()
|
||||
{
|
||||
}
|
||||
|
||||
@@ -119,12 +118,12 @@ public:
|
||||
|
||||
|
||||
private:// slots:
|
||||
void updateDeviceList( void );
|
||||
void updateDeviceList();
|
||||
|
||||
|
||||
private:
|
||||
void openDevices( void );
|
||||
void closeDevices( void );
|
||||
void openDevices();
|
||||
void closeDevices();
|
||||
|
||||
#ifdef LMMS_BUILD_WIN32
|
||||
static void WINAPI CALLBACK inputCallback( HMIDIIN _hm, UINT _msg,
|
||||
@@ -138,14 +137,14 @@ private:
|
||||
#endif
|
||||
|
||||
// subscriptions
|
||||
typedef QMap<QString, midiPortList> subMap;
|
||||
subMap m_inputSubs;
|
||||
subMap m_outputSubs;
|
||||
typedef QMap<QString, MidiPortList> SubMap;
|
||||
SubMap m_inputSubs;
|
||||
SubMap m_outputSubs;
|
||||
|
||||
|
||||
signals:
|
||||
void readablePortsChanged( void );
|
||||
void writablePortsChanged( void );
|
||||
void readablePortsChanged();
|
||||
void writablePortsChanged();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* project_renderer.h - projectRenderer-class for easily rendering projects
|
||||
* ProjectRenderer.h - ProjectRenderer class for easily rendering projects
|
||||
*
|
||||
* 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
|
||||
@@ -25,11 +25,11 @@
|
||||
#ifndef _PROJECT_RENDERER_H
|
||||
#define _PROJECT_RENDERER_H
|
||||
|
||||
#include "audio_file_device.h"
|
||||
#include "AudioFileDevice.h"
|
||||
#include "lmmsconfig.h"
|
||||
|
||||
|
||||
class projectRenderer : public QThread
|
||||
class ProjectRenderer : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
@@ -47,14 +47,14 @@ public:
|
||||
NumDepths
|
||||
} ;
|
||||
|
||||
struct outputSettings
|
||||
struct OutputSettings
|
||||
{
|
||||
sample_rate_t samplerate;
|
||||
bool vbr;
|
||||
int bitrate;
|
||||
Depths depth;
|
||||
|
||||
outputSettings( sample_rate_t _sr, bool _vbr, int _bitrate,
|
||||
OutputSettings( sample_rate_t _sr, bool _vbr, int _bitrate,
|
||||
Depths _d ) :
|
||||
samplerate( _sr ),
|
||||
vbr( _vbr ),
|
||||
@@ -65,13 +65,13 @@ public:
|
||||
} ;
|
||||
|
||||
|
||||
projectRenderer( const mixer::qualitySettings & _qs,
|
||||
const outputSettings & _os,
|
||||
ProjectRenderer( const mixer::qualitySettings & _qs,
|
||||
const OutputSettings & _os,
|
||||
ExportFileFormats _file_format,
|
||||
const QString & _out_file );
|
||||
virtual ~projectRenderer();
|
||||
virtual ~ProjectRenderer();
|
||||
|
||||
bool isReady( void ) const
|
||||
bool isReady() const
|
||||
{
|
||||
return m_fileDev != NULL;
|
||||
}
|
||||
@@ -81,10 +81,10 @@ public:
|
||||
|
||||
|
||||
public slots:
|
||||
void startProcessing( void );
|
||||
void abortProcessing( void );
|
||||
void startProcessing();
|
||||
void abortProcessing();
|
||||
|
||||
void updateConsoleProgress( void );
|
||||
void updateConsoleProgress();
|
||||
|
||||
|
||||
signals:
|
||||
@@ -92,9 +92,9 @@ signals:
|
||||
|
||||
|
||||
private:
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
audioFileDevice * m_fileDev;
|
||||
AudioFileDevice * m_fileDev;
|
||||
mixer::qualitySettings m_qualitySettings;
|
||||
mixer::qualitySettings m_oldQualitySettings;
|
||||
|
||||
@@ -104,15 +104,15 @@ private:
|
||||
} ;
|
||||
|
||||
|
||||
struct fileEncodeDevice
|
||||
struct FileEncodeDevice
|
||||
{
|
||||
projectRenderer::ExportFileFormats m_fileFormat;
|
||||
ProjectRenderer::ExportFileFormats m_fileFormat;
|
||||
const char * m_description;
|
||||
const char * m_extension;
|
||||
audioFileDeviceInstantiaton m_getDevInst;
|
||||
AudioFileDeviceInstantiaton m_getDevInst;
|
||||
} ;
|
||||
|
||||
|
||||
extern fileEncodeDevice __fileEncodeDevices[];
|
||||
extern FileEncodeDevice __fileEncodeDevices[];
|
||||
|
||||
#endif
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "ui_export_project.h"
|
||||
|
||||
class projectRenderer;
|
||||
class ProjectRenderer;
|
||||
|
||||
|
||||
class exportProjectDialog : public QDialog, public Ui::ExportProjectDialog
|
||||
@@ -54,7 +54,7 @@ private slots:
|
||||
|
||||
private:
|
||||
QString m_fileName;
|
||||
projectRenderer * m_renderer;
|
||||
ProjectRenderer * m_renderer;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* which holds an instrument-plugin
|
||||
*
|
||||
* 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,17 +23,16 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INSTRUMENT_TRACK_H
|
||||
#define _INSTRUMENT_TRACK_H
|
||||
|
||||
#include <QtGui/QPushButton>
|
||||
|
||||
#include "audio_port.h"
|
||||
#include "AudioPort.h"
|
||||
#include "instrument_functions.h"
|
||||
#include "instrument_sound_shaping.h"
|
||||
#include "midi_event_processor.h"
|
||||
#include "midi_port.h"
|
||||
#include "MidiEventProcessor.h"
|
||||
#include "MidiPort.h"
|
||||
#include "note_play_handle.h"
|
||||
#include "piano.h"
|
||||
#include "track.h"
|
||||
@@ -86,13 +85,13 @@ public:
|
||||
// filter and so on
|
||||
void playNote( notePlayHandle * _n, sampleFrame * _working_buffer );
|
||||
|
||||
QString instrumentName( void ) const;
|
||||
inline const instrument * getInstrument( void ) const
|
||||
QString instrumentName() const;
|
||||
inline const instrument * getInstrument() const
|
||||
{
|
||||
return m_instrument;
|
||||
}
|
||||
|
||||
inline instrument * getInstrument( void )
|
||||
inline instrument * getInstrument()
|
||||
{
|
||||
return m_instrument;
|
||||
}
|
||||
@@ -107,7 +106,7 @@ public:
|
||||
int masterKey( int _midi_key ) const;
|
||||
|
||||
// translate pitch to midi-pitch [0,16383]
|
||||
inline int midiPitch( void ) const
|
||||
inline int midiPitch() const
|
||||
{
|
||||
return (int)( ( m_pitchModel.value()+100 ) * 16383 ) / 200;
|
||||
}
|
||||
@@ -134,27 +133,27 @@ public:
|
||||
// load instrument whose name matches given one
|
||||
instrument * loadInstrument( const QString & _instrument_name );
|
||||
|
||||
inline audioPort * getAudioPort( void )
|
||||
inline AudioPort * audioPort()
|
||||
{
|
||||
return &m_audioPort;
|
||||
}
|
||||
|
||||
inline midiPort * getMidiPort( void )
|
||||
inline MidiPort * midiPort()
|
||||
{
|
||||
return &m_midiPort;
|
||||
}
|
||||
|
||||
intModel * baseNoteModel( void )
|
||||
intModel * baseNoteModel()
|
||||
{
|
||||
return &m_baseNoteModel;
|
||||
}
|
||||
|
||||
piano * getPiano( void )
|
||||
piano * getPiano()
|
||||
{
|
||||
return &m_piano;
|
||||
}
|
||||
|
||||
bool arpeggiatorEnabled( void ) const
|
||||
bool arpeggiatorEnabled() const
|
||||
{
|
||||
return m_arpeggiator.m_arpEnabledModel.value();
|
||||
}
|
||||
@@ -162,50 +161,50 @@ public:
|
||||
// simple helper for removing midiport-XML-node when loading presets
|
||||
static void removeMidiPortNode( multimediaProject & _mmp );
|
||||
|
||||
floatModel * pitchModel( void )
|
||||
floatModel * pitchModel()
|
||||
{
|
||||
return &m_pitchModel;
|
||||
}
|
||||
|
||||
floatModel * volumeModel( void )
|
||||
floatModel * volumeModel()
|
||||
{
|
||||
return &m_volumeModel;
|
||||
}
|
||||
|
||||
floatModel * panningModel( void )
|
||||
floatModel * panningModel()
|
||||
{
|
||||
return &m_panningModel;
|
||||
}
|
||||
|
||||
intModel * effectChannelModel( void )
|
||||
intModel * effectChannelModel()
|
||||
{
|
||||
return &m_effectChannelModel;
|
||||
}
|
||||
|
||||
|
||||
signals:
|
||||
void instrumentChanged( void );
|
||||
void newNote( void );
|
||||
void instrumentChanged();
|
||||
void newNote();
|
||||
void noteOn( const note & _n );
|
||||
void noteOff( const note & _n );
|
||||
void nameChanged( void );
|
||||
void nameChanged();
|
||||
|
||||
|
||||
protected:
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return "instrumenttrack";
|
||||
}
|
||||
|
||||
|
||||
protected slots:
|
||||
void updateBaseNote( void );
|
||||
void updatePitch( void );
|
||||
void updateBaseNote();
|
||||
void updatePitch();
|
||||
|
||||
|
||||
private:
|
||||
audioPort m_audioPort;
|
||||
midiPort m_midiPort;
|
||||
AudioPort m_audioPort;
|
||||
MidiPort m_midiPort;
|
||||
|
||||
notePlayHandle * m_notes[NumKeys];
|
||||
int m_runningMidiNotes[NumKeys];
|
||||
@@ -245,27 +244,27 @@ public:
|
||||
instrumentTrackView( instrumentTrack * _it, trackContainerView * _tc );
|
||||
virtual ~instrumentTrackView();
|
||||
|
||||
instrumentTrackWindow * getInstrumentTrackWindow( void );
|
||||
instrumentTrackWindow * getInstrumentTrackWindow();
|
||||
|
||||
instrumentTrack * model( void )
|
||||
instrumentTrack * model()
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
}
|
||||
|
||||
const instrumentTrack * model( void ) const
|
||||
const instrumentTrack * model() const
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
}
|
||||
|
||||
|
||||
QMenu * midiMenu( void )
|
||||
QMenu * midiMenu()
|
||||
{
|
||||
return m_midiMenu;
|
||||
}
|
||||
|
||||
void freeInstrumentTrackWindow( void );
|
||||
void freeInstrumentTrackWindow();
|
||||
|
||||
static void cleanupWindowPool( void );
|
||||
static void cleanupWindowPool();
|
||||
|
||||
|
||||
protected:
|
||||
@@ -275,12 +274,12 @@ protected:
|
||||
|
||||
private slots:
|
||||
void toggleInstrumentWindow( bool _on );
|
||||
void activityIndicatorPressed( void );
|
||||
void activityIndicatorReleased( void );
|
||||
void activityIndicatorPressed();
|
||||
void activityIndicatorReleased();
|
||||
|
||||
void midiInSelected( void );
|
||||
void midiOutSelected( void );
|
||||
void midiConfigChanged( void );
|
||||
void midiInSelected();
|
||||
void midiOutSelected();
|
||||
void midiConfigChanged();
|
||||
|
||||
|
||||
private:
|
||||
@@ -318,17 +317,17 @@ public:
|
||||
virtual ~instrumentTrackWindow();
|
||||
|
||||
// parent for all internal tab-widgets
|
||||
tabWidget * tabWidgetParent( void )
|
||||
tabWidget * tabWidgetParent()
|
||||
{
|
||||
return m_tabWidget;
|
||||
}
|
||||
|
||||
instrumentTrack * model( void )
|
||||
instrumentTrack * model()
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
}
|
||||
|
||||
const instrumentTrack * model( void ) const
|
||||
const instrumentTrack * model() const
|
||||
{
|
||||
return castModel<instrumentTrack>();
|
||||
}
|
||||
@@ -347,8 +346,8 @@ public:
|
||||
public slots:
|
||||
void textChanged( const QString & _new_name );
|
||||
void toggleVisibility( bool _on );
|
||||
void updateName( void );
|
||||
void updateInstrumentView( void );
|
||||
void updateName();
|
||||
void updateInstrumentView();
|
||||
|
||||
|
||||
protected:
|
||||
@@ -361,11 +360,11 @@ protected:
|
||||
|
||||
|
||||
protected slots:
|
||||
void saveSettingsBtnClicked( void );
|
||||
void saveSettingsBtnClicked();
|
||||
|
||||
|
||||
private:
|
||||
virtual void modelChanged( void );
|
||||
virtual void modelChanged();
|
||||
|
||||
instrumentTrack * m_track;
|
||||
instrumentTrackView * m_itv;
|
||||
|
||||
105
include/mixer.h
105
include/mixer.h
@@ -2,7 +2,7 @@
|
||||
* mixer.h - audio-device-independent mixer for LMMS
|
||||
*
|
||||
* 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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIXER_H
|
||||
#define _MIXER_H
|
||||
|
||||
@@ -50,9 +49,9 @@
|
||||
#include "fifo_buffer.h"
|
||||
|
||||
|
||||
class audioDevice;
|
||||
class midiClient;
|
||||
class audioPort;
|
||||
class AudioDevice;
|
||||
class MidiClient;
|
||||
class AudioPort;
|
||||
|
||||
|
||||
const fpp_t DEFAULT_BUFFER_SIZE = 256;
|
||||
@@ -145,7 +144,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
int sampleRateMultiplier( void ) const
|
||||
int sampleRateMultiplier() const
|
||||
{
|
||||
switch( oversampling )
|
||||
{
|
||||
@@ -157,7 +156,7 @@ public:
|
||||
return 1;
|
||||
}
|
||||
|
||||
int libsrcInterpolation( void ) const
|
||||
int libsrcInterpolation() const
|
||||
{
|
||||
switch( interpolation )
|
||||
{
|
||||
@@ -174,45 +173,45 @@ public:
|
||||
}
|
||||
} ;
|
||||
|
||||
void initDevices( void );
|
||||
void clear( void );
|
||||
void initDevices();
|
||||
void clear();
|
||||
|
||||
|
||||
// audio-device-stuff
|
||||
inline const QString & audioDevName( void ) const
|
||||
inline const QString & audioDevName() const
|
||||
{
|
||||
return m_audioDevName;
|
||||
}
|
||||
|
||||
void setAudioDevice( audioDevice * _dev );
|
||||
void setAudioDevice( audioDevice * _dev,
|
||||
void setAudioDevice( AudioDevice * _dev );
|
||||
void setAudioDevice( AudioDevice * _dev,
|
||||
const struct qualitySettings & _qs,
|
||||
bool _needs_fifo );
|
||||
void restoreAudioDevice( void );
|
||||
inline audioDevice * audioDev( void )
|
||||
void restoreAudioDevice();
|
||||
inline AudioDevice * audioDev()
|
||||
{
|
||||
return m_audioDev;
|
||||
}
|
||||
|
||||
|
||||
// audio-port-stuff
|
||||
inline void addAudioPort( audioPort * _port )
|
||||
inline void addAudioPort( AudioPort * _port )
|
||||
{
|
||||
lock();
|
||||
m_audioPorts.push_back( _port );
|
||||
unlock();
|
||||
}
|
||||
|
||||
void removeAudioPort( audioPort * _port );
|
||||
void removeAudioPort( AudioPort * _port );
|
||||
|
||||
|
||||
// MIDI-client-stuff
|
||||
inline const QString & midiClientName( void ) const
|
||||
inline const QString & midiClientName() const
|
||||
{
|
||||
return m_midiClientName;
|
||||
}
|
||||
|
||||
inline midiClient * getMidiClient( void )
|
||||
inline MidiClient * midiClient()
|
||||
{
|
||||
return m_midiClient;
|
||||
}
|
||||
@@ -234,49 +233,49 @@ public:
|
||||
|
||||
void removePlayHandle( playHandle * _ph );
|
||||
|
||||
inline PlayHandleList & playHandles( void )
|
||||
inline PlayHandleList & playHandles()
|
||||
{
|
||||
return m_playHandles;
|
||||
}
|
||||
|
||||
void removePlayHandles( track * _track );
|
||||
|
||||
inline bool hasPlayHandles( void ) const
|
||||
inline bool hasPlayHandles() const
|
||||
{
|
||||
return !m_playHandles.empty();
|
||||
}
|
||||
|
||||
|
||||
// methods providing information for other classes
|
||||
inline fpp_t framesPerPeriod( void ) const
|
||||
inline fpp_t framesPerPeriod() const
|
||||
{
|
||||
return m_framesPerPeriod;
|
||||
}
|
||||
|
||||
inline const surroundSampleFrame * currentReadBuffer( void ) const
|
||||
inline const surroundSampleFrame * currentReadBuffer() const
|
||||
{
|
||||
return m_readBuf;
|
||||
}
|
||||
|
||||
|
||||
inline int cpuLoad( void ) const
|
||||
inline int cpuLoad() const
|
||||
{
|
||||
return m_cpuLoad;
|
||||
}
|
||||
|
||||
const qualitySettings & currentQualitySettings( void ) const
|
||||
const qualitySettings & currentQualitySettings() const
|
||||
{
|
||||
return m_qualitySettings;
|
||||
}
|
||||
|
||||
|
||||
sample_rate_t baseSampleRate( void ) const;
|
||||
sample_rate_t outputSampleRate( void ) const;
|
||||
sample_rate_t inputSampleRate( void ) const;
|
||||
sample_rate_t processingSampleRate( void ) const;
|
||||
sample_rate_t baseSampleRate() const;
|
||||
sample_rate_t outputSampleRate() const;
|
||||
sample_rate_t inputSampleRate() const;
|
||||
sample_rate_t processingSampleRate() const;
|
||||
|
||||
|
||||
inline float masterGain( void ) const
|
||||
inline float masterGain() const
|
||||
{
|
||||
return m_masterGain;
|
||||
}
|
||||
@@ -302,22 +301,22 @@ public:
|
||||
|
||||
|
||||
// methods needed by other threads to alter knob values, waveforms, etc
|
||||
void lock( void )
|
||||
void lock()
|
||||
{
|
||||
m_globalMutex.lock();
|
||||
}
|
||||
|
||||
void unlock( void )
|
||||
void unlock()
|
||||
{
|
||||
m_globalMutex.unlock();
|
||||
}
|
||||
|
||||
void lockInputFrames( void )
|
||||
void lockInputFrames()
|
||||
{
|
||||
m_inputFramesMutex.lock();
|
||||
}
|
||||
|
||||
void unlockInputFrames( void )
|
||||
void unlockInputFrames()
|
||||
{
|
||||
m_inputFramesMutex.unlock();
|
||||
}
|
||||
@@ -327,7 +326,7 @@ public:
|
||||
const fpp_t _frames,
|
||||
const f_cnt_t _offset,
|
||||
stereoVolumeVector _volume_vector,
|
||||
audioPort * _port );
|
||||
AudioPort * _port );
|
||||
|
||||
static void clearAudioBuffer( sampleFrame * _ab,
|
||||
const f_cnt_t _frames,
|
||||
@@ -342,26 +341,26 @@ public:
|
||||
static float peakValueRight( sampleFrame * _ab, const f_cnt_t _frames );
|
||||
|
||||
|
||||
bool criticalXRuns( void ) const;
|
||||
bool criticalXRuns() const;
|
||||
|
||||
inline bool hasFifoWriter( void ) const
|
||||
inline bool hasFifoWriter() const
|
||||
{
|
||||
return m_fifoWriter != NULL;
|
||||
}
|
||||
|
||||
void pushInputFrames( sampleFrame * _ab, const f_cnt_t _frames );
|
||||
|
||||
inline const sampleFrame * inputBuffer( void )
|
||||
inline const sampleFrame * inputBuffer()
|
||||
{
|
||||
return m_inputBuffer[ m_inputBufferRead ];
|
||||
}
|
||||
|
||||
inline f_cnt_t inputBufferFrames( void ) const
|
||||
inline f_cnt_t inputBufferFrames() const
|
||||
{
|
||||
return m_inputBufferFrames[ m_inputBufferRead ];
|
||||
}
|
||||
|
||||
inline const surroundSampleFrame * nextBuffer( void )
|
||||
inline const surroundSampleFrame * nextBuffer()
|
||||
{
|
||||
return hasFifoWriter() ? m_fifo->read() : renderNextBuffer();
|
||||
}
|
||||
@@ -370,9 +369,9 @@ public:
|
||||
|
||||
|
||||
signals:
|
||||
void qualitySettingsChanged( void );
|
||||
void sampleRateChanged( void );
|
||||
void nextAudioBuffer( void );
|
||||
void qualitySettingsChanged();
|
||||
void sampleRateChanged();
|
||||
void nextAudioBuffer();
|
||||
|
||||
|
||||
private:
|
||||
@@ -383,7 +382,7 @@ private:
|
||||
public:
|
||||
fifoWriter( mixer * _mixer, fifo * _fifo );
|
||||
|
||||
void finish( void );
|
||||
void finish();
|
||||
|
||||
|
||||
private:
|
||||
@@ -391,27 +390,27 @@ private:
|
||||
fifo * m_fifo;
|
||||
volatile bool m_writing;
|
||||
|
||||
virtual void run( void );
|
||||
virtual void run();
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
mixer( void );
|
||||
mixer();
|
||||
virtual ~mixer();
|
||||
|
||||
void startProcessing( bool _needs_fifo = true );
|
||||
void stopProcessing( void );
|
||||
void stopProcessing();
|
||||
|
||||
|
||||
audioDevice * tryAudioDevices( void );
|
||||
midiClient * tryMidiClients( void );
|
||||
AudioDevice * tryAudioDevices();
|
||||
MidiClient * tryMidiClients();
|
||||
|
||||
|
||||
const surroundSampleFrame * renderNextBuffer( void );
|
||||
const surroundSampleFrame * renderNextBuffer();
|
||||
|
||||
|
||||
|
||||
QVector<audioPort *> m_audioPorts;
|
||||
QVector<AudioPort *> m_audioPorts;
|
||||
|
||||
fpp_t m_framesPerPeriod;
|
||||
|
||||
@@ -450,12 +449,12 @@ private:
|
||||
float m_masterGain;
|
||||
|
||||
|
||||
audioDevice * m_audioDev;
|
||||
audioDevice * m_oldAudioDev;
|
||||
AudioDevice * m_audioDev;
|
||||
AudioDevice * m_oldAudioDev;
|
||||
QString m_audioDevName;
|
||||
|
||||
|
||||
midiClient * m_midiClient;
|
||||
MidiClient * m_midiClient;
|
||||
QString m_midiClientName;
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ class bbTrack;
|
||||
class pattern;
|
||||
class sampleTCO;
|
||||
class track;
|
||||
class audioPort;
|
||||
class AudioPort;
|
||||
|
||||
|
||||
class samplePlayHandle : public playHandle
|
||||
@@ -85,7 +85,7 @@ private:
|
||||
f_cnt_t m_frame;
|
||||
sampleBuffer::handleState m_state;
|
||||
|
||||
audioPort * m_audioPort;
|
||||
AudioPort * m_audioPort;
|
||||
const bool m_ownAudioPort;
|
||||
|
||||
floatModel m_defaultVolumeModel;
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
* sample_track.h - class sampleTrack, a track which provides arrangement of
|
||||
* samples
|
||||
*
|
||||
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-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,13 +23,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _SAMPLE_TRACK_H
|
||||
#define _SAMPLE_TRACK_H
|
||||
|
||||
#include <QtGui/QDialog>
|
||||
|
||||
#include "audio_port.h"
|
||||
#include "AudioPort.h"
|
||||
#include "track.h"
|
||||
|
||||
class effectRackView;
|
||||
@@ -46,21 +45,21 @@ public:
|
||||
virtual ~sampleTCO();
|
||||
|
||||
virtual void changeLength( const midiTime & _length );
|
||||
const QString & sampleFile( void ) const;
|
||||
const QString & sampleFile() const;
|
||||
|
||||
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( "sampletco" );
|
||||
return "sampletco";
|
||||
}
|
||||
|
||||
sampleBuffer * getSampleBuffer( void )
|
||||
sampleBuffer * getSampleBuffer()
|
||||
{
|
||||
return( m_sampleBuffer );
|
||||
return m_sampleBuffer;
|
||||
}
|
||||
|
||||
midiTime sampleLength( void ) const;
|
||||
midiTime sampleLength() const;
|
||||
|
||||
virtual trackContentObjectView * createView( trackView * _tv );
|
||||
|
||||
@@ -69,7 +68,7 @@ public slots:
|
||||
void setSampleBuffer( sampleBuffer * _sb );
|
||||
void setSampleFile( const QString & _sf );
|
||||
void updateLength( bpm_t = 0 );
|
||||
void toggleRecord( void );
|
||||
void toggleRecord();
|
||||
|
||||
|
||||
private:
|
||||
@@ -81,7 +80,7 @@ private:
|
||||
|
||||
|
||||
signals:
|
||||
void sampleChanged( void );
|
||||
void sampleChanged();
|
||||
|
||||
} ;
|
||||
|
||||
@@ -96,7 +95,7 @@ public:
|
||||
|
||||
|
||||
public slots:
|
||||
void updateSample( void );
|
||||
void updateSample();
|
||||
|
||||
|
||||
protected:
|
||||
@@ -134,19 +133,19 @@ public:
|
||||
QDomElement & _parent );
|
||||
virtual void loadTrackSpecificSettings( const QDomElement & _this );
|
||||
|
||||
inline audioPort * getAudioPort( void )
|
||||
inline AudioPort * audioPort()
|
||||
{
|
||||
return( &m_audioPort );
|
||||
return &m_audioPort;
|
||||
}
|
||||
|
||||
virtual QString nodeName( void ) const
|
||||
virtual QString nodeName() const
|
||||
{
|
||||
return( "sampletrack" );
|
||||
return "sampletrack";
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
audioPort m_audioPort;
|
||||
AudioPort m_audioPort;
|
||||
floatModel m_volumeModel;
|
||||
|
||||
|
||||
@@ -165,7 +164,7 @@ public:
|
||||
|
||||
|
||||
public slots:
|
||||
void showEffects( void );
|
||||
void showEffects();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
* setup_dialog.h - dialog for setting up LMMS
|
||||
*
|
||||
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
|
||||
*
|
||||
* Copyright (c) 2005-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,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _SETUP_DIALOG_H
|
||||
#define _SETUP_DIALOG_H
|
||||
|
||||
@@ -30,8 +29,8 @@
|
||||
#include <QtCore/QMap>
|
||||
|
||||
#include "lmmsconfig.h"
|
||||
#include "audio_device.h"
|
||||
#include "midi_client.h"
|
||||
#include "AudioDevice.h"
|
||||
#include "MidiClient.h"
|
||||
|
||||
|
||||
class QComboBox;
|
||||
@@ -150,16 +149,16 @@ private:
|
||||
bool m_disableChActInd;
|
||||
bool m_manualChPiano;
|
||||
|
||||
typedef QMap<QString, audioDevice::setupWidget *> aswMap;
|
||||
typedef QMap<QString, midiClient::setupWidget *> mswMap;
|
||||
typedef QMap<QString, AudioDevice::setupWidget *> AswMap;
|
||||
typedef QMap<QString, MidiClient::setupWidget *> MswMap;
|
||||
typedef QMap<QString, QString> trMap;
|
||||
|
||||
QComboBox * m_audioInterfaces;
|
||||
aswMap m_audioIfaceSetupWidgets;
|
||||
AswMap m_audioIfaceSetupWidgets;
|
||||
trMap m_audioIfaceNames;
|
||||
|
||||
QComboBox * m_midiInterfaces;
|
||||
mswMap m_midiIfaceSetupWidgets;
|
||||
MswMap m_midiIfaceSetupWidgets;
|
||||
trMap m_midiIfaceNames;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user