Skip to content
Merged
4 changes: 2 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
clone_depth: 1
version: "{build}"
image: Visual Studio 2015
image: Visual Studio 2017
platform:
- x86
- x64
Expand All @@ -16,7 +16,7 @@ build_script:
- cd build
- ps: $env:CMAKE_PLATFORM="$(if ($env:PLATFORM -eq 'x64') { 'x64' } else { '' })"
- ps: $env:QT_SUFFIX="$(if ($env:PLATFORM -eq 'x64') { '_64' } else { '' })"
- cmake -DUSE_COMPILE_CACHE=ON -DCACHE_TOOL=%APPVEYOR_BUILD_FOLDER%/clcache.4.1.0/clcache-4.1.0/clcache.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=c:/Qt/5.9/msvc2015%QT_SUFFIX%;c:/tools/vcpkg/installed/%PLATFORM%-windows -DCMAKE_GENERATOR_PLATFORM="%CMAKE_PLATFORM%" ..
- cmake -DUSE_COMPILE_CACHE=ON -DCACHE_TOOL=%APPVEYOR_BUILD_FOLDER%/clcache.4.1.0/clcache-4.1.0/clcache.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=c:/Qt/5.12/msvc2017%QT_SUFFIX%;c:/tools/vcpkg/installed/%PLATFORM%-windows -DCMAKE_GENERATOR_PLATFORM="%CMAKE_PLATFORM%" ..
- cmake --build . -- /maxcpucount:4
- cmake --build . --target tests
cache:
Expand Down
8 changes: 0 additions & 8 deletions include/MainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ public slots:

void emptySlot();
void createNewProject();
void createNewProjectFromTemplate( QAction * _idx );
void openProject();
bool saveProject();
bool saveProjectAs();
Expand Down Expand Up @@ -204,10 +203,6 @@ private slots:
QWidget * m_toolBar;
QGridLayout * m_toolBarLayout;

QMenu * m_templatesMenu;
QMenu * m_recentlyOpenedProjectsMenu;
int m_custom_templates_count;

struct keyModifiers
{
keyModifiers() :
Expand Down Expand Up @@ -240,10 +235,7 @@ private slots:

private slots:
void browseHelp();
void fillTemplatesMenu();
void openRecentlyOpenedProject( QAction * _action );
void showTool( QAction * _idx );
void updateRecentlyOpenedProjectsMenu();
void updateViewMenu( void );
void updateConfig( QAction * _who );
void onToggleMetronome();
Expand Down
17 changes: 17 additions & 0 deletions include/RecentProjectsMenu.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#ifndef RECENTPROJECTSMENU_H
#define RECENTPROJECTSMENU_H

#include <QMenu>

class RecentProjectsMenu : public QMenu
{
Q_OBJECT
public:
RecentProjectsMenu(QWidget *parent = nullptr);

private slots:
void fillMenu();
void openProject(QAction * _action );
};

#endif // RECENTPROJECTSMENU_H
21 changes: 21 additions & 0 deletions include/TemplatesMenu.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#ifndef TEMPLATESMENU_H
#define TEMPLATESMENU_H

#include <QDir>
#include <QMenu>

class TemplatesMenu : public QMenu
{
Q_OBJECT
public:
TemplatesMenu(QWidget *parent = nullptr);
virtual ~TemplatesMenu() = default;

private slots:
static void createNewProjectFromTemplate(QAction * _action);
void fillTemplatesMenu();
void addTemplatesFromDir( const QDir& dir );

};

#endif // TEMPLATESMENU_H
2 changes: 1 addition & 1 deletion plugins/monstro/Monstro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ void MonstroSynth::renderOutput( fpp_t _frames, sampleFrame * _buf )
float o1l_f;
float o1r_f;
float o1l_p = m_osc1l_phase + o1lpo; // we add phase offset here so we don't have to do it every frame
float o1r_p = m_osc1r_phase + o1rpo; // then substract it again after loop...
float o1r_p = m_osc1r_phase + o1rpo; // then subtract it again after loop...
float o1_pw;

// osc2 vars
Expand Down
44 changes: 37 additions & 7 deletions plugins/sf2_player/sf2_player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,43 @@ void sf2Instrument::loadFile( const QString & _file )
// soundfont for the first time fails
updateSampleRate();
}

