Compare commits

..

184 Commits

Author SHA1 Message Date
Tobias Doerffel
427e0d6727 Made 0.4.5 release
Bumped version number to 0.4.5 in CMakeLists.txt and README.
2009-08-11 18:21:56 +02:00
Tobias Doerffel
d9490f9203 TODO list: moved over items from master branch TODO list
Moved over all items that concern 0.4.x series from TODO list in
master branch and removed deprecated items.
2009-08-11 14:49:13 +02:00
Tobias Doerffel
57c79759c8 MidiWinMM: added missing break directive after case-block
A break directive was missing in MidiWinMM::handleInputEvent(), leading
to inappropriate calls to qWarning() on pitch bend.
(cherry picked from commit 58023cf2cf)
2009-08-10 13:53:54 +02:00
Tobias Doerffel
ad1124cde9 Added CALF LADSPA plugins
As per popular demand I added CALF LADSPA plugins to be shipped with
LMMS. After some minor modifications the plugins compile and work on
win32 platform too.
(cherry picked from commit 35ca0aab69)
2009-08-10 13:50:20 +02:00
Tobias Doerffel
3e62853de5 FlpImport: fixed crash on invalid notes
Added a range check for channel parameter when adding notes. This fixes
a crash when for example importing the project posted on lmms-devel
by Andew Kelley lately.
(cherry picked from commit ee9d88e2d4)
2009-08-09 11:23:26 +02:00
Tobias Doerffel
9a4cfedf67 FlpImport: changed most printf()s to qDebug()s and qWarning()s
This improves structure of messages when importing FLP files.
(cherry picked from commit 20eda9a756)
2009-08-09 11:21:57 +02:00
Tobias Doerffel
e714a68fe5 Updated German localization files
There have been some changes to strings in the program which weren't
translated to German lately. Furthermore improved existing
translations and fixed mis-spellings.
2009-08-09 00:37:55 +02:00
Janne Matti Sinisalo
a4f9682069 Added cheese_enthusiast's new piano keys
Added cheese_enthusiast's <bdreed@woh.rr.com> new, better-looking piano keys. Also includes pressed piano-roll keys.
(cherry picked from commit 367d8360fc)
2009-08-09 00:29:33 +02:00
Paul Giblock
5138ed6722 Rename all Controller-family classes to new style
Adjust capitialization on all Controller-related classes to new
standards and update all calling code
(cherry picked from commit f1d60958f0)
2009-08-09 00:29:16 +02:00
Paul Giblock
9eed60c068 Hotfix for resizable controller rack
Apparently I didn't compile the latest version of my changes and there
was a lurking error.  This has been fixed.
(cherry picked from commit a9a3c796f7)
2009-08-08 18:26:22 +02:00
Paul Giblock
e109f3e550 Make Controller-Rack resizable
Per request, make the Controller-rack vertically sizable.  This is also
part of our effort to slowly deprecate old fixed-positioning code in
favor of layouts.
(cherry picked from commit bb76ba5121)
2009-08-08 10:30:10 +02:00
Tobias Doerffel
93a456c67a MainWindow: removed HQ mode button
Switching to HQ mode in standard workflow doesn't make much sense and
is likely to cause problems. Therefore remove the HQ mode button for
for time being. One can still export projects in high(er) quality.
(cherry picked from commit d66c71ebf8)
2009-08-07 18:58:38 +02:00
Tobias Doerffel
d7df990e6c MidiWinMM: use qWarning() rather than printf()
Using printf() is really old C-style, therefore changed all printf()s
to qWarning()s.
(cherry picked from commit 94c5c5a46f)
2009-08-06 13:48:47 +02:00
Tobias Doerffel
5891a37635 Win32Toolchain: define MINGW_PREFIX and QT_HEADERS_DIR
MINGW_PREFIX is a better variable name than CC_PREFIX (cross copmling
prefix), therefore rename it. Furthermore define QT_HEADERS_DIR due to
changed logic in CMake's FindQt4 module.
(cherry picked from commit 94ebcf30bc)
2009-08-06 13:48:30 +02:00
Tobias Doerffel
8485cf3157 ZynAddSubFX/FLTK: updated to SVN revision 6826
Updated FLTK to SVN revision 6841 of branch-1.3:

- Fixed glibc 2.10 compiler problems (Fedora 11 and others)
  with scandir() and strchr() (STR #2222)
- Fl_Scroll mods for global scrollbar size control
- various other minor stuff (see SVN log)
(cherry picked from commit 803fd68a56)
2009-08-05 19:11:30 +02:00
Tobias Doerffel
84e0dc1b81 Sf2Player: removed trailing spaces in code
There were some unsolicited trailing spaces in the code. Removed them.
(cherry picked from commit 964c6532f2)
2009-08-05 18:09:42 +02:00
Tobias Doerffel
99791ddf25 Sf2Player: fixed crash and race conditions
Do not crash if no fluid_voice could be determined in
sf2Instrument::playNote() (which for example happens if no soundfont
is loaded). Furthermore protect the FluidSynth API calls in the
envelope and panning code with global synth mutex.
(cherry picked from commit 144f0c6c80)
2009-08-05 18:04:06 +02:00
Tobias Doerffel
31b2b00ba4 Sf2Player: added panning and volume envelope support
Finally there's proper support for panning and volume envelopes. This
is achieved by changing parameters of individual voices (one voice is
being created for each note). The new code also replaces the old
panning hacks which played notes on different channels and changed
panning of individual channels.

Closes #2010818.

(cherry picked from commit 4baf459da2)

stable-0.4 branch: forward-ported various trivial changes from master.
2009-08-05 17:38:50 +02:00
Tobias Doerffel
d536d851a4 PianoRoll: removed duplicate function call in testPlayNote()
There's no need to send a MidiNotePanning event twice in
PianoRoll::testPlayNote(). Removed the duplicate function call.
(cherry picked from commit 4cdcd1a670)
2009-08-05 17:19:59 +02:00
Tobias Doerffel
852976ed74 Panning: fixed wrong type-conversion in panningToMidi()
Casting to panning_t in calculation in panningToMidi() leads to
integer overflows and thus to miscalculations. This resulted for
example in wrong panning during note preview when editing panning
of a note in PianoRoll. Casting to int instead fixes the issue.
(cherry picked from commit 6e3e1513c7)
2009-08-05 17:19:53 +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
f969b7d892 Mixer: fixed wrong macro logic leading to potential performance loss
The macro logic for defining the SPINLOCK_PAUSE macro tested against
LMMS_HOST_X86_64 twice instead of testing against LMMS_HOST_X86_64 and
LMMS_HOST_X86. This caused the SPINLOCK_PAUSE macro not being set on
x86.

(cherry picked from commit bf8f823751)
2009-08-03 18:57:33 +02:00
Tobias Doerffel
6d6bbe3b32 CAPS: updated to version 0.4.3
Updated CAPS plugins to version 0.4.3 - changes:

  * basics.h cleanup / comments
  * minor Makefile cleanup
  * comment cosmetics
  * Eq and Eq2x2 per-band Q changed to 1.414 (= 1 octave)
  * Eq lowest band default value fixed to read 0
  * Niclas' fix for the bessel function implemented
  * uninitialised plugin states eliminated thanks to Damon
  * linker options for OSX added to the Makefile

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e0df82056c)
2009-08-03 18:56:17 +02:00
Tobias Doerffel
7bddad1895 ZynAddSubFX: really fix compilation error
I should always try to compile before committing... Works now!
2009-08-03 18:51:55 +02:00
Tobias Doerffel
3504e49119 ZynAddSubFX: fixed compilation error
Fixed compilation error introduced by commit
f3e13c4427.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 27d9c17e3f)
2009-08-02 18:24:06 +02:00
Tobias Doerffel
42b1584cbe RemotePlugin: added QSTR_TO_STDSTR macro and use it in LVSL/ZASF
QString::toStdString() is not aware of locale specific characters (it
just converts to ASCII). Therefore added new macro QSTR_TO_STDSTR which
converts a QString to std::string with UTF8 characters.

Use this new macro in LMMS VST Support Layer and ZynAddSubFX plugin.
This fixes for example VST plugins not being loaded when the path to
the DLL contains non-ASCII (e.g. cyrillic) characters.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit f3e13c4427)
2009-07-29 17:13:47 +02:00
Tobias Doerffel
54dadfcf48 MidiTime/Pattern: fixed divisions by zero with time sigs 1/16+
Setting time signatures 1/16+ lead to divisions by zero in two places.
Fixed this by adding according qMax() call (closes #2818125).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cb72bf2260)
2009-07-10 17:50:55 +02:00
Tobias Doerffel
29d0d2b43a RemoteVstPlugin: fixed typo in 4ad5add745
Commit 4ad5add745 introduced a typo which
lead to compilation failure. This commit fixes it.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit c4c94985a6)
2009-07-09 12:54:59 +02:00
Tobias Doerffel
6883e0479c RemoteVstPlugin: typedef VstMidiEventList
Added a typedef for VstMidiEventList so actual type does not have
to be hard-coded each time in the code.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 4ad5add745)
2009-07-09 12:54:59 +02:00
Tobias Doerffel
598d1dc816 RemoteVstPlugin: don't process MIDI events in GUI thread
Don't process MIDI events in GUI thread as this might corrupt MIDI
event array if both GUI and processing thread access it. Fixes
possible crashes.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e7ab8e5670)
2009-07-09 12:54:59 +02:00
Tobias Doerffel
9fc0d8962d RemoteVstPlugin: encapsulate locking in separate inline functions
Locking the plugin is now achieved by calling RemoteVstPlugin::lock()
and RemoteVstPlugin::unlock().

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 2240d6644d)
2009-07-09 12:54:59 +02:00
Tobias Doerffel
91912e143a MidiPort: added realOutputChannel() returning zero-based MIDI channel
MidiPort::outputChannelModel is ranged from 1 to 16 for displaying
user-friendly values. However internally MIDI channels are ranged from
0 to 15. Therefore added realOutputChannel() which returns zero-based
MIDI channel which should be used everywhere except for the GUI.

