Merged my own and Toby's changes from last week.

Modified Files:
 	ChangeLog Makefile.am TODO
 	data/presets/TripleOscillator/Makefile include/base64.h
 	include/config_mgr.h include/file_browser.h
 	include/instrument_track.h include/knob.h include/mixer.h
 	include/mmp.h include/sample_buffer.h include/sample_track.h
 	include/setup_dialog.h include/spc_bg_hndl_widget.h
 	plugins/audio_file_processor/audio_file_processor.cpp
 	plugins/audio_file_processor/audio_file_processor.h
 	plugins/bit_invader/bit_invader.cpp
 	plugins/organic/organic.cpp plugins/organic/organic.h
 	plugins/plucked_string_synth/plucked_string_synth.cpp
 	plugins/triple_oscillator/triple_oscillator.cpp
 	plugins/triple_oscillator/triple_oscillator.h
 	plugins/vestige/lvsl_client.cpp plugins/vestige/vestige.cpp
 	plugins/vibed/impulse_editor.cpp
 	plugins/vibed/nine_button_selector.cpp
 	plugins/vibed/nine_button_selector.h plugins/vibed/vibed.cpp
 	plugins/vibed/vibed.h src/lmms_single_source.cpp
 	src/core/bb_editor.cpp src/core/config_mgr.cpp
 	src/core/file_browser.cpp src/core/main_window.cpp
 	src/core/midi_tab_widget.cpp src/core/mixer.cpp
 	src/core/piano_roll.cpp src/core/setup_dialog.cpp
 	src/core/song_editor.cpp src/core/track.cpp src/lib/mmp.cpp
 	src/lib/sample_buffer.cpp src/tracks/instrument_track.cpp
 	src/tracks/sample_track.cpp src/widgets/fade_button.cpp
 	src/widgets/group_box.cpp src/widgets/lcd_spinbox.cpp
 	src/widgets/project_notes.cpp src/widgets/tab_widget.cpp
 	src/widgets/text_float.cpp src/widgets/tool_button.cpp
 Added Files:
 	data/themes/blue_scene/auto_limit.png
 	data/themes/default/auto_limit.png include/volume_knob.h
 	src/widgets/volume_knob.cpp


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@131 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Danny McRae
2006-04-17 14:09:06 +00:00
parent 9faabaaf0d
commit 703adaf6a3
55 changed files with 941 additions and 186 deletions

View File

@@ -60,7 +60,7 @@
#undef SINGLE_SOURCE_COMPILE
#include "embed.cpp"
#include "volume_knob.h"
extern "C"
@@ -169,7 +169,7 @@ audioFileProcessor::audioFileProcessor( instrumentTrack * _channel_track ) :
"This is useful for things like string- and choir-"
"samples." ) );
m_ampKnob = new knob( knobDark_28, this, tr( "Amplify" ), eng() );
m_ampKnob = new volumeKnob( knobDark_28, this, tr( "Amplify" ), eng() );
m_ampKnob->setRange( 0, 500, 1.0f );
m_ampKnob->move( 6, 114 );
m_ampKnob->setInitValue( 100.0f );

View File

@@ -46,6 +46,7 @@
class knob;
class pixmapButton;
class volumeKnob;
class audioFileProcessor : public instrument, public specialBgHandlingWidget
@@ -100,7 +101,7 @@ private:
sampleBuffer::drawMethods m_drawMethod;
QPixmap m_graph;
knob * m_ampKnob;
volumeKnob * m_ampKnob;
knob * m_startKnob;
knob * m_endKnob;
pixmapButton * m_openAudioFileButton;

View File

@@ -321,6 +321,7 @@ bitInvader::bitInvader( instrumentTrack * _channel_track ) :
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap(
"artwork" ) );

View File

