When closing a InstrumentTrackWindow save its position so it can be
restored later when showing it. Fixes windows always popping up
somewhere else when toggling instrument track button repeatedly.
This patch enables the usage of PC keyboard for playing instrument piano
or piano roll on OS X by evaluating nativeVirtualKey rather than
nativeScanCode.
Up to now there were insufficient checks whether the remote plugin
has died and so the result usually has been a complete lock-up of LMMS
(especially when using buggy VST plugins or similiar). By adding
according checks to remotePlugin::lock() and remotePlugin::unlock()
as well as remotePluginBase::waitForMessage() those lock-ups are gone.
This commit fixes lockup of the whole audio engine as soon as LMMS'
JACK backend got zombified due to longer delays (e.g. when audio engine
is blocked while loading a project). Restart JACK backend in such cases
and show an according message to the user.
Furthermore this commit includes various cleanups and improvements.
Due to optimizations in the graphics subsystem of Qt 4.5
songEditor::paintEvent() didn't get called regularly anymore and thus
the range of the horizontal scrollbar didn't get updated at all.
This commit makes the GUI track all changes related to the length of
the song.
This commit ensures that all defined data types in include/lmms_basics.h are
suffxed with "_t" to keep consistency as well as to fix issues on systems
with older STL/libstdc++.
directory items and fixed usage of ResourcesItem::fullName() - makes
format of XML cache file more consistent and also speeds up string
comparisonswhen filtering
merged databases into its own database (and also keep them up to date).
Furthermore added code to properly destroy merged databases and their
providers in desctrutor.
scanning local directories and filling its ResourcesDB.
The ResourcesDB is responsible for writing local catalogue files. It
automatically loads back the appropriate catalogue file (depending on
the provider that operates on the ResourcesDB object) at initialization.
Will be useful for WebResourcesProvider as well to cache metadata of
online resources.
All you have to do now is to create an according ResourcesProvider which
will automatically setup a ResourcesDB that can be operated on by the
ResourcesTreeModel.
and hash-map) - avoids local copies of objects as well as accidently
overwritten ResourcesDB::Item's in hash-map, which resulted in
inconsistencies in tree and finally crashes in several situations, e.g
removal of previously existing objects (closes#2584125)
* once recording has been started, stop it as soon as playMode of song changes or similiar things happen (closes#2486341)
* fixed broken record-accompany in most use-cases other than using record-while-playing-song by also tracking NoteOn events and remember current play position to use
the correct note postitions on NoteOff events (play position might have wrapped around in the meantime due to looppoints or end of BB track) (closes#2486299, #2486203)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@2046 0778d3d1-df1d-0410-868b-ea421aaaa00d
* coding style fixes
* removed obsolete save/restore of EOF-property in libsample rate data struct when resampling successively (always use 0)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@2039 0778d3d1-df1d-0410-868b-ea421aaaa00d