Merge branch 'master' into ed_refac

This commit is contained in:
Lukas W
2015-01-08 10:49:09 +01:00
23 changed files with 120 additions and 96 deletions

View File

@@ -1,4 +1,6 @@
Alexandre Almeida <wilsalx@gmail.com> <meta.lx@hotmail.com>
Tobias Doerffel <tobias.doerffel@gmail.com>
Dave French <dave.french3@googlemail.com>
Paul Giblock <drfaygo@gmail.com> <pgib@users.sf.net>
Paul Giblock <drfaygo@gmail.com> <p@pgiblock.net>
Andrew Kelley <superjoe30@gmail.com> <andrew.r.kelley@gmail.com>
@@ -6,6 +8,14 @@ Andrew Kelley <superjoe30@gmail.com> <andy@debian.superjoesoftware>
Janne Sinisalo <janne.m.sinisalo@gmail.com> <janne@janne-desktop.(none)>
Raine M. Ekman <raine@iki.fi> <raine@raine.(none)>
Raine M. Ekman <raine@iki.fi> <raine@raine.damex.fi>
Lukas W <lukaswhl@googlemail.com> <lukaswhl@gmail.com>
Lukas W <lukaswhl@gmail.com> <lukaswhl@googlemail.com>
Vesa <contact.diizy@nbl.fi> <vesa@isokone.(none)>
Vesa <contact.diizy@nbl.fi> <diizy@users.noreply.github.com>
Tres Finocchiaro <tres.finocchiaro@gmail.com>
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tres@ubuntu-1204.(none)>
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tresf@github.com>
Rüdiger Ranft <rudi@qzzq.de> <_rdi_@web.de>
Spekular <Spekularr@gmail.com> <Spekular@users.noreply.github.com>
unfa <unfa00@gmail.com> <unfa@unfa.(none)>
mikobuntu <chrissy.mc.1@hotmail.co.uk> <mikobuntu@mikobuntu-Aspire-5332.(none)>
Jonathan Aquilina <eagles051387@gmail.com>

View File

@@ -18,7 +18,7 @@ script:
- if [ $TARGET_OS == win32 ]; then ../build_mingw32 || ../build_mingw32; fi
- if [ $TARGET_OS == win64 ]; then ../build_mingw64 || ../build_mingw64; fi
- if [ $TARGET_OS == linux ]; then cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make -j4 VERBOSE=1; fi
- if [ $TARGET_OS != linux ]; then make; fi
- if [ $TARGET_OS != linux ]; then make VERBOSE=1; fi
before_deploy: make package
deploy:
provider: releases

View File

@@ -364,13 +364,22 @@ IF(NOT LMMS_BUILD_APPLE)
ENDIF()
# Due to a regression in gcc-4.8.X, we need to disable array-bounds check
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0")))
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0") OR LMMS_BUILD_WIN32))
SET(WERROR_FLAGS "${WERROR_FLAGS} -Wno-array-bounds")
ENDIF()
SET(CMAKE_C_FLAGS "-O2 -g ${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-O2 -g -fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-DLMMS_DEBUG")
IF(NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
"MinSizeRel" "RelWithDebInfo")
ENDIF()
SET(CMAKE_C_FLAGS "${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DLMMS_DEBUG")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLMMS_DEBUG")
# people simply updating git will still have this and mess up build with it

View File

@@ -91,6 +91,7 @@ private slots:
void toggleWarnAfterSetup( bool _enabled );
void toggleDisplaydBV( bool _enabled );
void toggleMMPZ( bool _enabled );
void toggleDisableBackup( bool _enabled );
void toggleHQAudioDev( bool _enabled );
void openWorkingDir();
@@ -124,6 +125,7 @@ private:
bool m_warnAfterSetup;
bool m_displaydBV;
bool m_MMPZ;
bool m_disableBackup;
bool m_hqAudioDev;

View File