@@ -58,13 +58,11 @@ using namespace std;
#include "knob.h"
#include "pixmap_button.h"
#include "tooltip.h"
#include "song_editor.h"
#include "oscillator.h"
#include "sample_buffer.h"
#include "base64.h"
#undef SINGLE_SOURCE_COMPILE
#include "embed.cpp"
#include "volume_knob.h"
extern "C"
@@ -125,7 +123,7 @@ organicInstrument::organicInstrument( instrumentTrack * _channel_track ) :
);
// setup volume-knob
m_osc[i].volKnob = new knob( knobGreen_17, this, tr(
m_osc[i].volKnob = new volumeKnob( knobGreen_17, this, tr(
"Osc %1 volume" ).arg( i+1 ), eng() );
m_osc[i].volKnob->move( 25+i*20, 110 );
m_osc[i].volKnob->setRange( 0, 100, 1.0f );
@@ -208,6 +206,7 @@ organicInstrument::organicInstrument( instrumentTrack * _channel_track ) :
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap(
"artwork" ) );

View File

@@ -37,6 +37,7 @@ class QPixmap;
class knob;
class notePlayHandle;
class pixmapButton;
class volumeKnob;
class organicInstrument : public instrument, public specialBgHandlingWidget
@@ -83,7 +84,7 @@ private:
{
oscillator::waveShapes waveShape;
knob * oscKnob;
knob * volKnob;
volumeKnob * volKnob;
knob * panKnob;
knob * detuneKnob;
float harmonic;

View File

@@ -85,6 +85,7 @@ pluckedStringSynth::pluckedStringSynth( instrumentTrack * _channel_track ) :
m_pickupKnob->move( 138, 134 );
m_pickupKnob->setHintText( tr( "Pickup position:" ) + " ", "" );
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap(
"artwork" ) );

View File

@@ -58,6 +58,7 @@
#undef SINGLE_SOURCE_COMPILE
#include "embed.cpp"
#include "volume_knob.h"
extern "C"
@@ -90,6 +91,7 @@ tripleOscillator::tripleOscillator( instrumentTrack * _channel_track ) :
}
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(),
PLUGIN_NAME::getIconPixmap( "artwork" ) );
@@ -216,7 +218,7 @@ tripleOscillator::tripleOscillator( instrumentTrack * _channel_track ) :
m_osc[i].waveShape = oscillator::SIN_WAVE;
// setup volume-knob
m_osc[i].volKnob = new knob( knobSmall_17, this, tr(
m_osc[i].volKnob = new volumeKnob( knobSmall_17, this, tr(
"Osc %1 volume" ).arg( i+1 ), eng() );
m_osc[i].volKnob->move( 6, 104+i*50 );
m_osc[i].volKnob->setRange( MIN_VOLUME, MAX_VOLUME, 1.0f );

View File

@@ -36,7 +36,7 @@ class knob;
class notePlayHandle;
class pixmapButton;
class sampleBuffer;
class volumeKnob;
const int NUM_OF_OSCILLATORS = 3;
@@ -80,7 +80,7 @@ private:
struct oscillatorData
{
oscillator::waveShapes waveShape;
knob * volKnob;
volumeKnob * volKnob;
knob * panKnob;
knob * coarseKnob;
knob * fineLKnob;

View File

@@ -30,7 +30,7 @@
#include <QtCore/QLocale>
#include <QtCore/QTime>
#include <QtGui/QApplication>
#include <QtGui/QX11EmbedWidget>
#include <QtGui/QX11EmbedContainer>
#include <QtGui/QX11Info>
#else
@@ -40,8 +40,8 @@
#include "qxembed.h"
#define QX11EmbedWidget QXEmbed
#define embedInto embed
#define QX11EmbedContainer QXEmbed
#define embedClient embed
#endif
@@ -246,10 +246,13 @@ void remoteVSTPlugin::showEditor( void )
m_pluginWidget = new QWidget( eng()->getMainWindow()->workspace() );
m_pluginWidget->setFixedSize( m_pluginGeometry );
m_pluginWidget->setWindowTitle( name() );
#ifndef QT3
eng()->getMainWindow()->workspace()->addWindow( m_pluginWidget );
#endif
m_pluginWidget->show();
QX11EmbedWidget * xe = new QX11EmbedWidget( m_pluginWidget );
xe->embedInto( m_pluginXID );
QX11EmbedContainer * xe = new QX11EmbedContainer( m_pluginWidget );
xe->embedClient( m_pluginXID );
xe->setFixedSize( m_pluginGeometry );
//xe->setAutoDelete( FALSE );
xe->show();

View File

@@ -100,9 +100,9 @@ vestigeInstrument::vestigeInstrument( instrumentTrack * _channel_track ) :
}
#ifdef QT4
QPalette pal;
/* QPalette pal;
pal.setBrush( backgroundRole(), *s_artwork);
setPalette( pal );
setPalette( pal );*/
#else
setErasePixmap( *s_artwork );
#endif
@@ -254,7 +254,7 @@ void vestigeInstrument::setParameter( const QString & _param,
if( _param == "plugin" && _value != "" )
{
m_pluginMutex.lock();
bool set_ch_name = ( m_plugin != NULL &&
const bool set_ch_name = ( m_plugin != NULL &&
getInstrumentTrack()->name() == m_plugin->name() ) ||
getInstrumentTrack()->name() ==
instrumentTrack::tr( "Default" );
@@ -267,7 +267,7 @@ void vestigeInstrument::setParameter( const QString & _param,
tr( "Loading plugin" ),
tr( "Please wait while loading VST-plugin..." ),
PLUGIN_NAME::getIconPixmap( "logo", 24, 24 ),
0 );
0 );
m_pluginMutex.lock();
m_plugin = new remoteVSTPlugin( m_pluginDLL, eng() );
if( m_plugin->failed() )

View File

@@ -63,8 +63,9 @@ impulseEditor::impulseEditor( QWidget * _parent, int _x, int _y,
setFixedSize( 153, 124 );
m_base = QPixmap::grabWidget( _parent, _x, _y );
#ifndef QT3
setAutoFillBackground( TRUE );
QPalette pal = palette();
pal.setBrush( backgroundRole(), QBrush( m_base ) );
pal.setBrush( backgroundRole(), m_base );
setPalette( pal );
#else
setPaletteBackgroundPixmap( m_base );

View File

@@ -73,8 +73,9 @@ nineButtonSelector::nineButtonSelector( QPixmap _button0_on,
m_base = QPixmap::grabWidget( _parent, _x, _y );
move( _x, _y );
#ifndef QT3
setAutoFillBackground( TRUE );
QPalette pal = palette();
pal.setBrush( backgroundRole(), QBrush( m_base ) );
pal.setBrush( backgroundRole(), m_base );
setPalette( pal );
#else
setPaletteBackgroundPixmap( m_base );

View File

@@ -79,7 +79,7 @@ signals:
void nineButtonSelection( Uint8 );
private:
vlist<pixmapButton*> m_buttons;
vlist<pixmapButton *> m_buttons;
pixmapButton * m_button;
pixmapButton * m_lastBtn;
QPixmap m_base;

View File

@@ -52,12 +52,13 @@
#include "knob.h"
#include "tooltip.h"
#include "oscillator.h"
#include "song_editor.h"
#include "string_container.h"
#include "base64.h"
#undef SINGLE_SOURCE_COMPILE
#include "embed.cpp"
#include "volume_knob.h"
#include "volume.h"
extern "C"
@@ -83,6 +84,7 @@ vibed::vibed( instrumentTrack * _channel_track ) :
m_sampleLength( 128 )
{
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap(
"artwork" ) );
@@ -115,11 +117,11 @@ vibed::vibed( instrumentTrack * _channel_track ) :
"The 'N' button will normalize the waveform.") );
m_volumeKnob = new knob( knobBright_26, this,
m_volumeKnob = new volumeKnob( knobBright_26, this,
tr( "Volume" ),
eng() );
m_volumeKnob->setRange( 0.0f, 2.0f, 0.01f );
m_volumeKnob->setInitValue( 1.0f );
m_volumeKnob->setRange( MIN_VOLUME, MAX_VOLUME, 1.0f );
m_volumeKnob->setInitValue( DEFAULT_VOLUME );
m_volumeKnob->move( 103, 142 );
m_volumeKnob->setHintText( tr( "Volume:" ) + " ", "" );
m_volumeKnob->hide();
@@ -407,6 +409,7 @@ vibed::vibed( instrumentTrack * _channel_track ) :
vibed::~vibed()
{
/*
for( Uint8 harm = 0; harm < 9; harm++ )
{
delete m_pickKnobs[harm];
@@ -420,7 +423,7 @@ vibed::~vibed()
delete m_editors[harm];
delete m_impulses[harm];
delete m_harmonics[harm];
}
}*/
}
@@ -546,14 +549,22 @@ void vibed::loadSettings( const QDomElement & _this )
m_impulses[i]->setChecked(
_this.attribute( name ).toInt() );
name = "graph" + QString::number( i );
float shape[128];
int size = 0;
QString sampleString = _this.attribute( name );
char * dst = 0;
base64::decode( sampleString, &dst, &size );
memcpy( shape, dst, size );
m_editors[i]->setValues( shape );
float * shp = 0;
base64::decode( _this.attribute( "graph" +
QString::number( i ) ),
(char * *) &shp, &size );
// TODO: check whether size == 128 * sizeof( float ),
// otherwise me might and up in a segfault
m_editors[i]->setValues( shp );
delete[] shp;
// TODO: do one of the following to avoid
// "uninitialized" wave-shape-buttongroup
// - activate random-wave-shape-button here
// - make wave-shape-buttons simple toggle-buttons
// instead of checkable buttons
// - save and restore selected wave-shape-button
}
}
@@ -623,7 +634,8 @@ void vibed::playNote( notePlayHandle * _n )
{
if( ps->exists( string ) )
{
vol = m_volumeKnobs[string]->value();
vol = ( m_volumeKnobs[string]->value() ) /
100.0f;
pan = (
m_panKnobs[string]->value() + 1 ) / 2.0;
sample = ps->getStringSample( s );

View File

@@ -37,6 +37,7 @@
class knob;
class notePlayHandle;
class volumeKnob;
class vibed : public instrument
@@ -66,7 +67,7 @@ private:
vlist<knob*> m_pickKnobs;
vlist<knob*> m_pickupKnobs;
vlist<knob*> m_stiffnessKnobs;
vlist<knob*> m_volumeKnobs;
vlist<volumeKnob*> m_volumeKnobs;
vlist<knob*> m_panKnobs;
vlist<knob*> m_detuneKnobs;
vlist<knob*> m_randomKnobs;
@@ -78,7 +79,7 @@ private:
knob * m_pickKnob;
knob * m_pickupKnob;
knob * m_stiffnessKnob;
knob * m_volumeKnob;
volumeKnob * m_volumeKnob;
knob * m_panKnob;
knob * m_detuneKnob;
knob * m_randomKnob;