// setting the first bank and patch number that is found
auto sSoundCount = ::fluid_synth_sfcount( m_synth );
for ( int i = 0; i < sSoundCount; ++i ) {
int iBank = 0;
int iProg = 0;
fluid_sfont_t *pSoundFont = ::fluid_synth_get_sfont( m_synth, i );

if ( pSoundFont ) {
#ifdef CONFIG_FLUID_BANK_OFFSET
int iBankOff = ::fluid_synth_get_bank_offset( m_synth, fluid_sfont_get_id( pSoundFont ) );
#endif

fluid_sfont_iteration_start( pSoundFont );
#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
fluid_preset_t *pCurPreset = &preset;
#else
fluid_preset_t *pCurPreset;
#endif

if ( ( pCurPreset = fluid_sfont_iteration_next_wrapper( pSoundFont, pCurPreset ) ) ) {
iBank = fluid_preset_get_banknum( pCurPreset );
iProg = fluid_preset_get_num( pCurPreset );

#ifdef CONFIG_FLUID_BANK_OFFSET
iBank += iBankOff;
#endif

::fluid_synth_bank_select( m_synth, 1, iBank );
::fluid_synth_program_change( m_synth, 1, iProg );
m_bankNum.setValue( iBank );
m_patchNum.setValue ( iProg );
break;
}
}
}
}


Expand Down Expand Up @@ -678,7 +715,6 @@ void sf2Instrument::noteOff( SF2PluginData * n )
fluid_synth_noteoff( m_synth, m_channel, n->midiNote );
m_synthMutex.unlock();
}

}


Expand All @@ -694,7 +730,6 @@ void sf2Instrument::play( sampleFrame * _working_buffer )
m_synthMutex.lock();
fluid_synth_pitch_bend( m_synth, m_channel, m_lastMidiPitch );
m_synthMutex.unlock();

}

const int currentMidiPitchRange = instrumentTrack()->midiPitchRange();
Expand Down Expand Up @@ -1006,7 +1041,6 @@ sf2InstrumentView::sf2InstrumentView( Instrument * _instrument, QWidget * _paren
setPalette( pal );

updateFilename();

}


Expand Down Expand Up @@ -1045,7 +1079,6 @@ void sf2InstrumentView::modelChanged()
connect( k, SIGNAL( fileLoading() ), this, SLOT( invalidateFile() ) );

updateFilename();

}


Expand Down Expand Up @@ -1157,6 +1190,3 @@ PLUGIN_EXPORT Plugin * lmms_plugin_main( Model *m, void * )


}



2 changes: 1 addition & 1 deletion plugins/sid/envelope.cc
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ reg16 EnvelopeGenerator::rate_counter_period[] = {
// of ENV3 with another timed loop to fully synchronize with ENV3.
//
// At the first period when an exponential counter period larger than one
// is used (decay or relase), one extra cycle is spent before the envelope is
// is used (decay or release), one extra cycle is spent before the envelope is
// decremented. The envelope output is then delayed one cycle until the state
// is changed to attack. Now one cycle less will be spent before the envelope
// is incremented, and the situation is normalized.
Expand Down
2 changes: 1 addition & 1 deletion src/core/audio/AudioPulseAudio.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ static void stream_state_callback( pa_stream *s, void * userdata )

case PA_STREAM_FAILED:
default:
qCritical( "Stream errror: %s\n",
qCritical( "Stream error: %s\n",
pa_strerror(pa_context_errno(
pa_stream_get_context( s ) ) ) );
}
Expand Down
2 changes: 1 addition & 1 deletion src/core/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ void printHelp()
" rendertracks <project> [options...] Render each track to a different file\n"
" upgrade <in> [out] Upgrade file <in> and save as <out>\n"
" Standard out is used if no output file\n"
" is specifed\n"
" is specified\n"
"\nGlobal options:\n"
" --allowroot Bypass root user startup check (use with\n"
" caution).\n"
Expand Down
3 changes: 3 additions & 0 deletions src/gui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ SET(LMMS_SRCS
gui/editors/PianoRoll.cpp
gui/editors/SongEditor.cpp

gui/menus/RecentProjectsMenu.cpp
gui/menus/TemplatesMenu.cpp

gui/widgets/AutomatableButton.cpp
gui/widgets/AutomatableSlider.cpp
gui/widgets/CaptionMenu.cpp
Expand Down
Loading