Merge pull request #4235 from Wallacoloo/refactor/use-unique-ptr
refactor: Use unique_ptr for memory management
This commit is contained in:
@@ -25,11 +25,12 @@
|
||||
#include "ComboBoxModel.h"
|
||||
#include "embed.h"
|
||||
|
||||
using std::unique_ptr;
|
||||
using std::move;
|
||||
|
||||
|
||||
void ComboBoxModel::addItem( const QString& item, PixmapLoader* loader )
|
||||
void ComboBoxModel::addItem( QString item, unique_ptr<PixmapLoader> loader )
|
||||
{
|
||||
m_items.push_back( qMakePair( item, loader ) );
|
||||
m_items.emplace_back( move(item), move(loader) );
|
||||
setRange( 0, m_items.size() - 1 );
|
||||
}
|
||||
|
||||
@@ -39,10 +40,6 @@ void ComboBoxModel::addItem( const QString& item, PixmapLoader* loader )
|
||||
void ComboBoxModel::clear()
|
||||
{
|
||||
setRange( 0, 0 );
|
||||
for( const Item& i : m_items )
|
||||
{
|
||||
delete i.second;
|
||||
}
|
||||
|
||||
m_items.clear();
|
||||
|
||||
@@ -54,7 +51,7 @@ void ComboBoxModel::clear()
|
||||
|
||||
int ComboBoxModel::findText( const QString& txt ) const
|
||||
{
|
||||
for( QVector<Item>::ConstIterator it = m_items.begin(); it != m_items.end(); ++it )
|
||||
for( auto it = m_items.begin(); it != m_items.end(); ++it )
|
||||
{
|
||||
if( ( *it ).first == txt )
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "InstrumentTrack.h"
|
||||
#include "Mixer.h"
|
||||
#include "PresetPreviewPlayHandle.h"
|
||||
|
||||
#include "stdshims.h"
|
||||
|
||||
|
||||
InstrumentFunctionNoteStacking::ChordTable::Init InstrumentFunctionNoteStacking::ChordTable::s_initTable[] =
|
||||
@@ -316,16 +316,16 @@ InstrumentFunctionArpeggio::InstrumentFunctionArpeggio( Model * _parent ) :
|
||||
m_arpModel.addItem( chord_table[i].getName() );
|
||||
}
|
||||
|
||||
m_arpDirectionModel.addItem( tr( "Up" ), new PixmapLoader( "arp_up" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Down" ), new PixmapLoader( "arp_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Up and down" ), new PixmapLoader( "arp_up_and_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Down and up" ), new PixmapLoader( "arp_up_and_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Random" ), new PixmapLoader( "arp_random" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Up" ), make_unique<PixmapLoader>( "arp_up" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Down" ), make_unique<PixmapLoader>( "arp_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Up and down" ), make_unique<PixmapLoader>( "arp_up_and_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Down and up" ), make_unique<PixmapLoader>( "arp_up_and_down" ) );
|
||||
m_arpDirectionModel.addItem( tr( "Random" ), make_unique<PixmapLoader>( "arp_random" ) );
|
||||
m_arpDirectionModel.setInitValue( ArpDirUp );
|
||||
|
||||
m_arpModeModel.addItem( tr( "Free" ), new PixmapLoader( "arp_free" ) );
|
||||
m_arpModeModel.addItem( tr( "Sort" ), new PixmapLoader( "arp_sort" ) );
|
||||
m_arpModeModel.addItem( tr( "Sync" ), new PixmapLoader( "arp_sync" ) );
|
||||
m_arpModeModel.addItem( tr( "Free" ), make_unique<PixmapLoader>( "arp_free" ) );
|
||||
m_arpModeModel.addItem( tr( "Sort" ), make_unique<PixmapLoader>( "arp_sort" ) );
|
||||
m_arpModeModel.addItem( tr( "Sync" ), make_unique<PixmapLoader>( "arp_sync" ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "Instrument.h"
|
||||
#include "InstrumentTrack.h"
|
||||
#include "Mixer.h"
|
||||
#include "stdshims.h"
|
||||
|
||||
|
||||
const float CUT_FREQ_MULTIPLIER = 6000.0f;
|
||||
@@ -79,28 +80,28 @@ InstrumentSoundShaping::InstrumentSoundShaping(
|
||||
tr( targetNames[i][2].toUtf8().constData() ) );
|
||||
}
|
||||
|
||||
m_filterModel.addItem( tr( "LowPass" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "HiPass" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass csg" ), new PixmapLoader( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass czpg" ), new PixmapLoader( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "Notch" ), new PixmapLoader( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Allpass" ), new PixmapLoader( "filter_ap" ) );
|
||||
m_filterModel.addItem( tr( "Moog" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "2x LowPass" ), new PixmapLoader( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 12dB" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 12dB" ), new PixmapLoader( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 12dB" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 24dB" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 24dB" ), new PixmapLoader( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 24dB" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Vocal Formant Filter" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "2x Moog" ), new PixmapLoader( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "SV LowPass" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "SV BandPass" ), new PixmapLoader( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "SV HighPass" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "SV Notch" ), new PixmapLoader( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Fast Formant" ), new PixmapLoader( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Tripole" ), new PixmapLoader( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "HiPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass csg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass czpg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Allpass" ), make_unique<PixmapLoader>( "filter_ap" ) );
|
||||
m_filterModel.addItem( tr( "Moog" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "2x LowPass" ), make_unique<PixmapLoader>( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 12dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 12dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 12dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 24dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 24dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 24dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Vocal Formant Filter" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "2x Moog" ), make_unique<PixmapLoader>( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "SV LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "SV BandPass" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "SV HighPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "SV Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Fast Formant" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Tripole" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@ AudioPort::~AudioPort()
|
||||
{
|
||||
setExtOutputEnabled( false );
|
||||
Engine::mixer()->removeAudioPort( this );
|
||||
delete m_effects;
|
||||
BufferManager::release( m_portBuffer );
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#endif
|
||||
|
||||
#include <math.h>
|
||||
#include <utility>
|
||||
|
||||
#include "AutomationEditor.h"
|
||||
#include "ActionGroup.h"
|
||||
@@ -57,6 +58,7 @@
|
||||
#include "MainWindow.h"
|
||||
#include "Pattern.h"
|
||||
#include "SongEditor.h"
|
||||
#include "stdshims.h"
|
||||
#include "TextFloat.h"
|
||||
#include "TimeLineWidget.h"
|
||||
|
||||
@@ -65,6 +67,7 @@
|
||||
#define MiddleButton MidButton
|
||||
#endif
|
||||
|
||||
using std::move;
|
||||
|
||||
typedef AutomationPattern::timeMap timeMap;
|
||||
|
||||
@@ -370,7 +373,7 @@ PianoRoll::PianoRoll() :
|
||||
|
||||
// Set up note length model
|
||||
m_noteLenModel.addItem( tr( "Last note" ),
|
||||
new PixmapLoader( "edit_draw" ) );
|
||||
make_unique<PixmapLoader>( "edit_draw" ) );
|
||||
const QString pixmaps[] = { "whole", "half", "quarter", "eighth",
|
||||
"sixteenth", "thirtysecond", "triplethalf",
|
||||
"tripletquarter", "tripleteighth",
|
||||
@@ -378,13 +381,13 @@ PianoRoll::PianoRoll() :
|
||||
|
||||
for( int i = 0; i < NUM_EVEN_LENGTHS; ++i )
|
||||
{
|
||||
PixmapLoader *loader = new PixmapLoader( "note_" + pixmaps[i] );
|
||||
m_noteLenModel.addItem( "1/" + QString::number( 1 << i ), loader );
|
||||
auto loader = make_unique<PixmapLoader>( "note_" + pixmaps[i] );
|
||||
m_noteLenModel.addItem( "1/" + QString::number( 1 << i ), ::move(loader) );
|
||||
}
|
||||
for( int i = 0; i < NUM_TRIPLET_LENGTHS; ++i )
|
||||
{
|
||||
PixmapLoader *loader = new PixmapLoader( "note_" + pixmaps[i+NUM_EVEN_LENGTHS] );
|
||||
m_noteLenModel.addItem( "1/" + QString::number( (1 << i) * 3 ), loader );
|
||||
auto loader = make_unique<PixmapLoader>( "note_" + pixmaps[i+NUM_EVEN_LENGTHS] );
|
||||
m_noteLenModel.addItem( "1/" + QString::number( (1 << i) * 3 ), ::move(loader) );
|
||||
}
|
||||
m_noteLenModel.setValue( 0 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user