Commit Graph
69 Commits
Author SHA1 Message Date
Johannes Lorenz a1b355828e Allow sub plugins for instruments aswell
* Move m_key member of Effect into Plugin
* Pass key to Instrument ctors and instantiaters
* Add pluginKeys to all plugin selector widgets, and let them pass the keys
  when instantiating the instruments; or, if the keys must be passed over
  threads, pass the keys to the Engine using `Engine::setDndPluginKey()`
* As instrument plugin libraries now also need to get their key passed, their
  second argument, which was always the same as the first, is now used to pass
  the sub plugin keys. This affects *all* instrument plugins.
* Plugin.h: Add more virtuals to `SubPluginFeatures` in order to draw logos
  and images into instrument selector widgets
* LadspaSubPluginFeatures: Implement the `displayName` virtual because the
  new behaviour to resolve displayNames is to first look at the
  SubPluginFeatures, which, without override, returns the superior plugin's
  name (Plugin.cpp)

Additional:

* PluginFactory.h: Allow setting up search paths without discovering plugins
  yet
* Plugin.h: Add full documentation (should be checked)
2018-12-27 21:24:19 +01:00
Lukas W a35d23f3b8 Merge remote-tracking branch 'lukas/cleanup/qt4' 2018-07-17 08:57:57 +02:00
Lukas W ff1c30e35d Merge remote-tracking branch 'lukas/cleanup/qt4'
# Conflicts:
#	cmake/toolchains/common/MSYS.cmake
2018-07-17 08:52:49 +02:00
Lukas W c670d4827a Minor QString usage improvements 2018-07-11 20:13:47 +02:00
Lukas W 966bf1c6de Use CMake GenerateExportHeader 2018-07-07 11:20:54 +02:00
Lukas W 11c693205e Remove usage of deprecated Qt API
Removes usage of the following deprecated Qt functions:
- QPixmap::grabWidget
- QString::null
- qFind
- qSort
- qGreater
- qCopy
2018-06-17 14:27:28 +02:00
Hussam al-Homsi 6d46bd473f Remove "What's This?" and update tooltips (#4128) 2018-06-06 01:50:11 +03:00
Hyunin Song 0a5d056bdb Merge branch 'stable-1.2'
# Conflicts:
        #       .travis/osx..install.sh
        #       .travis/osx..script.sh
        #       cmake/linux/package_linux.sh.in
        #       data/locale/en.ts
        #       src/core/CMakeLists.txt
        #       src/core/ProjectRenderer.cpp
        #       src/gui/FileBrowser.cpp
2018-03-07 23:54:28 +09:00
Filip Hron a193ec25f2 Fix patman logo
Closes #3660
Supercedes #4121
2018-01-17 17:05:38 -05:00
Lukas W ba2ed12f05 MSVC: EXPORT macro fixes 2017-11-22 11:08:47 +01:00
Lukas W 9f905bce3e Use Qt's Resource System (2nd approach) (#1891)
* Remove bin2res, use Qt's resource system
* Use QDir search paths and QImageReader in getIconPixmap
* Don't include "embed.cpp" in plugins
* getIconPixmap: Use QPixmapCache, use QPixmap::fromImageReader
* Require CMake 2.8.9

* Fix ReverbSC embed usage
2017-03-26 22:06:43 +02:00
Lukas W 29f832034a Remove unused includes (#3429) 2017-03-16 11:35:18 +00:00
grejppi 9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
grejppi 74b0454c0d PatMan: clear buffer for finished notes, fix #2991 (#2996) 2016-08-24 02:19:32 +03:00
Lukas W 95798da9d0 Rename a lot of classes
* aboutDialog -> AboutDialog
* bbEditor -> BBEditor
* exportProjectDialog -> ExportProjectDialog
* setupDialog -> SetupDialog
* stringPairDrag -> StringPairDrag
2014-11-26 10:39:02 +01:00
Lukas W 7d4f179b4b Rename a lot of files
* about_dialog -> AboutDialog
* bb_editor -> BBEditor
* export_project_dialog -> ExportProjectDialog
* setup_dialog -> SetupDialog
* string_pair_drag -> StringPairDrag
2014-11-26 10:27:25 +01:00
Lukas W 1bbf7455a4 Rename a lot… 2014-11-26 10:09:49 +01:00
Lukas W 968909c07c Rename engine to Engine 2014-11-26 00:49:55 +01:00
Lukas W 7d0e3945e5 Rename song to Song 2014-11-26 00:44:41 +01:00
Vesa 9c25be1bde LMMS Memory Manager 2014-11-18 13:58:36 +02:00
Lukas W 8e8879f735 Merge stable-1.1
Conflicts:
	include/ConfigManager.h
	include/MidiTime.h
	include/string_pair_drag.h
	src/gui/string_pair_drag.cpp
	src/gui/widgets/rubberband.cpp
2014-11-10 19:26:59 +01:00
Umcaruje 6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Lukas W 100a67cd3c Rename configManager to ConfigManager 2014-11-02 01:02:33 +01:00
Tobias Doerffel 4cee046909 Added initial Qt5 support
LMMS now properly builds and runs with Qt5. Various deprecated functions
had to be replaced like QString::toAscii()/fromAscii(). Also occurences
of FALSE/TRUE have been replaced with false/true.

LmmsStyle now derives from QProxyStyle and sets a style instance as base
style (Plastique for Qt4, Fusion for Qt5).

MOC files are not included anymore but added as regular source files.

What's missing is support for embedding VST plugins into a subwindow
inside LMMS on Linux/X11 due to missing QX11EmbedContainer class in Qt5.

Build instructions can be found in INSTALL.Qt5

Minimum version requirement for Qt4 has been raised to 4.6.0 for best
API compatibility between Qt4 and Qt5.
2014-08-14 17:34:49 +02:00
Vesa 270af579b8 Revision of handling of frameoffset for NPH, SPH
Change in handling of frameoffset for multistreamed instruments and sampletracks.
- Instead of holding the offset for the lifetime of the playhandle, negate the offset in the first period
- Multistream-instruments require some small changes: they have to now check for the offset and accordingly leave empty space in the start of the period (already done in this commit)
- There are possibly optimizations that can be done later
- This change is necessary so that we can have sample-exact models, and sample-exact vol/pan knobs for all instruments. Earlier multistream instruments were always rendering some frames ahead-of-time, so applying sample-exact data for them would have been impossible, since we don't have the future-values yet...
2014-06-29 23:13:00 +03:00
Vesa 0cfda7d1f4 Initial ping-pong loop implementation 2014-04-04 00:40:03 +03:00
Markus Elfring 95b0a4305e Bug #175: Completed quoting for parameters of some CMake commands
A Wiki article pointed out that whitespace will only be preserved for parameters
in CMake commands if passed strings will be appropriately quoted or escaped.
http://cmake.org/Wiki/CMake/Language_Syntax#CMake_splits_arguments_unless_you_use_quotation_marks_or_escapes.

Quoting was added so that more places should also handle file names correctly
which contain space characters eventually.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2014-02-01 15:20:27 +01:00
Tobias Doerffel ca0e413fd3 Renamed PlayHandle classes and some functions with bool return values
Next big coding style update - this time all PlayHandle classes are
affected. Functions like done() and released() were renamed to
isFinished() and isReleased().
2014-01-29 23:54:47 +01:00
Lukas W 2e7bfe17e6 Update code to use FileInfo instead of QFileInfo
Also removed all blocks similar to
```
#if QT_VERSION >= 0x040806
	filedialog.setOption( QFileDialog::DontUseCustomDirectoryIcons );
#endif
```
as this now takes place in the new subclass's constructor.
2014-01-24 15:37:41 +01:00
Tobias Doerffel f2590c24df Replaced [S/U]int[8/16/32] with types from stdint.h or plain integers 2014-01-18 02:56:38 +01:00
Tobias Doerffel 9a7ad0264f SampleBuffer, SamplePlayHandle, SampleRecordHandle, SampleTrack: new coding style
Renamed file and class names.
2014-01-14 18:01:14 +01:00
Tobias Doerffel 7633affa20 Use new QFileDialog::DontUseCustomDirectoryIcons flag for faster file dialogs
In Qt 4.8.6 there's a new option QFileDialog::DontUseCustomDirectoryIcons
promising much better performance when there are many folders.

Closes #511.
2013-09-13 21:29:53 +02:00
Tobias Doerffel cfce2bc827 Fixed various minor semantic glitches
There were various minor semantic glitches reported by cppcheck and
Andrei Smirnov.
(cherry picked from commit a4de8fa16a)
2011-01-08 00:19:11 +01:00
Tobias Doerffel db89dfa181 Removed usage of ASCII C strings in several places
Still QString::toAscii() & friends were used in several places causing
problems such as failed access to files with non-ASCII characters in
name.

Closes #2884115.
(cherry picked from commit 1633cf2593)
2009-10-27 17:59:06 +01:00
Tobias Doerffel f4dbb2ff5c sed: s/( void )/(), s/FALSE/false/, s/TRUE/true
Replaced remaining occurences of old constants and superfluous "void"
on empty argument list of functions.
(cherry picked from commit 166701f9f3)
2009-08-25 01:42:20 +02:00
Tobias Doerffel 1d5cb23385 File and class renames part 1
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:

391 files changed, 25400 insertions(+), 25598 deletions(-)

Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.

Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
(cherry picked from commit 8c9a9dd14c)
2009-08-25 01:30:41 +02:00
Tobias Doerffel edf2d4d104 Whole code base: various cleanups, removed SINGLE_SOURCE_COMPILE relicts
* cleaned up code and improved coding style
* removed old SINGLE_SOURCE_COMPILE macro relicts
* use QString::toUtf8() instead of QString::toAscii() wherever possible

(cherry picked from commit 0bb54199b0)
2009-08-05 17:17:57 +02:00
Tobias Doerffel cafb24fe9a NotePlayHandle: cleanups, header dependency reductions etc.
* do not include instrument_track.h in note_play_handle.h by making
  two functions non-inline
* renamed notePlayHandleVector / constNotePlayHandleVector to
  NotePlayHandleList / ConstNotePlayHandleList and changed typedef
  to QList (which has faster insert- and remove-operations).
* removed unused method willFinishThisPeriod()

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 08ea133aa2)
2009-06-15 16:40:22 +02:00
Tobias Doerffel 9cf48736d9 Fixed file mode for files that were executable although they shouldn't be 2009-02-27 00:25:59 +01:00
Tobias Doerffel 87ee43a079 made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in lmms_basics.h
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1784 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-19 21:48:57 +00:00
Tobias Doerffel adf8aed93c removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1718 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-30 11:14:32 +00:00
Tobias Doerffel 49cdd498c3 * apply release of 128 frames
* enable loop mode per default



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1580 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-07 22:35:58 +00:00
Tobias Doerffel 9b47d27f56 * improved concept for file types supported by certain plugins
* various small improvements for an even better ZynAddSubFX integration



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1520 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-30 00:07:02 +00:00
Tobias Doerffel be0c5b9bc4 various fixes for allowing out-of-tree builds
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1363 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 23:50:59 +00:00
Tobias Doerffel e637495489 migrated build-system to CMAKE
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1352 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 11:36:50 +00:00
Paul Giblock b4ff0f1123 Update plugin artwork
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1217 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-30 02:13:45 +00:00
Tobias Doerffel f8ce4a57b7 build win32-DLLs properly
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1047 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-02 15:55:43 +00:00
Tobias Doerffel a53256b97b shrinked file-sizes via optipng
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1019 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-25 10:08:53 +00:00
Tobias Doerffel aa08d06068 * plugins and core: use new pluginPixmapLoader
* lmmsStyle-class: load stylesheet here
* comboBox/comboBoxModel: use pixmapLoader-pointers rather than QPixmap-pointers
* in plugin-descriptor, hold a pointer to pixmapLoader instead of QPixmap itself
* embed-framework: introduced pixmapLoader and pluginPixmapLoader-classes for abstracting QPixmap-instantiation - models can hold pixmapLoaders without actually instantiating a QPixmap-object and views can access the pixmap
* main-window: removed settings-menu and moved setup-dialog to edit-menu
* config-manager: removed all the obsolete first-startup-wizard-code



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@999 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-20 23:41:45 +00:00
Paul Giblock 904f21da3e Fixed patman artwork again
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@987 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-18 15:07:52 +00:00