@@ -2,5 +2,5 @@ INCLUDE(BuildPlugin)
INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS})
LINK_DIRECTORIES(${FFTW3F_LIBRARY_DIRS})
LINK_LIBRARIES(${FFTW3F_LIBRARIES})
BUILD_PLUGIN(eq EqEffect.cpp EqControls.cpp EqControlsDialog.cpp EqFilter.h EqParameterWidget.cpp EqFader.h EqSpectrumView.h DBvModel.cpp DBvModel.h
MOCFILES EqControls.h EqParameterWidget.h EqFader.h DBvModel.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
BUILD_PLUGIN(eq EqEffect.cpp EqControls.cpp EqControlsDialog.cpp EqFilter.h EqParameterWidget.cpp EqFader.h EqSpectrumView.h
MOCFILES EqControls.h EqParameterWidget.h EqFader.h EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")

View File

@@ -1,14 +0,0 @@
#include "DBvModel.h"
DBvModel::DBvModel(float val, float min, float max, float step,
Model *parent, const QString &displayName,
bool defaultConstructed) :
FloatModel( val, min, max, step, parent, displayName, defaultConstructed )
{
connect(this, SIGNAL( dataChanged() ), this,SLOT( calcAmp() ) );
}
void DBvModel::calcAmp()
{
m_amp = dbvToAmp( value() );
}

View File

@@ -1,31 +0,0 @@
#ifndef DBVMODEL
#define DBVMODEL
#include "AutomatableModel.h"
class DBvModel : public FloatModel
{
Q_OBJECT
public:
DBvModel( float val = 0, float min = 0, float max = 0, float step = 0,
Model * parent = NULL,
const QString& displayName = QString(),
bool defaultConstructed = false );
inline float getAmp() const
{
return m_amp;
}
private slots:
void calcAmp();
private:
float m_amp;
};
#endif // DBVMODEL

View File

@@ -28,7 +28,7 @@
#include "EffectControls.h"
#include "EqControlsDialog.h"
#include "Knob.h"
#include "DBvModel.h"
class EqEffect;
@@ -83,8 +83,8 @@ public:
private:
EqEffect* m_effect;
DBvModel m_inGainModel;
DBvModel m_outGainModel;
FloatModel m_inGainModel;
FloatModel m_outGainModel;
FloatModel m_lowShelfGainModel;
FloatModel m_para1GainModel;
FloatModel m_para2GainModel;

View File

@@ -52,7 +52,9 @@ Plugin::Descriptor PLUGIN_EXPORT eq_plugin_descriptor =
EqEffect::EqEffect(Model *parent, const Plugin::Descriptor::SubPluginFeatures::Key *key) :
Effect( &eq_plugin_descriptor, parent, key ),
m_eqControls( this )
m_eqControls( this ),
m_inGain( 1.0 ),
m_outGain( 1.0 )
{
}
@@ -73,13 +75,21 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames)
{
return( false );
}
if( m_eqControls.m_outGainModel.isValueChanged() )
{
m_outGain = dbvToAmp(m_eqControls.m_outGainModel.value());
}
if( m_eqControls.m_inGainModel.isValueChanged() )
{
m_inGain = dbvToAmp(m_eqControls.m_inGainModel.value());
}
m_eqControls.m_inProgress = true;
double outSum = 0.0;
for( fpp_t f = 0; f < frames; ++f )
{
outSum += buf[f][0]*buf[f][0] + buf[f][1]*buf[f][1];
}
const float outGain = m_eqControls.m_outGainModel.getAmp();
const float outGain = m_outGain;
const int sampleRate = Engine::mixer()->processingSampleRate();
sampleFrame m_inPeak = { 0, 0 };
@@ -91,7 +101,7 @@ bool EqEffect::processAudioBuffer(sampleFrame *buf, const fpp_t frames)
{
m_eqControls.m_inFftBands.clear();
}
gain(buf , frames, m_eqControls.m_inGainModel.getAmp() , &m_inPeak );
gain(buf , frames, m_inGain , &m_inPeak );
m_eqControls.m_inPeakL = m_eqControls.m_inPeakL < m_inPeak[0] ? m_inPeak[0] : m_eqControls.m_inPeakL;
m_eqControls.m_inPeakR = m_eqControls.m_inPeakR < m_inPeak[1] ? m_inPeak[1] : m_eqControls.m_inPeakR;

View File

@@ -85,6 +85,9 @@ private:
EqLp12Filter m_lp480;
EqLp12Filter m_lp481;
float m_inGain;
float m_outGain;

View File

@@ -441,23 +441,15 @@ void AutomationPattern::flipX( int length )
for( int i = 0; i <= numPoints; i++ )
{
tempValue = valueAt( ( iterate + i ).key() );
cleanObjects();
MidiTime newTime = MidiTime( length - ( iterate + i ).key() );
tempMap[newTime] = tempValue;
}
}
else
{
//for ( int i = 0; ( iterate + i ).key() < length ; i++ )
//{
// tempValue = valueAt( ( iterate + i ).key() );
//}
//putValue( MidiTime( length ) , tempValue, false);
//numPoints++;
for( int i = 0; i <= numPoints; i++ )
{
tempValue = valueAt( ( iterate + i ).key() );
cleanObjects();
MidiTime newTime;
if ( ( iterate + i ).key() <= length )

View File

@@ -248,10 +248,18 @@ bool DataFile::writeFile( const QString& filename )
// make sure the file has been written correctly
if( QFileInfo( outfile.fileName() ).size() > 0 )
{
// remove old backup file
QFile::remove( fullNameBak );
// move current file to backup file
QFile::rename( fullName, fullNameBak );
if( ConfigManager::inst()->value( "app", "disablebackup" ).toInt() )
{
// remove current file
QFile::remove( fullName );
}
else
{
// remove old backup file
QFile::remove( fullNameBak );
// move current file to backup file
QFile::rename( fullName, fullNameBak );
}
// move temporary file to current file
QFile::rename( fullNameTemp, fullName );

View File

@@ -221,7 +221,7 @@ bool EffectChain::processAudioBuffer( sampleFrame * _buf, const fpp_t _frames, b
it = m_effects.end()-1;
printf( "numerical overflow after processing "
"plugin \"%s\"\n", ( *it )->
publicName().toUtf8().constData() );
descriptor()->name);
break;
}
}

View File

@@ -30,7 +30,7 @@
#include "Pattern.h"
#include "SampleBuffer.h"
#include "SampleTrack.h"
#include "debug.h"
SampleRecordHandle::SampleRecordHandle( SampleTCO* tco ) :
@@ -116,9 +116,9 @@ void SampleRecordHandle::createSampleBuffer( SampleBuffer** sampleBuf )
// make sure buffer is cleaned up properly at the end...
sampleFrame * data_ptr = data;
#ifdef LMMS_DEBUG
assert( data != NULL );
#endif
// now copy all buffers into big buffer
for( bufferList::const_iterator it = m_buffers.begin();
it != m_buffers.end(); ++it )

View File

@@ -237,9 +237,9 @@ int AudioDevice::convertToS16( const surroundSampleFrame * _ab,
void AudioDevice::clearS16Buffer( int_sample_t * _outbuf, const fpp_t _frames )
{
#ifdef LMMS_DEBUG
assert( _outbuf != NULL );
#endif
memset( _outbuf, 0, _frames * channels() * BYTES_PER_INT_SAMPLE );
}

View File

@@ -76,9 +76,9 @@ void AudioSampleRecorder::createSampleBuffer( SampleBuffer** sampleBuf )
// make sure buffer is cleaned up properly at the end...
sampleFrame * data_ptr = data;
#ifdef LMMS_DEBUG
assert( data != NULL );
#endif
// now copy all buffers into big buffer
for( BufferList::ConstIterator it = m_buffers.begin();
it != m_buffers.end(); ++it )

View File

@@ -259,11 +259,16 @@ void AutomationPatternView::paintEvent( QPaintEvent * )
QLinearGradient lingrad( 0, 0, 0, height() );
QColor c;
if( !( m_pat->getTrack()->isMuted() || m_pat->isMuted() ) )
c = isSelected() ? QColor( 0, 0, 224 )
: styleColor;
c = styleColor;
else
c = QColor( 80,80,80 );
c = QColor( 80, 80, 80 );
if( isSelected() == true )
{
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
}
lingrad.setColorAt( 1, c.darker( 300 ) );
lingrad.setColorAt( 0, c );

View File

@@ -73,9 +73,9 @@ inline void labelWidget( QWidget * _w, const QString & _txt )
f.setBold( true );
title->setFont( pointSize<12>( f ) );
#ifdef LMMS_DEBUG
assert( dynamic_cast<QBoxLayout *>( _w->layout() ) != NULL );
#endif
dynamic_cast<QBoxLayout *>( _w->layout() )->addSpacing( 5 );
dynamic_cast<QBoxLayout *>( _w->layout() )->addWidget( title );
dynamic_cast<QBoxLayout *>( _w->layout() )->addSpacing( 10 );
@@ -94,6 +94,8 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
m_displaydBV( ConfigManager::inst()->value( "app",
"displaydbv" ).toInt() ),
m_MMPZ( !ConfigManager::inst()->value( "app", "nommpz" ).toInt() ),
m_disableBackup( !ConfigManager::inst()->value( "app",
"disablebackup" ).toInt() ),
m_hqAudioDev( ConfigManager::inst()->value( "mixer",
"hqaudio" ).toInt() ),
m_workingDir( ConfigManager::inst()->workingDir() ),
@@ -300,6 +302,15 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
connect( disableAutoquit, SIGNAL( toggled( bool ) ),
this, SLOT( toggleDisableAutoquit( bool ) ) );
LedCheckBox * disableBackup = new LedCheckBox(
tr( "Create backup file when saving a project" ),
misc_tw );
labelNumber++;
disableBackup->move( XDelta, YDelta*labelNumber );
disableBackup->setChecked( m_disableBackup );
connect( disableBackup, SIGNAL( toggled( bool ) ),
this, SLOT( toggleDisableBackup( bool ) ) );
misc_tw->setFixedHeight( YDelta*labelNumber + HeaderSize );
@@ -806,6 +817,8 @@ void SetupDialog::accept()
QString::number( m_displaydBV ) );
ConfigManager::inst()->setValue( "app", "nommpz",
QString::number( !m_MMPZ ) );
ConfigManager::inst()->setValue( "app", "disablebackup",
QString::number( !m_disableBackup ) );
ConfigManager::inst()->setValue( "mixer", "hqaudio",
QString::number( m_hqAudioDev ) );
ConfigManager::inst()->setValue( "ui", "smoothscroll",
@@ -958,6 +971,14 @@ void SetupDialog::toggleMMPZ( bool _enabled )
void SetupDialog::toggleDisableBackup( bool _enabled )
{
m_disableBackup = _enabled;
}
void SetupDialog::toggleHQAudioDev( bool _enabled )
{
m_hqAudioDev = _enabled;

View File

@@ -1905,9 +1905,9 @@ void AutomationEditor::zoomingXChanged()
{
const QString & zfac = m_zoomingXModel.currentText();
m_ppt = zfac.left( zfac.length() - 1 ).toInt() * DEFAULT_PPT / 100;
#ifdef LMMS_DEBUG
assert( m_ppt > 0 );
#endif
m_timeLine->setPixelsPerTact( m_ppt );
update();
}

View File

@@ -3777,9 +3777,9 @@ void PianoRoll::zoomingChanged()
{
const QString & zfac = m_zoomingModel.currentText();
m_ppt = zfac.left( zfac.length() - 1 ).toInt() * DEFAULT_PR_PPT / 100;
#ifdef LMMS_DEBUG
assert( m_ppt > 0 );
#endif
m_timeLine->setPixelsPerTact( m_ppt );
update();

View File

@@ -216,7 +216,7 @@ void BBTCOView::paintEvent( QPaintEvent * )
{
QPainter p( this );
QColor col = m_bbTCO->m_useStyleColor
QColor col = m_bbTCO->m_useStyleColor
? p.pen().brush().color()
: m_bbTCO->colorObj();
@@ -224,10 +224,10 @@ void BBTCOView::paintEvent( QPaintEvent * )
{
col = QColor( 160, 160, 160 );
}
if( isSelected() == true )
{
col = QColor( qMax( col.red() - 128, 0 ),
qMax( col.green() - 128, 0 ), 255 );
col = QColor( qMax( col.red() - 128, 0 ), qMax( col.green() - 128, 0 ), 255 );
}
QLinearGradient lingrad( 0, 0, 0, height() );

View File

@@ -908,11 +908,15 @@ void PatternView::paintEvent( QPaintEvent * )
if(( m_pat->m_patternType != Pattern::BeatPattern ) &&
!( m_pat->getTrack()->isMuted() || m_pat->isMuted() ))
c = isSelected() ? QColor( 0, 0, 224 )
: styleColor;
c = styleColor;
else
c = QColor( 80, 80, 80 );
if( isSelected() == true )
{
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
}
if( m_pat->m_patternType != Pattern::BeatPattern )
{
lingrad.setColorAt( 1, c.darker( 300 ) );

View File

@@ -341,9 +341,14 @@ void SampleTCOView::paintEvent( QPaintEvent * _pe )
QColor c;
if( !( m_tco->getTrack()->isMuted() || m_tco->isMuted() ) )
c = isSelected() ? QColor( 0, 0, 224 )
: styleColor;
else c = QColor( 80, 80, 80 );
c = styleColor;
else
c = QColor( 80, 80, 80 );
if( isSelected() == true )
{
c = QColor( qMax( c.red() - 128, 0 ), qMax( c.green() - 128, 0 ), 255 );
}
QLinearGradient grad( 0, 0, 0, height() );