Fixes MIDI events being sent to VST plugins on channel 2 instead of
channel 1. Makes some more VST plugins actually usable.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 4f249400ac)
2009-07-09 12:54:14 +02:00
Tobias Doerffel
00ca278f2f RemoteVstPlugin: removed different threading models
Different threading models aren't used anymore as SplittedThreadingModel
after all recent improvements works fine for all plugins tested so far.
It even shows that a lot more VST plugins are running now properly.
Therefore all support for TraditionalThreadingModel has been removed
which greatly simplifies code and makes it much more maintainable.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 41c9318be8)
2009-07-09 12:43:57 +02:00
Tobias Doerffel
0424c5cec8 RemoteVstPlugin: prefer chunks over parameters for settings
When saving or restoring settings, prefer chunks over parameters.
This fixes some problems with plugins which get confused e.g. if you
restore individual parameters rather than the whole chunk.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit dffd9ecfbe)
2009-07-07 21:22:28 +02:00
Tobias Doerffel
9b2e3fc262 TrackContentWidget: fix graphical glitches with Qt 4.5
Starting with Qt 4.5 there were minor graphical glitches in
TrackContentWidget. Fix this by not setting Qt::WA_OpaquePaintEvent
attribute.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 1015868e1f)
2009-07-07 21:22:20 +02:00
Tobias Doerffel
c66fa25dfe RemoteVstPlugin: define O_BINARY to 0 on Linux
O_BINARY flag is not supported on Linux, therefore define it to 0.
Fixes compilation failure on Linux.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit d6a451bdf5)
2009-07-07 18:37:32 +02:00
Tobias Doerffel
c1f5075e16 RemoteVstPlugin: open file with O_BINARY when reading/writing chunks
When writing chunk to file or read it back from file, open file with
O_BINARY flag. Otherwise on win32 for example line endings (\n) are
converted (\r\n) and with real binary data this screws up things.

Thanks to Oleg Sharonov for pointing this out.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 48a3d4ebe4)
2009-07-07 17:09:41 +02:00
Tobias Doerffel
d555db6109 PianoRoll: switch back to draw note after pasting notes
When pasing notes via Ctrl+V somehow the edit-tool was left in an
undefined state. Therefore explicitely switch back to draw mode so
user can move pasted notes (closes #2808607).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cf7539caaf)
2009-07-07 10:49:09 +02:00
Tobias Doerffel
a0b198fb38 ZynAddSubFX/FLTK: updated to SVN revision 6826
Updated FLTK to SVN revision 6826 of branch-1.3:

- Corrected const methods of Fl_Text_{Buffer|Display|Selection}
  to be declared const, corrected an Fl_Text_Buffer attrib. typo
- Fixed OpenGL shared context handling (STR #2135)
- Fixed gray-scale images with alpha channel (STR #2105)
- Fixed unexpected shortcut behavior for Win32 (STR #2199)
- Fixed documentation for Fl_Progress (STR #2209)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 0de2949aed)
2009-07-07 02:13:05 +02:00
Tobias Doerffel
c0f221e984 ZynAddSubFX: now build on OS X as well
Now that we fixed RemotePlugin support on OS X, we can enable build of
ZynAddSubFX on OS X. Some GUI threading issues still have to be solved
though.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit ea376e90fe)
2009-07-07 01:59:22 +02:00
Tobias Doerffel
f50d5ce943 RemotePlugin: refactored system feature configuration
Variuos features (native/Qt semaphores/shared memory) are now
configured by macros like USE_QT_SHMEM and USE_QT_SEMAPHORES. This
allows central and individual configuration of features according to
the platform to build for at the beginning of the file.

Finally makes RemotePlugin work on OS X by not using native semaphores
rather than QSystemSemaphore's.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 2ef5dffec0)
2009-07-07 01:59:14 +02:00
Tobias Doerffel
3c80a079a2 InstrumentTrack: fixed muting of frozen patterns in BB tracks
In InstrumentTrack::play(...) the local variable "bb_track" always
was either undefined or NULL due to a lost call (probably during M/V
architecture switch) to bbTrack::findBBTrack(...). This could lead to
crashes and/or misbehaviour when playing frozen patterns in BB tracks.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit fb58dc00ab)
2009-07-07 01:59:04 +02:00
Tobias Doerffel
fb56b6757d Track.h: removed unused class declaration "bbTrack"
The class forward declaration for "bbTrack" is neither used nor
required, therefore remove it.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 913aa5a6e8)
2009-07-07 01:58:54 +02:00
Tobias Doerffel
8fd507bcff RemotePlugin: added DEBUG_REMOTE_PLUGIN macro
Added new DEBUG_REMOTE_PLUGIN macro. If it is set, the process won't
be launched. Instead important information are printed allowing the
developer to run the process with according parameters in a debugger.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 33ce491caf)
2009-07-07 01:58:44 +02:00
Tobias Doerffel
7c2b3e6240 RemoteVstPlugin: print number of inputs/outputs as debugg message
When input/output count changes, always print new number of inputs and
outputs as debugg message.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 5838f63d0b)
2009-07-07 01:58:09 +02:00
Tobias Doerffel
d8c616afcf RemoteVstPlugin: reset m_inputs and m_outputs in updateInOutCount()
Reset m_inputs and m_outputs to NULL after deleting the memory they're
pointing to. Fixes possible crash if new input or output count is 0
and the count changes again later.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 206d906c10)
2009-07-07 01:58:00 +02:00
Tobias Doerffel
4e81299729 RemoteVstPlugin: workaround for early host callbacks by some plugins
Some plugins call host callback from within their main function,
causing RemoteVstPlugin::m_plugin not to be set yet. Therefore
explicitely set RemoteVstPlugin::m_plugin if it's NULL. Makes plugins
by Wallander Instruments (and possibly others as well) work.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 38f7552ce4)
2009-07-07 01:57:50 +02:00
Tobias Doerffel
7ef61b04d7 RemoteVstPlugin: thread-safe plugin dispatching
Plugin dispatcher was called without any protection from various threads
leading to regular crashes or deadlocks within the plugin. The plugin
dispatching is now encapsulated into one central function which protects
the dispatcher by a mutex.

Furthermore improved handling of audioMasterIdle and
audioMasterUpdateDisplay in host callback by posting a message to GUI
thread asking for idle processing instead of directly calling plugin
dispatcher.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e65b282166)
2009-07-07 01:57:42 +02:00
Tobias Doerffel
33917e4340 RemoteVstPlugin: coding style fixes
Renamed class remoteVstPlugin to RemoteVstPlugin + other minor coding
style fixes.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cca39513d0)
2009-07-07 01:57:32 +02:00
Tobias Doerffel
1e0acbef85 RemoteVstPlugin: fixed threading issues with saving/restoring chunks
Saving and restoring chunks from/to plugin seems to work now after a
few tweaks regarding memory-allocation and threading (according
functions need to be called from withing GUI thread). However needs the
new code some testing (especially whether it breaks previously working
plugins).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit db878b664d)
2009-07-07 01:57:23 +02:00
Tobias Doerffel
798c179b58 RemoteVstPlugin: added more NULL checks
Check for m_plugin being NULL in RemoteVstPlugin::inputCount(),
RemoteVstPlugin::outputCount() and RemoteVstPlugin::pluginVersion().
Makes various VST's load properly now.

Thanks to Oleg Sharonov for pointing this out.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 9b5c0d19f8)
2009-07-07 01:57:12 +02:00
Tobias Doerffel
12aaffe149 VstBase: initial support for saving/restoring chunks
Some VST plugins save their state as chunks rather than parameters.
According code to save/restore those chunks has been taken from FST 1.9.
However restore currently is disabled as it mostly fails for whatever
reason.
(cherry picked from commit 0abd4aad70)
2009-07-07 01:56:39 +02:00
Tobias Doerffel
cfe9c35f41 Sf2Player: allocate temporary buffer on stack if possible
When compiling with GCC always allocate a temporary buffer for
resampling on stack rather than doing an expensive heap allocation.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit d1353247d9)
2009-07-05 16:43:03 +02:00
Tobias Doerffel
fa21cf10a9 Do not build ZynAddSubFX on OS X
Do not build the ZynAddSubFX plugin on OS X until a proper replacement
for unnamed semaphores (which for whatever reason are not supported on
OS X) has been implemented. Using the win32 code (QSystemSemaphore)
could be an option but needs testing.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit fd9d2b0e61)
2009-06-28 23:43:50 +02:00
Tobias Doerffel
35eeb55704 Various fixes for properly building on OS X
There were various (trivial) problems with settings of the build system
which prevented LMMS from being built on OS X.

Thanks to Daniel Klaffenbach for providing his Mac for development
purposes.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit ed30985aa4)
2009-06-28 23:43:44 +02:00
Tobias Doerffel
facab0c2d8 AutomationEditor: set pen for painter outside inner loop
Set pen for drawing automation pattern outside of inner loop. This
might save some CPU cycles.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit ddf3d3dc66)
2009-06-22 22:14:03 +02:00
Tobias Doerffel
c222c062c5 PianoRoll: fixed crash with detune tool
When clicking at an invalid position with the detune tool, LMMS could
crash as an invalid iterator was referenced (closes #2808589).

Furthermore renamed PianoRoll::ModeOpen to PianoRoll::ModeEditDetuning.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 9ca93040de)
2009-06-18 23:33:21 +02:00
Tobias Doerffel
7a632277b8 Renamed type noteVector to NoteVector
Renamed type noteVector to NoteVector as well as ::iterator to
::Iterator and ::const_iterator to ::ConstIterator.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e12476f79c)
2009-06-18 23:32:32 +02:00
Tobias Doerffel
87e44aa241 Pattern: properly advance iterator when removing notes
We must not keep the iterator at the same position when erasing notes
from the m_notes array. This usually is not a problem when using QVector
but we might switch to QList somewhen later.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 2d5dfc7b15)
2009-06-18 23:07:43 +02:00
Tobias Doerffel
0098ff874a NotePlayHandle: fixed crash at playback of subnotes
Commit 08ea133aa2 uncovered a flaw in
NotePlayHandle::play(...). When iterating over subnotes for each subnote
after playing it, we check whether it is finished. If this is true, the
according subnote gets erased from the m_subNotes array. However we have
to set the subnote iterator to what QList::erase(...) returns instead of
keeping it where it was before. This accidentally worked when using
QVector as type for NotePlayHandle arrays but caused a crash now that
we're using QList.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 0d6ba6291b)
2009-06-18 23:07:31 +02:00
Tobias Doerffel
621512a7b7 Song: reset window title after creating new project from template
Reset window title when creating new project from template (after
actually loading template file). Furthermore do not reset window title
at the beginning of load process anymore.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cf0a91637b)
2009-06-18 23:07:22 +02:00
Tobias Doerffel
0faaab4521 PlayHandle: use QList instead of QVector for PlayHandle array
Use QList instead of QVector when using a set of PlayHandle's. QList
has faster insert/remove operations and in most cases we iterate through
the array using iterators so there's no performance drop.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 2cc49b8010)
2009-06-17 10:43:51 +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
33dd77f55c MMP: detect compressed files rather than guessing by extension
Detect whether a given file is compressed by first trying to parse
its content as XML data. If it failed, try to uncompress and
parse again. This is more flexible than just looking whether the
filename extension is "mmpz".

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit c0794d0c41)
2009-06-15 16:28:09 +02:00
Tobias Doerffel
93a19e43f1 InstrumentTrack: new method silenceAllNotes()
Added new method silenceAllNotes() which is a replacement for
invalidateAllMyNPH() and also resets m_runningMidiNotes array.

