Commit Graph
51 Commits
Author SHA1 Message Date
grejppi 9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Tres Finocchiaro 607d3f4f66 Simplify C++11 usage for plugins (#3214)
Simplify C++11 usage for plugins
2017-01-07 01:45:50 -05:00
tresf 46179f475d Fix compilation on older Apple versions
Adds libc++ to CXX flags
Fixes macdeployqt on Qt5
Also fixes zynaddsubfx linking on Mac
2016-06-21 21:23:50 -04:00
Javier Serrano Polo d31089ceb5 Fixed removal of track when notes are playing 2016-06-16 17:42:00 +02:00
Javier Serrano Polo a06cb0126c Fixed build problems with GCC 6 2016-04-30 00:00:09 +02:00
Fastigium ac67f2adb8 Compile several plugins with -std=c++0x to support range-based for loops 2016-03-13 16:09:50 +01:00
Fastigium da8040764f Require explicit types when removing PlayHandles in the Mixer
This fixes a few deadlocks where a PresetPreviewPlayHandle would be removed by
the creation of a new PresetPreviewPlayHandle.
2016-02-16 19:23:08 +01:00
Raine M. Ekman 8d87169411 Opulenz: add sane display units for some tooltips, coding style fixes 2015-12-14 22:01:11 +02:00
Raine M. Ekman 4136dbb744 SF2 Player, OpulenZ: addPlayHandle moved to end of constructor.
Should mean smaller risk of race conditions and less need for mutexes.
2015-03-25 21:16:55 +02:00
Raine M. Ekman 4cfed0434c ...and don't name the track after the name in the SBI file if it's empty. 2015-01-11 20:51:22 +02:00
Raine M. Ekman 63e23e0158 Added loading of SBI files.
(e.g. from http://cd.textfiles.com/soundsensations/SYNTH/SBINS/ )
2015-01-11 19:19:52 +02:00
Raine M. Ekman 925122545e Fix issue #1292, beautify code a bit,
and revert an initialization change I can't grasp the reason for.
2015-01-10 21:23:14 +02:00
Vesa 6f23ef7df2 Merge branch 'stable-1.1'
Conflicts:
	plugins/DualFilter/DualFilterControls.cpp
	src/gui/PluginBrowser.cpp
2014-12-16 23:12:02 +02:00
Vesa V da6fd6ef5c Update opl2instrument.cpp 2014-12-16 23:00:14 +02:00
dave 2295545ac6 Remove whitespace from setHintText, change spaces to tabs 2014-12-08 23:48:44 +00:00
dave 4993eba3c1 Remove unused and unnessary +" " in all knob.setHintText calls 2014-12-08 10:57:21 +00: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
Vesa 857de8d2c8 Huge structural changes
Well, this commit got a bit out of hand, what with 26 files changed. Oh well.

Basically, we're using the buffermanager to dispense temporary buffers for playhandles and audioports to use.
This allows us to change the way playhandles work. Earlier, playhandles of the same track were waiting in line
to push their output to the audioport. This was of course inefficient, so now they just register themselves to the port,
then the port handles mixing the buffers.

Caveat: this is still a work in progress, the vol/pan knobs on instruments are temporarily non-functional - will be fixed in
the next commit, but I have to get some sleep now.
2014-11-18 13:58:39 +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
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 06be5bba82 Make MIDI timing sample-accurate
- currently only affects Vestige
- no idea whether this can also be used for Zyn and OpulenZ, I'm not sure if Zyn has any kind of mechanism for communicating frame offset to the synth, as for OpulenZ, @softrabbit would know the answer better
- basically, I made it happen by simply adding an extra parameter in the processMidi{In|Out} functions, which is 0 by default, and made the necessary changes in instrumentTrack and nph to utilize it
- I based this against 1.1 because I didn't think it's a very big change, and I don't see much possibility for things going wrong here, since we're basically just using the existing functionality in Vestige (there already was a frame offset being communicated to the remote plugin, just that it was always set to 0). However, if @tobydox thinks this is better to bump up to 1.2, I can rebase it for master...
2014-06-04 04:23:16 +03:00
Tobias Doerffel 25204abdab Merge remote-tracking branch 'tresf/stable-1.0' into stable-1.0
Conflicts:
	plugins/opl2/fmopl.c
2014-05-08 21:53:03 +02:00
Tres Finocchiaro 7fb434c26d #ifdef indent corrections 2014-05-08 11:05:54 -07:00
Tres Finocchiaro 72620542c0 OpulenZ/opl2 build fixes (Apple)
- Cleaned up many non-bracketed sections for stricter compilers.
- Remove custom `INLINE` keyword when building on clang.
- Renable opl2 via plugins\CMakeLists.txts

https://cloud.githubusercontent.com/assets/6345473/2919394/c474d668-d6da-11e3-82db-778a7ce6014d.png
2014-05-08 14:01:27 -04:00
Raine M. Ekman b9e33736de OpulenZ: changed some __inline functions to "static inline",
which is more in line with later C dialects
2014-03-31 20:54:48 +03:00
Vesa e4340c630d Do the opl amplification smarter 2014-03-22 13:33:42 +02:00
Vesa 22cb12d066 Increase the volume of OpulenZ, because it is very very quiet and it's better to correct this now before 1.0.0 is released 2014-03-22 12:31:34 +02:00
Tobias Doerffel b2c1a04df8 OPL2: fixed various CLANG compiler warnings 2014-03-21 11:12:17 +01:00
Tobias Doerffel 1c66bb9d66 Instrument: introduced flags to replace virtual property getters
There'll be more and more flags for instruments. Handling them using
virtual and overloaded getter functions doesn't scale well and adds
unneccessary overhead.
2014-03-08 12:47:42 +01:00
Tobias Doerffel 2591378818 LcdSpinBox: adopt naming style convention 2014-02-20 22:17:28 +01: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
Raine M. Ekman a36f59ab35 Moved LGPL to OpulenZ source dir, added presets. 2014-01-28 20:39:03 +02:00
Raine M. Ekman 29f04d8056 OpulenZ: added pitch bend range MIDI message handling 2014-01-26 16:33:43 +02:00
Wong Cho Ching b502ae9da4 Changed the placement of code 2014-01-26 14:23:32 +08:00
Wong Cho Ching b15942d120 Amended initialize code 2014-01-26 14:19:33 +08:00
Wong Cho Ching 5816a2ae5d Fixed OpulenZ segfault bug when it is dropped on another instrument. 2014-01-26 13:29:52 +08:00
Tobias Doerffel 3a827f061f Reworked MIDI event handling in InstrumentTrack and renamed MIDI classes
The MIDI event handling in InstrumentTrack was complex and buggy. It has
been simplified now such that processInEvent() tries to handle note on,
note off and key pressure events. The actions taken should result in
equivalent calls to processOutEvent() by NotePlayHandle instances. The
processOutEvent() function sends according MIDI events to the attached
instruments. All unhandled MIDI events are directly forwarded to the
instrument in processInEvent().

It's possible that some corner-cases are not handled yet with the new code
and we have regressions now.

Furthermore renamed midiTime/midiEvent to MidiTime/MidiEvent to match
coding style.

Closes #72.
2014-01-26 00:08:12 +01:00
Raine M. Ekman 2116cf840b OpulenZ: Velocity works OK now. 2014-01-25 21:48:24 +02:00
Raine M. Ekman 67382654eb OpulenZ: added velocity & aftertouch, cleaned up some unneeded code 2014-01-24 22:37:36 +02:00
Raine M. Ekman fc23839f6c Merge https://github.com/LMMS/lmms into stable-0.4 2014-01-24 17:49:03 +02:00
Raine M. Ekman 842d4ee74c Merge https://github.com/LMMS/lmms into stable-0.4
Conflicts:
	plugins/opl2/opl2instrument.cpp
2014-01-24 17:48:26 +02:00
Andrew Kelley 52d4f0fd3f fix all warnings and add -Werror 2014-01-22 22:09:36 -05:00
Tobias Doerffel 2dc02001b7 Instrument: also render sound for MIDI-based instruments when muted
In order to provide smooth muting functionality (i.e. immediate proper
sound when unmuting) always render audio buffers for MIDI-based
instruments. This is more important than potentially reduced CPU usage
while muted.

Closes #69.
2014-01-22 21:55:33 +01:00
Raine M. Ekman 9a9a867e7d Added pitch bend 2014-01-22 20:57:02 +02:00
Vesa c894e0f68a LB302 artwork, OPL2 logo 2014-01-18 16:36:27 +02:00
Raine M. Ekman ce6dc80c9e OpulenZ: new logo, some refactoring. 2014-01-17 23:21:54 +02:00
Tobias Doerffel 0ff1f91c1b Mixer: renamed class and file name
The mixer class is now named "Mixer" and accessible via engine::mixer().
2014-01-08 22:35:14 +01:00
Raine M. Ekman 440da8ba15 OpulenZ: fixed export problems 2014-01-07 23:06:47 +01:00