silenceAllNotes() is now used in destructor as well.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 3c9859da9f)
2009-06-11 01:19:33 +02:00
Tobias Doerffel
57c4a5abc5 MultimediaProject: splitted constructor for loading either file or data
The old constructor treated the string argument either as filename or
as raw XML data, depending on 2nd parameter. This is a mess and quickly
leads to confusion.

Now we have two constructors taking either a filename as string or a
QByteArray with XML data. Loading actual data has been separated into
MultimediaProject::loadData( const QByteArray & ).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 5a00ebd360)
2009-06-11 01:16:30 +02:00
Tobias Doerffel
3d9dc25f0b InstrumentTrack: presetPreviewPlayHandle no longer a friend class
For a long time presetPreviewPlayHandle has been a friend class of
InstrumentTrack as it had to modify MidiPort settings. However the
InstrumentTrack's MidiPort is now accessible via getMidiPort() so
there's no need for keeping presetPreviewPlayHandle a friend class
anymore.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit a6090ebe23)
2009-06-11 00:57:10 +02:00
Tobias Doerffel
5bb9af15ab RemoteVstPlugin: use SplittedThreading model for Proteus VX
Proteus VX requires SplittedThreading model in order to run properly.
Issues with actually working UI interaction still need to be worked
out although it rather looks like a bug in WINE.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit b3c5d498e2)
2009-06-02 00:51:29 +02:00
Tobias Doerffel
66147bebf0 ZynAddSubFX: fixed compilation failure of FLTK if glibc >= 2.10
Fixed compilation failure of FLTK on systems with glibc newer than
version 2.9 where the signature of scandir(...) has changed.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit dc539d88de)
2009-06-01 00:56:27 +02:00
Tobias Doerffel
6b71db0640 ZynAddSubFX: fixed compilation failure of FLTK
Fixed compilation failure of FLTK on broken systems where strchr()
takes a non-const char pointer.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 3003163e9b)
2009-06-01 00:56:20 +02:00
Tobias Doerffel
0c8fdec27c MinGW cross compiling script: fixed invocation of cmake
Fixed invocation of cmake in the MinGW cross compiling script so it
works properly when doing an out-of-tree build (which should be the
default way of building LMMS).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 8c50e0ef9a)
2009-05-31 18:57:32 +02:00
Tobias Doerffel
ca5ba2971b ZynAddSubFX: processed UI files with Fluid from FLTK 1.3 branch
Processed all Fluid UI files with Fluid from FLTK 1.3 branch so the
generated code is up to date.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 5b1900c4d0)
2009-05-31 18:56:01 +02:00
Tobias Doerffel
e0bb2cd043 ZynAddSubFX: integrated FLTK 1.3.0 branch from SVN
Integrated FLTK 1.3.0 branch from SVN which brings UTF8 support and
fully integrated Xft support (SVN rev. 6791).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 8affa66c61)
2009-05-31 18:55:49 +02:00
Tobias Doerffel
41efb51518 TrackView: do not set Qt::WA_OpaquePaintEvent attribute
Due to optimizations in Qt 4.5 setting Qt::WA_OpaquePaintEvent attribute
for TrackView widgets caused a line of distorted pixels at the bottom of
the left part so do not set this attribute anymore (closes #2795861).
(cherry picked from commit cdcc158c03)
2009-05-25 13:48:27 +02:00
Tobias Doerffel
168a68c1b3 ControllerConnection: fixed segfault when finalizing invalid controller
In ControllerConnection::finalizeConnections() we did not check whether
the current controller ID really exists in Song's controller array.
Fixes segfault when loading projects with screwed controller settings.
(cherry picked from commit 6d77f83ae9)
2009-05-19 18:37:11 +02:00
Tobias Doerffel
6066209ef3 lmms.rc.in: advanced copyright notice
Advanced copyright notice in lmms.rc.in which is used as resource file
when building win32 executable.
(cherry picked from commit 34e607f5bb)
2009-05-18 14:35:36 +02:00
Tobias Doerffel
5cd54b3f20 PianoRoll: removed unused variable
Removed unused variable volumeHandles in
PianoRoll::computeSelectedNotes(bool) which as a side-effect also fixes

/usr/include/qt4/QtCore/qvector.h: In member function ‘void PianoRoll::computeSelectedNotes(bool)’:
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
(cherry picked from commit 24353ca248)
2009-05-16 17:02:02 +02:00
Tobias Doerffel
1c38473255 NotePlayHandle: use public method for accessing pitch model
Do not use private m_pitchModel member variable of InstrumentTrack even
if NotePlayHandle is a friend class. Instead use the already existing
InstrumentTrack::pitchModel() method.
(cherry picked from commit 9dcb62c630)
2009-05-16 17:01:57 +02:00
Tobias Doerffel
a6f8e11128 Fixed linker flags when building for OS X
Linker flag "-E" is not supported on OS X so drop it if LMMS_BUILD_APPLE
is defined.
(cherry picked from commit 582393cdba)
2009-05-16 02:50:54 +02:00
Andrew Kelley
27a828e579 don't coerce the installer to use /usr when cmaking.
(cherry picked from commit c53df545ae)

Conflicts:

	INSTALL
2009-05-06 20:22:12 -07:00
Achim Settelmeier
2f5dd60fd9 MainWindow: fixed problems with maximized window-state when using FVWM2
Added a workaround for FVWM2 as showMaximized() does not work with it
unless the window is already visible.
(cherry picked from commit 515f0243b9)
2009-05-05 23:36:25 +02:00
Frederik
03ecb86494 Allow compilation with -Werror=format-security
This commit fixes some calls to functions that are taking a format
string and an optional set of parameters as arguments. At some places
no format string was specified if only a simple C string was to be
sprintf()ed.  However for security reasons this is bad and was replaced
by code like

	sprintf( dest, "%s", str );
(cherry picked from commit af284e980f)
2009-05-05 23:25:35 +02:00
Andrew Kelley
1bc94beae6 fixed dependency on libfluidsynth which did not check LMMS_HAVE_FLUIDSYNTH in 0.4.4 2009-05-05 04:25:08 -07:00
Tobias Doerffel
e565e2e740 Made 0.4.4 release
Bumped version number to 0.4.4 in CMakeLists.txt and README.
2009-05-05 00:42:23 +02:00
Tobias Doerffel
cbc4c7c0aa Pass main window as parent for progress dialog when loading project
Make progress dialog when loading project a proper sub-window of LMMS
by passing main window as parent to constructor of QProgressDialog.
Fixes default window icon and additional taskbar item.
(cherry picked from commit 6929caa777)
2009-05-04 23:26:15 +02:00
Tobias Doerffel
2188ac9741 ZynAddSubFX: added preset collection by Will Godfrey
Added first external ZynAddSubFX preset collection by Will Godfrey.
Downloaded from http://www.musically.me.uk/Collection.zip on May 4th 2009.
License is GPLv2 or later (as of http://www.musically.me.uk/stuff.html).
(cherry picked from commit c2757d6991)
2009-05-04 14:28:03 +02:00
Tobias Doerffel
31b393af58 README: Synced with master branch
Synchronized changes in README in master branch.
2009-05-04 12:31:39 +02:00
Tobias Doerffel
8201a19d4c Added universal codebase for dragging plugin-specific presets
Added new stringPairDrag type "pluginpresetfile", allowing to drag
and drop any kind of plugin-specific preset files everywhere in the
program. Adopted changes in ZynAddSubFX plugin.
(cherry picked from commit ccb65f4b40)
2009-05-03 16:11:01 +02:00
Tobias Doerffel
6b0c083ce5 LadspaControl: set name property for tempoSyncKnobModel
For each model but the tempoSyncKnobModel the name property was properly
passed to the according constructor. This made time-based knobs in LADSPA
effects have no internal name, e.g. there were blank captions in the
knob's context menu or empty titles when used in combination with
automation patterns.
(cherry picked from commit ebd3d26531)
2009-05-03 15:33:39 +02:00
Tobias Doerffel
9c4dc40de1 VstEffect: check whether VST effect has an editor
Depending on whether VST effect has an editor return 1 or 0 in
VstEffectControls::getControlCount(). This prevents the EffectView in
the effect rack from showing a "Controls" button and creating an empty
subwindow.
(cherry picked from commit 3a4ae3a434)
2009-05-03 15:16:59 +02:00
Tobias Doerffel
894ee9ea48 VstPlugin: added hasEditor() method
Added inline method hasEditor() with returns true or false depending on
whether the class received a window ID from the remote plugin.
(cherry picked from commit 044d671471)
2009-05-03 15:16:54 +02:00
Tobias Doerffel
f687591986 EffectView: always check whether effect has a control dialog
Do not add empty subwindows for effects that do not have a control
dialog at all (i.e. Effect::getControlCount() == 0). Also check whether
creation of control dialog was successful. Fixes possible crashes if
something went wrong with the effect (e.g. loading VST effect failed).
(cherry picked from commit 9cced2957c)
2009-05-03 15:16:42 +02:00
Tobias Doerffel
ed02d1d501 InstrumentTrackWindow: clear focus on closeEvent
When closing an InstrumentTrackWindow make sure it doesn't still have
keyboard focus (looks like a bug in Qt) and set focus on
trackLabelButton instead (closes #2780590).
(cherry picked from commit 12d26ed0aa)
2009-04-25 16:41:42 +02:00
Tobias Doerffel
c94d003683 ZynAddSubFX: added support for d'n'd XIZ files onto ZASF plugin
This commit allows the user to drag'n'drop DLL files onto ZynAddSubFX
instrument (inside LMMS).
(cherry picked from commit d38d437349)
2009-04-18 23:56:07 +02:00
Tobias Doerffel
4995b3a87c InstrumentTrackView: save and restore last position of window
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.
(cherry picked from commit 232c1de404)
2009-04-18 18:29:14 +02:00
Tobias Doerffel
8f735d4b06 ZynAddSubFX: do not lock up after rendering project
Do not lock up after rendering project by calling waitForInitDone()
on our own (instead of in RemotePlugin constructor) with busy waiting
disabled.
(cherry picked from commit 75382de976)
2009-04-18 18:18:00 +02:00
Tobias Doerffel
1f99455e67 RemotePlugin: allow waitForInitDone() without busy waiting
An additional parameter to waitForInitDone() allows to disable busy
waiting which could be desired in various places to avoid deadlocks.
(cherry picked from commit 1802b91e55)
2009-04-18 18:17:54 +02:00
Tobias Doerffel
02149d66f5 ZynAddSubFX: do not subclass RemotePlugin
Create an own RemotePlugin object rather than inheriting from it.
This allows to restart ZASF RemotePlugin which for example is required
upon samplerate changes (closes #2626249).

Furthermore this commit cleans up some old unused stuff.
(cherry picked from commit dfab704100)
2009-04-18 18:17:44 +02:00
Tobias Doerffel
c16d1be0a8 RemotePlugin: made lock() and unlock() methods public
Made RemotePlugin::lock() and RemotePlugin::unlock() public allowing
to use RemotePlugin class without subclassing it.
(cherry picked from commit 7200eb8158)
2009-04-18 18:17:38 +02:00
Tobias Doerffel
9009d745e9 ZynAddSubFX: made MIDI pitch bend work
Always send MIDI pitch bend events to MIDI channel 0 for the time being.
Makes MIDI pitch wheel work with ZynAddSubFX.
(cherry picked from commit 9873b880e2)
2009-04-18 14:17:42 +02:00
Tobias Doerffel
601b6c7c59 ZynAddSubFX: properly load/save instrument presets
When loading external XIZ presets, the embedded ZynAddSubFX plugin didn't
apply them completely so it did not save them properly later. This made
ZASF instruments play the default preset when loading the LMMS project
later. Now presets properly get applied to the selected instrument part.
(cherry picked from commit 7a176c8fbb)
2009-04-18 14:17:36 +02:00
Tobias Doerffel
e940acd3cb ZynAddSubFX: integrated into stable-0.4 series
Embedded ZynAddSubFX plugin now is considered to be mature enough to
be part of the stable-0.4 series. This eases builds for everyone as well
as cutting down maintainance work dramatically as we can easily
cherry-pick fixes from master branch now.
2009-04-18 01:02:05 +02:00
Tobias Doerffel
e0a26a35fc PianoRoll: do not make notes disappear under certain circumstances
When starting LMMS, loading an existing project and opening a pattern
with notes inside in piano roll, moving single notes showed unexpected
behaviour, i.e. the according note has been moved somewhere unreachable.

I tracked this down to a missing initialization of m_moveBoundary*
variables. Adding a few lines fixes the issue (closes #2632909).
(cherry picked from commit efb335cea7)
2009-04-17 15:13:44 +02:00
Tobias Doerffel
0edc0db7bd PianoView/PianoRoll: fixed keycodes for OS X
This patch enables the usage of PC keyboard for playing instrument piano
or piano roll on OS X by evaluating nativeVirtualKey rather than
nativeScanCode.
(cherry picked from commit 6f0388be7c)
2009-04-16 10:46:54 +02:00
Tobias Doerffel
52bab63548 RemotePlugin: never lock up if remote plugin died
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.
(cherry picked from commit 656b195cfd)
2009-04-14 00:40:17 +02:00
Tobias Doerffel
0d0288eabe VeSTige: added support for d'n'd DLL files onto VeSTige instrument
This commit allows the user to drag'n'drop DLL files onto VeSTige
instrument. Furthermore VeSTige now registers itself as handler for
loading DLL files.
(cherry picked from commit 1b77346ded)
2009-04-14 00:05:13 +02:00
Tobias Doerffel
833610ea1c FileBrowser: added file type VstPluginFile
Added file type VstPluginFile in order to allow loading DLL files by
an according plugin directly from file browser.
(cherry picked from commit e0d352dc2c)
2009-04-14 00:05:07 +02:00
Tobias Doerffel
9dee41c017 Plugin: try to load all shared libraries first
Try to load all shared libraries before resolving any symbols. Fixes
problems with plugins that are linked against other shared libraries
located in LMMS' plugin directory.
(cherry picked from commit 9a4b4f3cfe)
2009-04-14 00:05:00 +02:00
Tobias Doerffel
1ed140eec4 InstrumentTrack: fixed calculation in midiPitch()
InstrumentTrack::midiPitch() returned 16384 instead of 16383 if pitch
was set to +100 cents. This commit fixes the calculation.
(cherry picked from commit 76662a3a51)
2009-04-13 16:15:38 +02:00
Tobias Doerffel
b93d62124c VstBase/CMakeLists.txt: do not fail with broken wineg++
With newer versions of wineg++ (1.1) errorneously adds the suffix ".exe"
to the target binary. This causes "make install" to fail. Therefore
rename remote_vst_plugin.exe if it exists.
(cherry picked from commit 69ff06e1b9)
2009-04-12 00:11:34 +02:00
Tobias Doerffel
4ec030b518 RemoteVstPlugin: removed obsolete warning
Removed obsolete warning about setting realtime. It's neither important
nor will calling printf()/fprintf() in a RemotePlugin print anything in
LMMS' console output.
(cherry picked from commit 337afffbf1)
2009-04-10 00:08:13 +02:00
Tobias Doerffel
40627ffc53 RemoteVstPlugin: fix issues with uniqueID
Removed the newline character at the end of the uniqueID array, decreased
array size to 5 and initialize last element with 0 after sprintf() call.
(cherry picked from commit 7d1a357076)
2009-04-10 00:07:55 +02:00
Tobias Doerffel
a680dd413d German localization: fixed typo
Fixed typo in German localization file.
(cherry picked from commit f38ccba04a)
2009-04-09 00:28:10 +02:00
Tobias Doerffel
e7b2cfc9f8 InstrumentTrack::masterKey(): fixed miscalculation
Global master pitch wasn't taken into account correctly when calculating
master key of a given key. Made MIDI based instruments behave in the
opposite direction regarding pitch when changing global master pitch.

Thanks to Skiessi for pointing out this issue.
(cherry picked from commit 6e30ae3369)
2009-04-09 00:20:44 +02:00
Tobias Doerffel
315cd1936d RemoteVstPlugin: use std::vector rather than std::list
For some reason, building remote_vst_plugin.cpp with recent
wineg++/gcc-multilib on 64 bit platforms causes undefined symbols:

remote_vst_plugin-JzpHs6.o: In function `std::list<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, VstMidiEvent const&)':
remote_vst_plugin.cpp:(.text._ZNSt4listI12VstMidiEventSaIS0_EE9_M_insertESt14_List_iteratorIS0_ERKS0_[std::list<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, VstMidiEvent const&)]+0x35): undefined reference to `std::_List_node_base::hook(std::_List_node_base*)'

Replacing std::list with std::vector for queueing MIDI events seems to
fix this issue. Consider this as a workaround rather than constructive fix.
(cherry picked from commit c0ff1aa95c)
2009-04-07 12:41:15 +02:00
Tobias Doerffel
2e1c7ce8a2 AudioJack: fixed lockup when getting zombified
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.
(cherry picked from commit b4e38e3978)
2009-04-07 00:16:12 +02:00
Tobias Doerffel
99807eeb98 SongEditor: fixed horizontal scrollbar with Qt 4.5
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.
(cherry picked from commit ff010da5ee)
2009-04-06 00:10:39 +02:00
Tobias Doerffel
af8862fd2a 3rdparty/libsamplerate: updated to version 0.1.7
Updated 3rdparty libsamplerate to version 0.1.7 and bumped requirement
to system's libsamplerate to version 0.1.7.

Besides minor stuff, version 0.1.7 has one important fix:

  * src/src_sinc.c
  Fix a segfault which occurs when memcpy is passed a bad length parameter.
  This bug has zero security implications beyond the ability to cause a
  program hitting this bug to exit immediately with a segfault.
(cherry picked from commit ca5588f747)
2009-03-27 01:40:15 +01:00
Tobias Doerffel
45eaf1439b panning.h: fixed compiler warning
Fixed compiler warning about converting float to Sint16.
(cherry picked from commit 34bbde53e7)
2009-03-26 09:30:17 +01:00
Tobias Doerffel
45a128512b LVSL: track samplerate/tempo changes in VstPlugin base class
Up to now changes of samplerate or tempo only have been tracked by the
VeSTige plugin while e.g. the VstEffect didn't forward such changes to the
RemotePlugin. Moving according code from VeSTige to VstPlugin base class
fixes this issue.
(cherry picked from commit 5dd68ea7f3)
2009-03-22 16:02:52 +01:00
Tobias Doerffel
0cb99b2d67 VstEffect: set displayName property at initialization
In VstEffect constructor set the displayName property in order to make
EffectView display actual plugin name rather than just "VST Effect".
(cherry picked from commit dce6ae9a7d)
2009-03-22 15:34:54 +01:00
Tobias Doerffel
1046c7afb8 Oscillator: reverted recent fix for PM
As of acaaea8204 a samplerate dependent
ratio has been added into calculation of the local phase. This however is
wrong for PM.
(cherry picked from commit 2547bf8d57)
2009-03-22 15:18:55 +01:00
Tobias Doerffel
4569b635d9 RemoteVstPlugin: use SplittedThreading model for MDA plugins
Most of the MDA VST plugins require the SplittedThreading model in order
to run properly. All plugins whose unique ID starts with "mda" will be
driven with the SplittedThreading model.
(cherry picked from commit 96fb6f5a38)
2009-03-22 14:53:54 +01:00
Tobias Doerffel
2828262459 ControllerConnection: export symbols for win32 build
As of ee9e5680b7, LADSPA effect plugins access
ControllerConnection class. We therefore need to export its symbols.
(cherry picked from commit dc7cc064ce)
2009-03-22 01:05:23 +01:00
Tobias Doerffel
a850c1dd43 Oscillator: fixed samplerate dependence of FM/PM
When doing FM/PM, the value of sub-oscillator is globally/locally added to
phase. However when doing this, a ratio between fixed default samplerate and
actual samplerate needs to be taken into account in the phase calculation.

This commit fixes missounding render output when rendering projects with
FM/PM inside at higher samplerates. (Thanks to Skiessi for his ladspa2.mmpz
which clearly brought up this bug)
(cherry picked from commit acaaea8204)
2009-03-21 10:34:58 +01:00
Tobias Doerffel
8ec501d6c6 LadspaEffect: fixed controller connections on samplerate changes
When global samplerate changes, settings of a LADSPA effect are stored in
a temporary object, the effect is reloaded and the settings are restored.
However, controller connections weren't restored properly as the connections
were not finalized. This commit fixes the issue.
(cherry picked from commit ee9e5680b7)
2009-03-19 00:30:10 +01:00
Tobias Doerffel
844aba46b0 MidiImport: fixed mistransposed notes
When importing MIDI files notes were always mistransposed by 9 semitones.
This commit fixes correction of notes' keys so imported MIDI files sound
just like they should.
(cherry picked from commit 617def002b)
2009-03-18 00:07:26 +01:00
Tobias Doerffel
bf03fa7eb2 Vibed: fixed legacy code in NineButtonSelector
In Qt3 we had to take care of drawing background properly if there were
semitransparent child widgets. This code had been ported to the Qt4 version
but is obsolete and causes a crash when for example dragging a Vibed preset
onto an existing instrument track. This commit removes this code.
(closes #2688270)
(cherry picked from commit d3cc908f43)
2009-03-16 18:25:56 +01:00
Tobias Doerffel
7931d65a89 AutomationPatternView: fixed painting of automation data
At low pixels/tact ratio automation was not drawn properly due to miscalculation
of x2 variable. This patch fixes this by adding 1 to x2.
(cherry picked from commit 9ea3c6660d)
2009-03-16 17:50:00 +01:00
Tobias Doerffel
b46e711205 Sf2Player: truncated LOG440 constant
Having LOG440 as double with a mantissa of 51 digits doesn't help anything.
Truncated to float with 9 digits.
(cherry picked from commit 12fd3206b4)
2009-03-16 16:57:19 +01:00
Tobias Doerffel
ec07aef5ac Fixed various types to be suffixed with "_t".
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++.
(cherry picked from commit 7449c4f731)
2009-03-15 21:50:38 +01:00
Tobias Doerffel
49ffdcd5bc MidiPort: subscribe writable rather than readable port when settings
When loading MidiPort settings, erroneously readable port was subscribed rather
than writable port. This commit fixes the issue.
(cherry picked from commit d981b32480)
2009-03-14 19:13:48 +01:00
Tobias Doerffel
8bfcadfcaf MidiAlsaSeq: fixed typo which made output ports not work at all
As of 94d13e84ca, MidiClients::writablePorts()
was not overloaded properly anymore and thus no output ports appeared anymore.
(cherry picked from commit fdc065b8b8)
2009-03-14 19:13:32 +01:00
Tobias Doerffel
c0c729412b MidiPortMenu: minor coding style fixes
(cherry picked from commit bd9be061a0)
2009-03-14 19:13:23 +01:00
Tobias Doerffel
4dbb6a20bd FX-Fader: added accessibleName property for FX faders for not displaying
an empty titlebar in context-menu
(cherry picked from commit c24b923b78)

Conflicts:

	src/gui/fx_mixer_view.cpp
2009-03-14 16:10:13 +01:00
Tobias Doerffel
efbe9c94c0 Various fixes for better OpenBSD compatibility (thanks to Jacob Meuser)
(cherry picked from commit 46097b72d7)

Conflicts:

	src/core/main.cpp
2009-03-12 19:35:49 +01:00
Tobias Doerffel
ab35c12552 AutomationPattern: save and restore length of AutomationPattern to avoid
confusions with the previous auto-resize behaviour
(cherry picked from commit 03bf853a4d)
2009-03-12 19:06:07 +01:00
Tobias Doerffel
2b033627e6 MIDI subsystem: fixed misspelled "writeable" into "writable", minor
coding style fixes
(cherry picked from commit 94d13e84ca)
2009-03-12 01:11:55 +01:00
Tobias Doerffel
76252b461b MidiPort: properly emit portChanged signals when loading settings - fixes
MidiPortMenu showing devices not checked although actually connected
(cherry picked from commit 782156cf70)
2009-03-12 01:11:48 +01:00
Tobias Doerffel
345277d34f PeakControllerEffect: corrected calculation for RMS and moved loops out
of if-branches - results however should be nearly the same but more accurate
and not negative
(cherry picked from commit 3084b361ea)
2009-03-12 00:45:45 +01:00
Tobias Doerffel
0f40a68e75 TrackContainerView: when dragging a preset file into TrackContainerView
load complete track settings rather than just track specific settings -
fixes an issue where the track name was not loaded from the dragged preset
(cherry picked from commit 5976ab5ce2)
2009-03-09 22:48:15 +01:00
Tobias Doerffel
a6fbb8bb2d PatternView: if volume of a step is 95 it was not possible to increase
it to 100 by scrolling up (closes #2656024)

Backported from fa3d004f42 (master)
2009-03-04 19:02:18 +01:00
Tobias Doerffel
95b0607745 MidiImport: per default use bank 0 instead of 128
Backported from 402a2d32f7 (master)
2009-03-04 18:46:39 +01:00
Tobias Doerffel
fc38ce4d96 MidiImport: show an information message if no default soundfont has been
set (closes #2660545)

Backported from e4a6fde320 (master)
2009-03-04 18:45:27 +01:00
Tobias Doerffel
12ba546419 NotePlayHandle: call instrumentTrack::deleteNotePluginData() before
invalidating itself in instrumentTrack's m_notes array - fixes
recording with instruments that under certain circumstances call
notePlayHandle::noteOff() on their own (e.g. Kicker)

Backported from 6e4cc7b270 (master)
2009-02-27 14:20:36 +01: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
a2c0960810 PeakController: always check for m_peakEffect != NULL before using it as
sometimes it keeps NULL due to bugs in PeakController and
PeakControllerEffect deletion (closes #2616486)
2009-02-26 16:25:03 +01:00
Tobias Doerffel
2ff42ac80b added copy constructor implementation for AtomicInt class - fixes build failure with Qt < 4.4.0, fixed typo
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2074 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-23 22:32:31 +00:00
Tobias Doerffel
640f140ef1 made 0.4.3 release
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2071 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-23 19:57:08 +00:00
Tobias Doerffel
fa7085d80f fixed typos
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2070 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-23 19:55:06 +00:00
Tobias Doerffel
6c7e6571e7 reflect changes in MinGW crosscompiling environment
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2068 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-23 18:55:38 +00:00
Tobias Doerffel
9b533f055a rewrote timing of fading animation for not postponing updates of hidden fadeButton until it becomes visible (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2058 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 15:03:23 +00:00
Tobias Doerffel
168b65dfae make sure all buttons in trackOperationsWidget have focus-policy set to Qt::NoFocus in order to make space play song even if you clicked e.g. a mute-button (closes #2486211) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2057 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 15:02:41 +00:00
Tobias Doerffel
625c947d7a move timeLine marker in Piano Roll and autoscroll when recording while playing song (closes #2486334) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2054 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 14:27:42 +00:00
Tobias Doerffel
264ad268ba more record-accompany fixes (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2052 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:57:22 +00:00
Tobias Doerffel
6b875a9181 coding style fixes, improved handling of shared detuningHelper object (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2050 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:44:19 +00:00
Tobias Doerffel
4c93249aae coding style fixes, improved handling of shared detuningHelper object (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2049 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:40:24 +00:00
Tobias Doerffel
c720c1f4c8 stable backport:
fixed various bugs regarding recording:
* 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/branches/lmms/stable-0.4@2048 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-19 13:39:42 +00:00
Tobias Doerffel
1102f03fde reverted rev 2037 as we have custom changes in this file (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2044 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-14 17:35:24 +00:00
Tobias Doerffel
c5d01d5e0d stable backport:
* added missing slot declaration for abortFreeze(), fixes lockup when freezing pattern (closes #2530320)
* update patternView after freezing
* fixed drawing of frozen pattern



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2042 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 23:36:32 +00:00
Tobias Doerffel
e5dddeffb0 stable backport:
* when resampling whole sampleBuffer, set end_of_input = 1 in libsamplerate data struct - fixes lots of zero samples at the end of output buffer (closes #2531452)
* 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/branches/lmms/stable-0.4@2040 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 16:37:15 +00:00
Tobias Doerffel
ab180ad254 integrated latest libsamplerate (0.1.6) which is both faster and more reliable (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2038 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 16:31:01 +00:00
Tobias Doerffel
e867071e43 disable output monitor per default and show click-hint (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2035 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 14:55:46 +00:00
Tobias Doerffel
bc2bf0e30b disable output monitor per default and show click-hint (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2034 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 14:54:54 +00:00
Tobias Doerffel
4db2ef1f7d reverted some of the changes from 2008-11-10 which caused distorted graphics when running LMMS with Qt 4.5 (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2031 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 11:33:04 +00:00
Tobias Doerffel
95df8100a2 various UI related backports from trunk
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2027 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-13 00:07:20 +00:00
Tobias Doerffel
12b07484aa reflect recent changes to MinGW cross compiling environment (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2026 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 23:34:20 +00:00
Tobias Doerffel
fa6e5be636 update patch after loading settings (closes #2486372) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2024 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 23:25:49 +00:00
Tobias Doerffel
84f3ecf76b ensure, cursor is never NULL when painting it in paintEvent()
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2021 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 22:53:07 +00:00
Tobias Doerffel
a4ba618828 do not load samples bigger than 100 MB (closes #2458375) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2019 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 22:18:07 +00:00
Tobias Doerffel
83ce3c21b4 integrated pitanga's patch to fix unquantized BB dragging in song editor. Changed ctrl modifier to alt to be consistent (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2009 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:24:19 +00:00
Tobias Doerffel
48990656b9 integrated pitanga's patch to fix unquantized BB dragging in song editor. Changed ctrl modifier to alt to be consistent (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2008 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:23:32 +00:00
Tobias Doerffel
d3e6f5a348 better workaround for optimizer bug in GCC >= 4.3 (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2006 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:19:18 +00:00
Tobias Doerffel
0d90ac3176 cleanups (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2005 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:18:28 +00:00
Tobias Doerffel
48fe96c9ac added missing header for compilation with GCC 4.4
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2004 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:17:50 +00:00
Tobias Doerffel
1ffe1c0733 simplified formulas for calculating envelope array resulting in about 3x performance with traditional FPU code; loops now can be vectorized by GCC 4.4
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2003 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 13:17:21 +00:00
Tobias Doerffel
aa575bca83 fixed bug: you can use shift+left to move notes past the beginning (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1997 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 09:06:58 +00:00
Tobias Doerffel
b3c9bf011b reworked mixer-threads (synchronization, realization of jobqueue etc.) which results in a much better performance and stability
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1996 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-05 09:03:13 +00:00
Tobias Doerffel
8b3d3f33a7 stable backport of various fixes from trunk
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1972 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-01-27 00:21:37 +00:00
Tobias Doerffel
4fefc16f4b fixed plugins/ directory when updating localization file (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1967 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-22 17:51:51 +00:00
Tobias Doerffel
e1403ee10b in FL_EffectChannel initialize isMuted member - fixes muted FX channels when importing older FLP files (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1965 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-22 16:44:36 +00:00
Tobias Doerffel
6748aa99d1 made 0.4.2 release
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1963 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-19 16:39:05 +00:00
Tobias Doerffel
541d9d5ad6 fixed crash when adding VST effects
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1962 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-19 16:22:10 +00:00
Tobias Doerffel
10f2fab3d2 fixed broken version comparing which indicated 0.x.y to be less than 0.x.y-patch - fixes messed up projects when loading files created with LMMS 0.4.0
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1961 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-19 16:21:34 +00:00
1281 changed files with 204956 additions and 4276 deletions

View File

@@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig)
SET(VERSION_MAJOR "0")
SET(VERSION_MINOR "4")
SET(VERSION_PATCH "1")
SET(VERSION_PATCH "5")
#SET(VERSION_SUFFIX "")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
IF(VERSION_SUFFIX)
@@ -29,13 +29,14 @@ INCLUDE(DetectMachine)
IF(LMMS_HOST_X86_64)
SET(STRIP /opt/mingw64/bin/x86_64-pc-mingw32-strip)
ELSE(LMMS_HOST_X86_64)
SET(STRIP /opt/mingw/bin/i586-mingw32-strip)
SET(STRIP /opt/mingw32/bin/i586-pc-mingw32-strip)
ENDIF(LMMS_HOST_X86_64)
OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON)
OPTION(WANT_CALF "Include CALF LADSPA plugins" ON)
OPTION(WANT_CAPS "Include C* Audio Plugin Suite (LADSPA plugins)" ON)
OPTION(WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON)
OPTION(WANT_FFTW3F "Include SpectrumAnalyzer plugin" ON)
OPTION(WANT_FFTW3F "Include SpectrumAnalyzer and ZynAddSubFX plugin" ON)
OPTION(WANT_JACK "Include JACK (Jack Audio Connection Kit) support" ON)
OPTION(WANT_OGGVORBIS "Include OGG/Vorbis support" ON)
OPTION(WANT_PULSEAUDIO "Include PulseAudio support" ON)
@@ -95,6 +96,14 @@ SET(QT_MIN_VERSION "4.3.0")
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_USE_QTXML 1)
EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_TRANSLATIONS" OUTPUT_VARIABLE QT_TRANSLATIONS_DIR)
IF(LMMS_BUILD_WIN32)
SET(QT_TRANSLATIONS_DIR "/opt/mingw32/share/qt4/translations/")
# hack to allow making moc.exe a symlink to native moc-binary in compatible version
SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe)
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_WIN64)
SET(QT_TRANSLATIONS_DIR "/opt/mingw64/share/qt4/translations/")
ENDIF(LMMS_BUILD_WIN64)
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
@@ -110,6 +119,13 @@ IF(NOT SNDFILE_FOUND)
MESSAGE(FATAL_ERROR "LMMS requires libsndfile1 and libsndfile1-dev >= 1.0.11 - please install, remove CMakeCache.txt and try again!")
ENDIF(NOT SNDFILE_FOUND)
IF(WANT_CALF)
SET(LMMS_HAVE_CALF TRUE)
SET(STATUS_CALF "OK")
ELSE(WANT_CALF)
SET(STATUS_CALF "not built as requested")
ENDIF(WANT_CALF)
IF(WANT_CAPS)
SET(LMMS_HAVE_CAPS TRUE)
SET(STATUS_CAPS "OK")
@@ -148,7 +164,7 @@ IF(WANT_SDL)
SET(STATUS_SDL "OK")
ELSE(SDL_FOUND)
SET(STATUS_SDL "not found, please install libsdl1.2-dev (or similiar) "
"if your require SDL support")
"if you require SDL support")
ENDIF(SDL_FOUND)
ENDIF(WANT_SDL)
IF(NOT LMMS_HAVE_SDL)
@@ -169,7 +185,7 @@ IF(WANT_STK)
ELSE(STK_FOUND)
SET(STK_INCLUDE_DIR "")
SET(STATUS_STK "not found, please install libstk0-dev (or similiar) "
"if your require the Vibed Instrument")
"if you require the Vibed Instrument")
ENDIF(STK_FOUND)
ENDIF(WANT_STK)
@@ -182,7 +198,7 @@ ENDIF(WANT_STK)
# SET(STATUS_PORTAUDIO "OK")
# ELSE(PORTAUDIO_FOUND)
# SET(STATUS_PORTAUDIO "not found, please install libportaudio-dev (or similiar, version >= 1.8) "
# "if your require Portaudio support")
# "if you require Portaudio support")
# ENDIF(PORTAUDIO_FOUND)
#ENDIF(WANT_PORTAUDIO)
IF(NOT LMMS_HAVE_PORTAUDIO)
@@ -199,7 +215,7 @@ IF(WANT_PULSEAUDIO)
SET(STATUS_PULSEAUDIO "OK")
ELSE(PULSEAUDIO_FOUND)
SET(STATUS_PULSEAUDIO "not found, please install libpulse-dev (or similiar) "
"if your require PulseAudio support")
"if you require PulseAudio support")
ENDIF(PULSEAUDIO_FOUND)
ENDIF(WANT_PULSEAUDIO)
IF(NOT LMMS_HAVE_PULSEAUDIO)
@@ -317,7 +333,7 @@ ENDIF(LMMS_BUILD_WIN32)
# check for libsamplerate
IF(WANT_SYSTEM_SR)
PKG_CHECK_MODULES(SAMPLERATE samplerate>=0.1.3)
PKG_CHECK_MODULES(SAMPLERATE samplerate>=0.1.7)
IF(SAMPLERATE_FOUND)
SET(LMMS_HAVE_SAMPLERATE TRUE)
ENDIF(SAMPLERATE_FOUND)
@@ -392,7 +408,7 @@ IF(WIN32)
IF(LMMS_HOST_X86_64)
SET(WINDRES /opt/mingw64/bin/x86_64-pc-mingw32-windres)
ELSE(LMMS_HOST_X86_64)
SET(WINDRES /opt/mingw/bin/i586-mingw32-windres)
SET(WINDRES /opt/mingw32/bin/i586-pc-mingw32-windres)
ENDIF(LMMS_HOST_X86_64)
ADD_CUSTOM_COMMAND(OUTPUT ${WINRC}
COMMAND ${WINDRES}
@@ -426,6 +442,7 @@ ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/lmms.1.gz COMMAND gzip -c ${CMAKE_
ADD_EXECUTABLE(lmms ${lmms_SOURCES} ${lmms_INCLUDES} ${LIBSAMPLERATE_SOURCES} ${LMMS_ER_H} ${lmms_UI_out} lmmsconfig.h ${WINRC} ${CMAKE_BINARY_DIR}/lmms.1.gz)
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -mwindows")
ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND ${STRIP} ${CMAKE_BINARY_DIR}/lmms.exe)
@@ -433,11 +450,17 @@ IF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_WIN64)
INSTALL(FILES /opt/mingw64/bin/QtCore4.dll /opt/mingw64/bin/QtGui4.dll /opt/mingw64/bin/QtXml4.dll /opt/mingw64/bin/libsndfile-1.dll /opt/mingw64/bin/libvorbis-0.dll /opt/mingw64/bin/libvorbisenc-2.dll /opt/mingw64/bin/libvorbisfile-3.dll /opt/mingw64/bin/libogg-0.dll /opt/mingw64/bin/libfluidsynth-1.dll /opt/mingw64/bin/libfftw3f-3.dll /opt/mingw64/bin/SDL.dll DESTINATION .)
ELSE(LMMS_BUILD_WIN64)
INSTALL(FILES /opt/mingw/bin/QtCore4.dll /opt/mingw/bin/QtGui4.dll /opt/mingw/bin/QtXml4.dll /opt/mingw/bin/libz.dll /opt/mingw/bin/libsndfile-1.dll /opt/mingw/bin/libvorbis-0.dll /opt/mingw/bin/libvorbisenc-2.dll /opt/mingw/bin/libvorbisfile-3.dll /opt/mingw/bin/libogg-0.dll /opt/mingw/bin/libfluidsynth-1.dll /opt/mingw/bin/libfftw3f-3.dll /opt/mingw/bin/SDL.dll /opt/mingw/i586-mingw32/bin/mingwm10.dll DESTINATION .)
INSTALL(FILES /opt/mingw32/bin/QtCore4.dll /opt/mingw32/bin/QtGui4.dll /opt/mingw32/bin/QtXml4.dll /opt/mingw32/bin/libz.dll /opt/mingw32/bin/libsndfile-1.dll /opt/mingw32/bin/libvorbis-0.dll /opt/mingw32/bin/libvorbisenc-2.dll /opt/mingw32/bin/libvorbisfile-3.dll /opt/mingw32/bin/libogg-0.dll /opt/mingw32/bin/libfluidsynth-1.dll /opt/mingw32/bin/libfftw3f-3.dll /opt/mingw32/bin/SDL.dll /opt/mingw32/i586-pc-mingw32/bin/mingwm10.dll DESTINATION .)
ENDIF(LMMS_BUILD_WIN64)
ELSE(LMMS_BUILD_WIN32)
IF(NOT LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E")
ENDIF(NOT LMMS_BUILD_APPLE)
INSTALL(TARGETS lmms RUNTIME DESTINATION bin)
INSTALL(FILES ${CMAKE_BINARY_DIR}/lmms.1.gz DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
ENDIF(LMMS_BUILD_WIN32)
#
@@ -450,7 +473,7 @@ FOREACH(_ts_file ${lmms_LOCALES})
STRING(REPLACE "${CMAKE_SOURCE_DIR}/data/locale/" "" _ts_target "${_ts_file}")
STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}")
STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}")
ADD_CUSTOM_TARGET(${_ts_target} COMMAND ${QT_LUPDATE_EXECUTABLE} ${lmms_SOURCES} `find plugins/ -type f -name '*.cpp'` -ts ${_ts_file})
ADD_CUSTOM_TARGET(${_ts_target} COMMAND ${QT_LUPDATE_EXECUTABLE} ${lmms_SOURCES} `find ${CMAKE_SOURCE_DIR}/plugins/ -type f -name '*.cpp'` -ts ${_ts_file})
ADD_CUSTOM_TARGET(${_qm_target} COMMAND ${QT_LRELEASE_EXECUTABLE} ${_ts_file} -qm ${_qm_file})
LIST(APPEND ts_targets "${_ts_target}")
LIST(APPEND qm_targets "${_qm_target}")
@@ -519,21 +542,21 @@ ADD_CUSTOM_TARGET(win32-pkg
COMMAND cp plugins/ladspa_effect/caps/caps.dll tmp/lmms/plugins/ladspa/
COMMAND cp plugins/ladspa_effect/tap/tap*.dll tmp/lmms/plugins/ladspa/
COMMAND cd data && make DESTDIR=${CMAKE_BINARY_DIR}/tmp/lmms/ install
COMMAND mv tmp/lmms/opt/mingw/share/lmms/* tmp/lmms/data/ && rm -rf tmp/lmms/opt
COMMAND cp /opt/mingw/bin/QtCore4.dll tmp/lmms
COMMAND cp /opt/mingw/bin/QtGui4.dll tmp/lmms
COMMAND cp /opt/mingw/bin/QtXml4.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libz.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libsndfile-1.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libvorbis*.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libogg-0.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libfluidsynth-1.dll tmp/lmms
COMMAND cp /opt/mingw/bin/libfftw3f-3.dll tmp/lmms
COMMAND cp /opt/mingw/bin/SDL.dll tmp/lmms
COMMAND cp /opt/mingw/i586-mingw32/bin/mingwm10.dll tmp/lmms
COMMAND mv tmp/lmms/opt/mingw32/share/lmms/* tmp/lmms/data/ && rm -rf tmp/lmms/opt
COMMAND cp /opt/mingw32/bin/QtCore4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/QtGui4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/QtXml4.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libz.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libsndfile-1.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libvorbis*.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libogg-0.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libfluidsynth-1.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/libfftw3f-3.dll tmp/lmms
COMMAND cp /opt/mingw32/bin/SDL.dll tmp/lmms
COMMAND cp /opt/mingw32/i586-mingw32/bin/mingwm10.dll tmp/lmms
COMMAND cp -L ${CMAKE_SOURCE_DIR}/COPYING tmp/lmms/LICENSE.TXT
COMMAND cp -L ${CMAKE_SOURCE_DIR}/README tmp/lmms/README.TXT
COMMAND /opt/mingw/bin/i586-mingw32-strip tmp/lmms/lmms.exe tmp/lmms/plugins/*.dll tmp/lmms/plugins/ladspa/*.dll
COMMAND /opt/mingw32/bin/i586-pc-mingw32-strip tmp/lmms/lmms.exe tmp/lmms/plugins/*.dll tmp/lmms/plugins/ladspa/*.dll
COMMAND mv tmp/lmms tmp/lmms-${VERSION}
COMMAND cd tmp && zip -r -9 ../lmms-${VERSION}-bin-win32.zip lmms-${VERSION}/*
COMMAND rm -rf tmp
@@ -589,10 +612,12 @@ MESSAGE(
"* VST-instrument hoster : ${STATUS_VST}\n"
"* VST-effect hoster : ${STATUS_VST}\n"
"* SpectrumAnalyzer : ${STATUS_FFTW3F}\n"
"* CALF LADSPA plugins : ${STATUS_CALF}\n"
"* CAPS LADSPA plugins : ${STATUS_CAPS}\n"
"* CMT LADSPA plugins : ${STATUS_CMT}\n"
"* TAP LADSPA plugins : ${STATUS_TAP}\n"
"* SWH LADSPA plugins : ${STATUS_SWH}\n"
"* ZynAddSubFX : ${STATUS_FFTW3F}\n"
)
MESSAGE(

188
ChangeLog
View File

@@ -1,3 +1,191 @@
2009-02-23 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* README:
* CMakeLists.txt:
made 0.4.3 release
* include/atomic_int.h:
- fixed typo
- added copy constructor implementation for AtomicInt class - fixes
build failure with Qt < 4.4.0
* CMakeLists.txt:
fixed typos
* cmake/modules/FindSTK.cmake:
* CMakeLists.txt:
reflect changes in MinGW crosscompiling environment
2009-02-19 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/fade_button.h:
* src/gui/widgets/fade_button.cpp:
rewrote timing of fading animation for not postponing updates of
hidden fadeButton until it becomes visible
* src/gui/widgets/automatable_button.cpp:
* src/core/track.cpp:
make sure all buttons in trackOperationsWidget have focus-policy
set to Qt::NoFocus in order to make space play song even if you clicked
e.g. a mute-button (closes #2486211)
* include/note.h:
* src/core/note.cpp:
- coding style fixes
- improved handling of shared detuningHelper object
* include/instrument_track.h:
* include/piano_roll.h:
* src/gui/piano_roll.cpp:
* src/gui/song_editor.cpp:
* src/tracks/instrument_track.cpp:
fixed various bugs regarding recording:
- 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)
- move timeLine marker in Piano Roll and autoscroll when recording while
playing song (closes #2486334)
2009-02-14 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/3rdparty/samplerate/samplerate.h:
reverted rev 2037 as we have custom changes in this file
2009-02-13 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/pattern.h:
* src/tracks/pattern.cpp:
- added missing slot declaration for abortFreeze(), fixes lockup when
freezing pattern (closes #2530320)
- update patternView after freezing
- fixed drawing of frozen pattern
* include/sample_buffer.h:
* src/core/sample_buffer.cpp:
- when resampling whole sampleBuffer, set end_of_input = 1 in
libsamplerate data struct - fixes lots of zero samples at the end
of output buffer (closes #2531452)
- coding style fixes
- removed obsolete save/restore of EOF-property in libsample rate
data struct when resampling successively (always use 0)
* src/3rdparty/samplerate/src_linear.c:
* src/3rdparty/samplerate/samplerate.h:
* src/3rdparty/samplerate/src_sinc.c:
* src/3rdparty/samplerate/src_zoh.c:
* src/3rdparty/samplerate/samplerate.c:
* CMakeLists.txt:
integrated latest libsamplerate which is both faster and more reliable
* src/gui/widgets/visualization_widget.cpp:
disable output monitor per default and show click-hint
2009-02-12 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/group_box.h:
* src/gui/widgets/effect_rack_view.cpp:
backport: manage effectRackView with a QVBoxLayout
* src/gui/widgets/controller_rack_view.cpp:
* src/gui/widgets/effect_rack_view.cpp:
backport: prevent Horizontal bars from appearing in some cases
* cmake/modules/Win32Toolchain.cmake:
reflect recent changes to MinGW cross compiling environment
* plugins/sf2_player/sf2_player.cpp:
update patch after loading settings (closes #2486372)
* src/gui/piano_roll.cpp:
ensure, cursor is never NULL when painting it in paintEvent()
* src/core/sample_buffer.cpp:
do not load samples bigger than 100 MB (closes #2458375)
2009-02-05 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* plugins/ladspa_effect/caps/dsp/Eq.h:
better workaround for optimizer bug in GCC >= 4.3
* plugins/sid/sid_instrument.cpp:
* plugins/flp_import/unrtf.cpp:
* src/core/track.cpp:
added missing header for compilation with GCC 4.4
* include/pattern.h:
* src/tracks/pattern.cpp:
cleanups
* src/core/envelope_and_lfo_parameters.cpp:
- simplified formulas for calculating envelope array resulting in about
3x performance with traditional FPU code
- loops now can be vectorized by GCC 4.4
* include/atomic_int.h:
* include/audio_port.h:
* include/mixer.h:
* src/core/mixer.cpp:
reworked mixer-threads (synchronization, realization of jobqueue etc.)
which results in a much better performance and stability
2009-02-04 Andrew Kelley <superjoe30/at/gmail/dot/com>
* src/gui/piano_roll.cpp:
fixed bug: you can use shift+left to move notes past the beginning
2009-02-01 Andrew Kelley <superjoe30/at/gmail/dot/com>
* src/core/track.cpp:
integrated pitanga's patch to fix unquantized BB dragging in
song editor. Changed ctrl modifier to alt to be consistent.
2009-01-25 Paul Giblock <drfaygo/at/gmail/dot/com>
* src/tracks/bb_track.cpp:
Integrate broken BB-clone bug from pitanga
2009-01-25 Paul Giblock <drfaygo/at/gmail/dot/com>
* src/gui/widgets/knob.cpp:
Fix infinite recursion on Mac OSX
* plugins/flp_import/unrtf/html.c:
* plugins/flp_import/unrtf/output.h:
* plugins/flp_import/unrtf/convert.c:
Avoid compile warnings
2008-12-22 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* CMakeLists.txt:
fixed plugins/ directory when updating localization file
* plugins/flp_import/flp_import.cpp:
in FL_EffectChannel initialize isMuted member - fixes muted FX channels
when importing older FLP files
2008-12-19 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* CMakeLists.txt:
* README:
made 0.4.2 release
* plugins/vst_base/vst_plugin.h:
* plugins/vst_base/vst_plugin.cpp:
* plugins/vst_effect/vst_effect_control_dialog.cpp:
* plugins/vst_effect/vst_effect.cpp:
* plugins/vestige/vestige.cpp:
fixed crash when adding VST effects
* include/project_version.h:
* src/core/project_version.cpp:
fixed broken version comparing which indicated 0.x.y to be less than
0.x.y-patch - fixes messed up projects when loading files created
with LMMS 0.4.0
2008-12-17 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* CMakeLists.txt:

View File

@@ -5,11 +5,10 @@ then run
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr
cmake ../
make
sudo make install
This way an out-of-tree build is performed. You can also run "cmake ." directly
in the root of source-tree although this is not recommended. When performing an
out-of-tree build after there's already an in-tree build, make sure to run
@@ -23,3 +22,9 @@ that are going to be built into LMMS or built as plugins. Install the
according libraries and development files if a certain feature is not enabled.
Then remove CMakeCache.txt and run cmake again.
If you want to supply an install prefix to cmake, add the flag:
-DCMAKE_INSTALL_PREFIX=<prefix>
Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /usr/local.

13
README
View File

@@ -1,7 +1,7 @@
Linux MultiMedia Studio 0.4.1
Linux MultiMedia Studio 0.4.5
==============================
Copyright (c) 2004-2008 by LMMS-developers
Copyright (c) 2004-2009 by LMMS-developers
This program is free software; you can redistribute it and/or modify
@@ -52,15 +52,16 @@ Required libraries:
- Qt >= 4.3.0 with devel-files (4.4.x recommended)
Optional, but strongly recommended:
- libalsa with devel-files
- JACK with devel-files
- libvorbis & libogg with devel-files
- libfluidsynth with devel files
- libalsa with devel-files
- SDL with devel-files
- libsamplerate >= 0.1.3 with devel-files
- libsamplerate >= 0.1.7 with devel-files
- libsndfile with devel-files
- WINE + WINE-devel-files
- stk, libstk + libstk-dev
- JACK with devel-files
- libfluidsynth with devel files
- fftw3 with devel-files
For compiling you should have an up to date GCC with g++.

72
TODO
View File

@@ -1,52 +1,32 @@
- do not process effects when playing frozen patterns
- select number of channels in export-project-dialog
- try to make vestige-plugin-dlls relative
- do song-editor-tempo-connection to vst-plugin inside remoteVSTPlugin
- add/remove-steps button in bb-editor for adding/removing according number of steps to/from all patterns of visible beat/baseline
- replace rest of wizard by simple directory-selection-dialog for working-dir when running the first time
- correctly load steps/dots from FLP-files
- convert FL-Plucked!-parameters to Vibed-parameters
- in flp-import-filter: merge play-list-items if possible
- integrated sample-browser in context-menu of sample-track/-tco
- make note able of journalling
- before calling undoStep/redoStep from journallingObject, save journalling-state-context and disabled journalling, restore afterwards
- intelligent journal-entry-merging
- undo/redo-support in note/track etc.
- save tco-settings in trackContentWidget::saveSettings() etc. instead of track::...
- restore stacking-order of windows when loading project
- bristol-bindings?
- resample sample-track-tcos when using hq-mode
- add support for panes-interface (like blender) (instead of MDI etc.)
Version 0.4.x
=============
- save tco-settings in trackContentWidget::saveSettings() etc. instead of
track::...
- resample sample-track-tcos when exporting at different samplerate
- message to user when importing unsupported MIDI-file (track-count = 0)
- AMS/OMS-bindings
- remove binary-embed-system (Qt4-resource-system?)
- recording-functionality
- do not hang when saving while loading VST-plugin (because then we call dispatcher while the load-process is still going on)
- tempo-recogn. and sync of beat-samples
- make color-scheme switchable: LMMS / user
- piano roll: mouse cursor isn't updated correctly in selection mode
(from resizing note edit area)
- when you add vestige, have it automatically pop the find VST plugin dialog
- try to make vestige-plugin-dlls relative
- select all MIDI devices by default when you bring up the "connect to controller"
window and wait for first event - then uncheck all other MIDI devices that no
events were detected from
- load asdlol.mmpz. if you render it without playing it, or if you play it
the first time, you hear unwanted artifacts. (solution: apply automation
before playing)
- autosave every 30s (configurable!) and offer recovery at startup after crash
- make piano-roll use rubberband instead of implementing a simple one on it's own
- level-meters in output-graph and instrument-track
- MIDI-program/MIDI-mapping/process program-/channel-change-events from MIDI-files
- DSSI-support
- use drawLineF() for drawing notes in pattern::paintEvent() in qt4-version
- only redraw region given by paint-event in pattern, bbTCO, sampleTCO etc.
- pre-listen when opening sample with QFileDialog
- panning-editing in piano-roll
- speed up painting of sampleTCO
- panning env+lfo
- rewrite export-project-dialog using layout-mechanism
- make piano-roll use the global clipboard??
- add more localizations:
- Swedish
- Norwegian
- Greece
- ...
- do not process effects when playing frozen patterns
- copy-pasted automation patterns have to be manually linked back to
their knob for some reason
- improve TrackLabelButton: split 80%-20% (80%=name, 20%=button showing a popup
menu with track operations, make the midi input a top-level menu item)
- when you click and drag a mixer bar, it doesn't click and drag, it sets
absolutely. this is annoying
- effect-board -> live-fx from input
- chord-editor?
- WAVE/OGG/MP3-Import -> FFT-analysis -> write notes
- classical note-edit-window -> also ability of printing and maybe later scanning & recognition of notes
- add FLAC as export-format?
See TODO file in master branch and/or the TODO list in the Wiki for details
regarding the development series.

View File

@@ -1,7 +1,4 @@
MINGW=/opt/mingw
MINGW=/opt/mingw32
export PATH=$PATH:$MINGW/bin
#./configure --prefix=$MINGW --host=i586-mingw32 CC=$MINGW/bin/i586-mingw32-gcc CXX=$MINGW/bin/i586-mingw32-g++ DLLTOOL=$MINGW/bin/i586-mingw32-dlltool OBJDUMP=$MINGW/bin/i586-mingw32-objdump RANLIB=$MINGW/bin/i586-mingw32-ranlib AR=$MINGW/bin/i586-mingw32-ar AS=$MINGW/bin/i586-mingw32-as STRIP=$MINGW/bin/i586-mingw32-strip --with-qtdir=$MINGW --with-win32 CFLAGS="-mtune=generic -mmmx -fno-strict-aliasing" CXXFLAGS="-mtune=generic -mmmx -fno-strict-aliasing"
#./configure --prefix=$MINGW --host=i586-mingw32 --build=i586-mingw32 CC=$MINGW/bin/i586-mingw32-gcc CXX=$MINGW/bin/i586-mingw32-g++ --with-qtdir=$MINGW --with-win32
cmake . -DCMAKE_TOOLCHAIN_FILE=cmake/modules/Win32Toolchain.cmake
cmake .. -DCMAKE_TOOLCHAIN_FILE=cmake/modules/Win32Toolchain.cmake

View File

@@ -1,6 +1,6 @@
FIND_PATH(STK_INCLUDE_DIR Stk.h /usr/include/stk /usr/local/include/stk ${CMAKE_INSTALL_PREFIX}/include/stk)
FIND_PATH(STK_INCLUDE_DIR Stk.h /usr/include/stk /usr/local/include/stk ${CMAKE_INSTALL_PREFIX}/include/stk ${CMAKE_FIND_ROOT_PATH}/include/stk)
FIND_LIBRARY(STK_LIBRARY NAMES stk PATH /usr/lib /usr/local/lib ${CMAKE_INSTALL_PREFIX}/lib)
FIND_LIBRARY(STK_LIBRARY NAMES stk PATH /usr/lib /usr/local/lib ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_FIND_ROOT_PATH}/lib)
IF (STK_INCLUDE_DIR AND STK_LIBRARY)
SET(STK_FOUND TRUE)

View File

@@ -1,26 +1,28 @@
SET(MINGW_PREFIX /opt/mingw32)
# this one is important
SET(CMAKE_SYSTEM_NAME Windows)
#this one not so much
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_SYSTEM_PROCESSOR i686)
SET(CMAKE_INSTALL_PREFIX /opt/mingw)
SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX})
SET(CC_PREFIX /opt/mingw)
# specify the cross compiler
SET(CMAKE_C_COMPILER ${CC_PREFIX}/bin/i586-mingw32-gcc)
SET(CMAKE_CXX_COMPILER ${CC_PREFIX}/bin/i586-mingw32-g++)
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}/bin/i586-pc-mingw32-gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}/bin/i586-pc-mingw32-g++)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH /opt/mingw)
SET(CMAKE_FIND_ROOT_PATH /opt/mingw32)
SET(QT_BINARY_DIR ${CC_PREFIX}/bin)
SET(QT_LIBRARY_DIR ${CC_PREFIX}/lib)
SET(QT_QTCORE_LIBRARY ${CC_PREFIX}/lib/libQtCore4.a)
SET(QT_INCLUDE_DIR ${CC_PREFIX}/include/qt4)
SET(QT_QTCORE_INCLUDE_DIR ${CC_PREFIX}/include/qt4/QtCore)
SET(QT_MKSPECS_DIR ${CC_PREFIX}/share/qt4/mkspecs)
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
SET(QT_LIBRARY_DIR ${MINGW_PREFIX}/lib)
SET(QT_QTCORE_LIBRARY ${MINGW_PREFIX}/lib/libQtCore4.a)
SET(QT_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4)
SET(QT_HEADERS_DIR ${MINGW_PREFIX}/include/qt4)
SET(QT_QTCORE_INCLUDE_DIR ${MINGW_PREFIX}/include/qt4/QtCore)
SET(QT_MKSPECS_DIR ${MINGW_PREFIX}/share/qt4/mkspecs)
SET(QT_MOC_EXECUTABLE ${QT_BINARY_DIR}/moc.exe)
SET(QT_RCC_EXECUTABLE ${QT_BINARY_DIR}/rcc.exe)
SET(QT_QMAKE_EXECUTABLE /usr/bin/qmake)
@@ -32,8 +34,8 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(PKG_CONFIG_EXECUTABLE ${CC_PREFIX}/bin/pkg-config)
SET(PKG_CONFIG_EXECUTABLE ${MINGW_PREFIX}/bin/pkg-config)
INCLUDE_DIRECTORIES(${CC_PREFIX}/include)
LINK_DIRECTORIES(${CC_PREFIX}/lib ${CC_PREFIX}/bin)
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin)

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,5 @@
INCLUDE(InstallHelpers)
INSTALL_DATA_SUBDIRS("presets" "*.xpf")
INSTALL_DATA_SUBDIRS("presets" "*.xiz")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More