Compare commits

...

2527 Commits

Author SHA1 Message Date
Hyunjin Song
55eb831507 Bump version to 1.2.0-rc8 2019-02-19 10:53:42 +09:00
Hyunjin Song
97e738aa42 AppImage: bundle JACK fallback library correctly 2019-02-19 10:51:43 +09:00
liushuyu
71dbfb5297 i18n: pull from Transifex 2019-02-18 16:42:03 -07:00
Dominic Clark
505c642fbc Bring back PortAudio support on Windows (#4770)
Population of the PortAudio setup widget has been delayed until it is shown, as it was causing crashes on some systems.
2019-02-17 20:07:40 +01:00
Douglas
8d707df171 Fix Bitinvader waveform cutoff behavior 2019-02-15 11:31:01 +09:00
Hyunjin Song
fcacf44375 Ensure the restore button of a subwindow shows up correctly (#4819)
* SubWindow: ensure the restore button shows up correctly
* Remove old workaround for the maximize behavior on Mac
2019-02-12 05:27:08 +00:00
Javier Serrano Polo
e94d1c91e9 Move QT_X11_NO_NATIVE_MENUBAR to code (#4818)
Set Qt::AA_DontUseNativeMenuBar
Remove QT_X11_NO_NATIVE_MENUBAR from desktop launcher
2019-02-11 19:03:50 +00:00
Hubert Figuière
bbedfa9ec5 Fix Linux HiDPI handling
Fix HiDPI order of operations, remove shortcut technique
2019-02-09 04:41:24 +00:00
Javier Serrano Polo
3c88541345 Follow instructions from cartr/homebrew-qt4 (#4815) 2019-02-07 13:02:34 -05:00
Dominic Clark
c907fcdca5 Don't let silent instruments wake up sleeping effects (#4792) 2019-02-06 19:25:11 +01:00
Johannes Lorenz
d9b5ee03fe Fix CI by reverting rpmalloc 2019-02-02 11:09:16 +01:00
Javier Serrano Polo
b28d405240 Disable built-in NaN handler through hidden setting (#4787)
* Disable built-in NaN handler through hidden setting

* Reuse code
2019-01-31 23:12:45 +01:00
Johannes Lorenz
0a47b0c8cd Fixes #4752: Update rpmalloc 2019-01-30 22:39:23 +01:00
Johannes Lorenz
42df251c66 Fix address in doc/AUTHORS
[ci skip]
2019-01-30 22:18:15 +01:00
Johannes Lorenz
fdccb38989 Fixes #4778: Update mailmap
[ci skip]
2019-01-30 21:56:32 +01:00
Oskar Wallgren
8618ab5d8f Increase forced clipping level 2019-01-28 19:12:06 +01:00
Hyunjin Song
c1ae1ed5f4 MIDI import/export: map note volume and MIDI velocity with their full range (#4785)
* MIDI export: map volume to MIDI velocity correctly

* MIDI import: map MIDI velocity to note volume with full range
2019-01-21 18:49:25 +01:00
Oskar Wallgren
6df6f12a3d Pianoroll - Add checkpoint before moving notes 2019-01-20 14:33:16 +01:00
Oskar Wallgren
dd99f3a7c4 Improve handling of nan/inf (#4743)
* If we find NaN/inf, we declare the whole buffer bad and set it to 0.0f. This
 is because the noise leading up to, or coming from, an infinite or NaN value
 is often very large and will create problems later in the sound chain. Especially
 if it hits a delay based fx with feedback.

 * We bump the clipping level to +/-10.0f.
2019-01-20 11:47:22 +01:00
Dominic Clark
1faaf008c8 Don't memcpy null pointer 2019-01-19 16:29:15 +00:00
Dominic Clark
227e88a347 Fix file extension list in translations 2019-01-19 16:29:15 +00:00
Dominic Clark
79374b3a0f Link RemoteZynAddSubFx with -mwindows 2019-01-19 16:29:15 +00:00
Dominic Clark
69a51eb28b Enable VST sync by default 2019-01-19 16:29:15 +00:00
Douglas
1404b723b5 Initialize peak controller last sample with base value fix (Stable 1.2) (#4699) 2019-01-16 19:59:40 +00:00
Javier Serrano Polo
8dea34e1b8 Do not depend on Git history, use data from 2019-01-07 (#4763) 2019-01-16 03:08:14 +01:00
Javier Serrano Polo
e074841d44 Fix before_deploy (#4764) 2019-01-14 09:47:34 +01:00
Tres Finocchiaro
d9f5e8a6df Fix left 1px lfo graph
Closes #4597, supersedes #4613
2019-01-12 23:17:24 -05:00
Tres Finocchiaro
f382e5e36f Fix builds on macOS Mojave 10.14 (#4767) 2019-01-10 23:43:00 -05:00
T0NIT0 RMX
e2de0ece8c Fix infinite MIDI note with VST made in Cabbage (LMMS#4380) (#4766) 2019-01-10 20:00:40 +01:00
Hyunjin Song
2ee02d97cb Keep off-grid position of TCOs on group moving (#4262) 2019-01-06 19:21:35 +09:00
Javier Serrano Polo
7f0593c601 Add source build artifact (#4744) 2019-01-03 21:44:49 +01:00
Oskar Wallgren
4c7ca3972c Don't render Automation tracks in the Beat/Bassline (#4747) 2018-12-31 15:50:57 +01:00
Oskar Wallgren
a3ede058cd FX autoquit disabled by default (#4378)
Really short notes doesn't work well with delay based effects with the default
decay settings of the FX autoquit system where the effect can cut out. Set
autoquit as disabled by default.
Decay and Gate knobs are now also disabled when autoquit is disabled.
2018-12-31 15:50:11 +01:00
Javier Serrano Polo
4d2e89bee2 Add Debian sid Clang build pass (#4735) 2018-12-27 20:15:42 +01:00
xy124
dd6d4a552b Fix broken FxLine tool tips (#3321) 2018-12-24 13:42:34 +01:00
Hyunjin Song
e1d9d899fd Fix lost control links in copied automation patterns (#4723)
This hack should be removed once the automation system gets fixed.
2018-12-22 11:37:34 +09:00
Javier Serrano Polo
642b5e7d04 Add Debian sid i386 build pass (#4727) 2018-12-19 12:45:33 +01:00
Javier Serrano Polo
698c39d385 Add Debian sid build pass (#4707)
* Add Debian sid build pass

* Update file locations and copyright

* Use ccache

* Redirect within sudo

* Work around a pbuilder bug which breaks ccache

* Debian: enable parallel builds

* Travis: Debian: fix caching

* Fix shellcheck warnings
2018-12-09 11:19:15 +01:00
Dominic Clark
9c9290eeeb Support more than 62 simultaneous VST plugins for Qt<5.10 2018-12-08 00:30:45 +01:00
Dominic Clark
614bca7f04 Make ppqPos in VST sync sample accurate 2018-12-08 00:30:45 +01:00
Dominic Clark
3a94ed3f3f Fix occasional Sinnah hang 2018-12-08 00:30:45 +01:00
Dominic Clark
277e8b6444 Don't create MDI subwindow for VSTi without GUI 2018-12-08 00:30:45 +01:00
Javier Serrano Polo
c3b07a5092 New pixmap as per #4519 (#4708) 2018-11-16 21:45:19 +01:00
Javier Serrano Polo
ff060982ac Add initial Debian packaging for stable-1.2 (#4697)
* Add initial Debian packaging for stable-1.2

* Drop Debian menu entry
2018-11-14 14:01:00 +01:00
Dominic Clark
2070ef21f5 Handle automation on processing thread (#4692) 2018-11-13 07:24:08 +09:00
Karmo Rosental
a8828d332c Update TimeLineWidget 60 times per second (#4703)
In addition to #4570.
2018-11-09 16:20:38 +09:00
Hyunjin Song
86f9a75d98 Fix song editor visualization after maximizing (#4698) 2018-11-07 13:41:03 +09:00
Hyunjin Song
d8fb07ff52 Fix minor glitches with sample tracks (#4666)
Switches some signal-slot connections to Qt::DirectConnection.
Now LMMS can handle loop points correctly and export samples without glitches.
Also tweaks some Mixer-related code to avoid related deadlocks on export.
2018-10-29 16:17:41 +09:00
Hyunjin Song
1f7cd3ed5a Allow building SF2 player with FluidSynth 2.x (#4678)
Resolves the incompatibility between FluidSynth 1.x and 2.x
due to some API changes by shimming some functions.

Note that 1.x and 2.x are not binary compatible.
2018-10-28 10:31:33 +09:00
Johannes Lorenz
5c362e51ac Fix not saving some automations (#4632) (#4667)
Save automation of
* Track::muted
* Track::solo
* EffectChain::enabled
2018-10-24 22:23:21 +02:00
Hyunjin Song
1ab1280843 Don't quit CLI rendering when failed to load sample files
Per https://github.com/LMMS/lmms/pull/3293#discussion_r225765957
2018-10-23 12:43:25 +09:00
Tobias Junghans
811188bb7a Update name in mailmap
[ci skip]
2018-10-21 18:19:42 +02:00
Johannes Lorenz
fbdd09dbf5 Fix german locale ('<Strg> + Mittelklick') 2018-10-11 19:28:41 +02:00
Hyunin Song
7aeddc648a Fix unit tests for automation
Cherry-picked from 'master'.
Orignal commit: 0a6a6d1a77
2018-10-08 16:20:03 +09:00
Hyunjin Song
43b700d23c Ensure correct TCOs after cloning tracks into the BB editor
Previously BBTrackContainerView::dropEvent always deleted
the TCOs of dropped tracks. It made dropped tracks unusable.
As of this commit, the function checks for correct TCOs.
If incorrect TCOs exist, the function remove them and add empty ones.
2018-10-08 12:33:00 +09:00
Hyunjin Song
5a92105735 Don't always treat empty long patterns as BB patterns
Due to the wrong condition for GUI handling, empty patterns longer than 1 bar
was treated as BB patterns though they don't really look like.
This commit drops the erroneous check and fixes related GUI issues.
2018-10-08 12:33:00 +09:00
Hyunjin Song
fb5c8f510a Fix VST track cloning in Beat/Bassline editor 2018-10-08 12:33:00 +09:00
Hyunjin Song
9799f3ca1c Fix Carla detection in AppImage launcher script
Fixes a typo which hardcodes Carla path at the packaging time.
2018-10-04 14:24:52 +09:00
Hyunjin Song
a2685c1cca Bump version to 1.2.0-rc7 2018-09-25 16:47:51 +09:00
Umcaruje
8154f886ed Update the LMMS logo and mimetypes (#4519)
* Update the LMMS logo and mimetypes

* fix bmp for nsis installer

* Update window and About icons, rename icons, change the file association logic

* Fix NSIS

* Revert nsh patch

* Fix small icon

* Always write DefaultIcon in the registry

* Fix file permissions

* Fix nsis branding

* Fix nsis branding #2

* update the icon windows and linux

* Update apple icon, add windows visual manifest

* try to fix windows installation

* typo

* typo 2

* Set small logo to conform to 48x48 grid
2018-09-24 11:09:49 +02:00
Johannes Lorenz
93dc557c56 Add bash completion (#4534) (#4604)
* Add bash completion (#4534)
2018-09-23 21:17:39 -04:00
Hyunjin Song
9fe74c2730 Specify infinte timeout in tryLock on export
Ensures remote plugins always process sound on export.
Follow-up of 408b72c798.
2018-09-19 19:52:08 +09:00
Karmo Rosental
dd7b0865fb Update UI 60 times per second (#4570)
* Update UI 60 times per second

* Adjust falloff values
2018-09-17 23:49:25 +09:00
Tres Finocchiaro
153f15f4b4 Add Carla support for MacOS (#4558)
Add Carla support for MacOS
2018-09-15 09:32:29 -04:00
Hyunjin Song
91ca660161 Fallback to default audio/MIDI backends if invalid one is set
Also shows the setup dialog in case of invalid audio backends
2018-09-13 11:01:49 +09:00
Hyunin Song
3064f03818 Validate audio/MIDI backend when opening setup dialog
Original work: #4372 by @justnope
2018-09-13 11:01:49 +09:00
Johannes Lorenz
a5a13b1256 Restructure help
* Allow actions (dump, render*, upgrade) without minuses
* Restructure help in CLI
* Restructure help in man pages
2018-09-12 22:25:33 +02:00
Hyunjin Song
f37ca49e6d Fix decimal separator handling (#4547)
Makes LMMS can handle both periods and commas properly when loading real numbers.
2018-09-12 11:02:40 +09:00
Dominic Clark
c3db486be0 Set VST program first when restoring settings
Fixes a bug where some VSTs (e.g. Temper) would have their settings reset on project load, due to using programs as presets.
2018-09-11 22:01:11 +09:00
justnope
4c7c68f45a Initialise OLE in RemoteVstPlugin
Some plugins don't initialise it themselves, expecting it already to be
done for them, and so are liable to hang without it (e.g. TX16Wx).

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2018-09-11 22:01:11 +09:00
DomClark
0ad8527ff7 Link RemoteVstPlugin with -mwindows
Stops each remote plugin process spawning a console host, and seems more in line with what other hosts do.
2018-09-11 22:01:11 +09:00
DomClark
53dadd5735 Fix VST windows resizing a little incorrectly
This was fixed for setting the initial size of the window in 8e9f74d, but I missed the resizing case.
2018-09-11 22:01:11 +09:00
DomClark
2c5cda563b Fix kVstTransportChanged flag usage in VST sync
Changed according to feedback from AudioBlast. The flag used to be set most of the time, now it is only set when playback starts/stops, looping is toggled, or playback jumps around.
2018-09-11 22:01:11 +09:00
DomClark
cc2ae66540 Fix hang when updateInOutCount called from processReplacing
Ignore requests to change the I/O count from within processReplacing and print a warning instead; the shared memory is in use so it can't be reallocated. Add a special case to return immediately if the I/O count hasn't changed at all; this will prevent spurious warnings when the plugin is only updating the latency and should reduce unnecessary reallocations in general.
2018-09-11 22:01:11 +09:00
DomClark
de427bbcf8 Suspend plugin when changing sample rate/buffer size
Some plugins ignore updates to these values if they're changed while the plugin is in a "resumed" state, resulting in incorrect tuning after a change of sample rate.
2018-09-11 22:01:11 +09:00
Lukas W
6f32c962b4 Fix invisible editors on project load by validating size (#4502) 2018-09-03 19:39:23 +09:00
Tobias Kortkamp
4bb6586c66 Allow building with sndio support on more systems than just OpenBSD (#4486)
Sndio also supports FreeBSD and Linux.
2018-08-27 16:19:23 -04:00
Hyunjin Song
a0cbcb6ec4 Remove Qt temporary files after loading ZynAddSubFX settings (#4551) 2018-08-25 15:29:40 +09:00
Hyunjin Song
7f541a544e Don't try to clear null buffer in NotePlayHandle::play (#4545)
This is a workaround for rare crashes when changing the tempo
while playing notes with stacking and/or arpeggio.
When playing the master note, _working_buffer is null.
Tempo change causes false positive in the check because
NotePlayHandle::resize changes m_totalFramesPlayed.
Thanks to 6fc4577f10, we can safely drop
the memset call.
2018-08-22 20:17:56 +09:00
Michael Gregorius
160488c096 Make the oscilloscope colors available as properties
Make the oscilloscope colors available as properties so that they can be
changed via style sheets. Adjust the existing styles to use the colors
that have been hard coded previously.

Cleanup the paintEvent method of VisualizationWidget, e.g. by extracting
a method to determine the color to use for the line and by pulling
variables to the place where they are used. Fix some Clang warnings.
2018-08-16 19:47:58 +02:00
Ivo Wetzel
0cddc469bc Fix Freeboy noise channel playback (#4538)
Writing the enable bit to `FF23` causes the noise oscillator to start outputting samples and writing the other registers (including the one for the SRW value) during the time the oscillator is active has undefined behaviour.
In order for `GB_apu` to correctly generate samples when the LSFR width is
set to `7`, the trigger write to `0xff23` must happen after all other
writes.
2018-08-16 12:05:50 +09:00
Tres Finocchiaro
2ecc8bb4fa Add CMake 2 support (#4530)
Partially reverts d599955
2018-08-07 15:26:58 -04:00
Tres Finocchiaro
b5dc70c20a Fix AppImage shim launcher
Due to upstream change in linuxdeployqt
2018-08-05 23:53:49 -04:00
Hyunjin Song
e07f9a3b64 Don't use dummy controllers for connections if not loading projects (#4493)
Remove the need of ControllerConnection::finalizeConnections
when not loading projects.
Fix ZynAddSubFX knob disconnection when exporting.
2018-08-01 14:35:16 +09:00
Oskar Wallgren
b268abba45 Fix some formatting issues in translations (#4482)
* Swedish translation formatting and fixes
* German translation formatting
* Czech translation formatting
* Spanish translation formatting
* Farsi translation formatting
* French translation formatting
* Italian translation formatting
* Portuguese translation formatting
* Galician translation formatting
* Russian translation formatting
* Ukrainian translation formatting
* Japanese translation formatting
2018-07-31 05:04:20 +02:00
Oskar Wallgren
b9634fa672 Setup Dialog - Fix bottom of letters cut off (#4483) 2018-07-28 14:07:21 -04:00
Hyunin Song
112d34226a Fix broken MIDI import
Fix a regression in 3e538d510c (#4401) that
readAllData doesn't read the file from the beginning
2018-07-27 15:48:58 +09:00
Oskar Wallgren
45d3359e21 Some demo project license fixes (#4481)
Add some missing licenses and split out CapDan and Skiessi project
licenses to their own files in the corresponding directories.
2018-07-15 14:03:37 +02:00
Hyunjin Song
408b72c798 Use tryLock in audio threads for VST/ZynAddSubFX (#4460)
Prevent loading VST or toggling ZynAddSubFX GUI
from blocking entire audio processing
2018-07-13 10:40:24 +09:00
Hyunjin Song
9f64d52146 Always show sample track panning knobs (#4477)
Fix hidden sample track panning knobs when using compact track buttons
2018-07-12 09:49:02 +09:00
Hyunjin Song
f2d68326a7 Fix occasional audio interface deadlock (#4450) 2018-07-10 11:13:56 +09:00
Hyunin Song
0f3b41f590 Fix fwrite parameter ordering 2018-07-07 10:37:30 +09:00
Hyunin Song
62d505b2e6 Improve STK rawwave path encoding handling
Still incomplete on Windows due to an upstream issue
2018-07-05 20:16:01 +09:00
Hyunin Song
3e538d510c Fix MIDI import encoding issue on Windows 2018-07-05 20:16:01 +09:00
Hyunin Song
1af0f083ea Fix WAV exporting on Windows 2018-07-05 20:16:01 +09:00
Hyunin Song
ddcae478d4 Fix sample file loading on Windows 2018-07-05 20:16:01 +09:00
Hyunin Song
9d0aae2708 Fix file name encoding issues with ZynAddSubFX on Windows 2018-07-05 20:16:01 +09:00
Hyunin Song
792e4786ad Fix file name encoding issues with VST on Windows
Fix plugin loading and setting loading/saving
2018-07-05 20:16:01 +09:00
Hyunin Song
e9f2b57107 Fix project URL for some files
They were created before https://github.com/LMMS/lmms/pull/3326
and added after it.
2018-06-28 20:23:53 +09:00
Hyunjin Song
28a522806b Fix hang on exit from specific MIDI devices + WinMM (#4451) 2018-06-27 08:59:36 +09:00
Lukas W
c45a21aac3 CMake: Fix FindSndio module
Fixes a bug where the module would set SNDIO_LIBRARY to NOT-FOUND
resulting in a CMake error when trying to link to ${SNDIO_LIBRARY}.
2018-06-20 08:47:10 +02:00
Lukas W
d1c36d7b96 CMake: Fix errors when path contains spaces 2018-06-20 08:47:10 +02:00
Oskar Wallgren
583e42e5bb Quit exit if failing to save project (#4428)
* Quit exiting when failing to save project

*Test outcome of save in MainWindow::saveProjectAsNewVersion()
2018-06-19 21:59:12 +02:00
Hyunjin Song
6af5154bec LADSPA: Fix undefined reference due to vectorization (#4434) 2018-06-19 09:32:11 +09:00
Hyunjin Song
b52861f19f Fixup 1bae047b98 2018-06-18 12:35:17 +09:00
Hyunjin Song
1bae047b98 Fix wrong accelerator character in sv.ts
Fixes #4415
2018-06-18 10:58:45 +09:00
Hyunjin Song
407973ad6f Fix crash when loading project with missing peak controller effect (#4391)
* Fix crash when loading project with missing peak controller effect

* Don't load/save dummy controller connections
2018-06-13 14:50:27 +09:00
Hyunjin Song
2f19fa11c8 Piano roll: reset editing mode when lost focus (#4393) 2018-06-05 17:39:04 +09:00
Hyunjin Song
3bf3fab0e3 Piano roll: Fix some crashes when no pattern is open (#4392) 2018-06-03 22:12:28 +09:00
Hyunjin Song
a9b5b92a2b Deselect FX channel's name text when losing focus (#4293) 2018-06-03 21:35:36 +09:00
Douglas
0d7ea273dc Initialize peak controller last sample with base value (#4382)
* Bug fix in peak_controller_effect.cpp

This change makes it so that when an LMMS project is loaded, each knob connected to a Peak Controller will be set to the Peak Controller's Base value, rather than its minimum possible value.
2018-06-01 20:41:52 -07:00
Lukas W
d3c90a81b9 Fix automation processing priority
Fixes regression from 75077f6200 that caused
global automation tracks to have priority in processing.

Adds a test checking for the desired behaviour.

Fixes #4268
2018-06-01 15:12:47 +02:00
Hyunin Song
1349d45d72 Bump version to 1.2.0-rc6 2018-06-01 09:04:01 +09:00
Hyunin Song
75a6502100 Fix Mallets crash when STK rawwave files can't be loaded 2018-05-30 19:14:06 +09:00
Hyunin Song
24ae559de5 Fix crash when re-opening VST effect manage dialog
Unset Qt::WA_DeleteOnClose for the dialog to avoid deletion when closed
2018-05-30 09:02:05 +09:00
Hyunin Song
235e8eef6f Allow controlling VST effects without own GUI 2018-05-30 09:02:05 +09:00
Hyunin Song
55d3fbc908 Fix RemoteVstPlugin not exiting when effect removed 2018-05-30 09:02:05 +09:00
Lukas W
b808631975 VST: Add workaround for small effect window on project load 2018-05-30 09:02:05 +09:00
DomClark
8e9f74df37 Minor fixes
From MSDN: "In WM_SYSCOMMAND messages, the four low-order bits of the
wParam parameter are used internally by the system. To obtain the
correct result when testing the value of wParam, an application must
combine the value 0xFFF0 with the wParam value by using the bitwise AND
operator."
Also calculate the required window size using AdjustWindowRect, rather
than hard-coding some constants.
2018-05-30 09:02:05 +09:00
DomClark
fcc883f887 Preserve VST GUI positions and keep them on top 2018-05-30 09:02:05 +09:00
DomClark
ee18011dc7 Fix toggling UI for non-embedded VST effects 2018-05-30 09:02:05 +09:00
DomClark
49dcd385f5 Fix VST effect load crash on non-primary monitor 2018-05-30 09:02:05 +09:00
DomClark
55da698d7c Fix X11 embedding on Qt4 2018-05-30 09:02:05 +09:00
Lukas W
1220374a7f Fix effect dialog layout glitches
QMdiSubWindow::setSizePolicy doesn't have any effect because QMdiSubWindow
uses a layout. This patch uses QMdiSubWindow::layout()->setSizeConstraint
instead. This may cause effects that don't have a layout and don't
implement sizeHint() to now be resizable. For effects that do though, it
fixes the size constraint.
2018-05-30 09:02:05 +09:00
Lukas W
a2cb7e96ea Fix VST sub-window creation glitches in project loading
Fixes bugs where during project loading (observed with VST effects), empty
widgets and sub-windows would be left floating around. These were caused by
inconsistencies between the way VST UIs were created when loading a project
and when adding an effect in an existing project. In some situations, this
caused createUI to be called twice, leaving over multiple empty widgets.

This commit refactors some code in order to avoid creating unnecessary sub-
windows, which aren't needed with VST effects, but were still created,
usually being invisible. All sub-window related code was moved out of
VstPlugin into vestige.cpp, which is the only place where sub-window VSTs
are actually used. A new sub-class of VstPlugin, VstInstrumentPlugin, now
handles VST sub-windows and is used by vestigeInstrument.

"guivisible" attribute loading was moved out of VstPlugin as well and is
now done in VstEffectControls' and vestigeInstrument's loadSettings method
respectively. This causes some minor code duplication unfortunately.

Closes #4110
2018-05-30 09:02:05 +09:00
Hyunin Song
3e8120d532 Make "Clear this track" undoable
Fixes #4375
2018-05-28 13:49:38 +09:00
Hyunjin Song
daa3f53515 Fix compilation with Qt 5.11 (#4374)
Add extends attribute for custom widget RowTableView per upstream uic change http://code.qt.io/cgit/qt/qtbase.git/commit/?id=058474884c2505a8a00d4c59b4922bfcd3597c2f
2018-05-23 14:59:45 +09:00
Joshua Wade
68a621cc16 Restart flanger LFO on Song::playbackStateChanged signal (#4363)
Closes https://github.com/LMMS/lmms/issues/3689
2018-05-18 13:34:46 -04:00
Hussam Eddin Alhomsi
0caaebaecb Remove FluidSynth requirement for background pic (#4364) 2018-05-17 19:35:52 +02:00
Oskar Wallgren
bb43bfb961 Remove release time from arpeggiated note (#4355)
An arpeggio master note shouldn't trigger new notes while it's decaying.

#fixes #4342
2018-05-17 18:39:31 +02:00
Colin Wallace
5d90aecac9 Merge pull request #4339 from PhysSong/tcomove
Fix occasional crash when moving TCOs
2018-05-08 21:29:41 -07:00
Hyunjin Song
03aa5fb3c7 Fix crash on exit from MIDI connections (#4340) 2018-05-07 17:08:43 -07:00
Hyunin Song
511c7a64fe Fix occasional crash when moving TCOs 2018-05-03 11:23:35 +09:00
Lukas W
af61a82df8 Merge pull request #4335 from LMMS/fix/job-queue
Fix job queue crash
2018-05-02 12:55:09 +02:00
Lukas W
9a52c7b901 JobQueue: Rename m_queueSize to m_writeIndex
Hopefully makes it less confusing that m_writeIndex grows beyond
JOB_QUEUE_SIZE when the queue is full.
2018-05-02 12:54:45 +02:00
Hyunjin Song
08573fc96d Fix detuning crash after deleting the note being edited (#4324) 2018-04-30 14:54:34 +09:00
Lukas W
ccd4ff3c2c Fix job queue crash
* Don't add jobs when job queue is full
* Icrease job queue size from 1024 to 8192
2018-04-29 17:01:51 +02:00
Lukas W
84d3c935de Merge pull request #4333 from PhysSong/circledummy
Add dummy CircleCI config file for stable-1.2
2018-04-29 16:04:44 +02:00
Hyunin Song
832e87725a Add dummy CircleCI config file 2018-04-29 21:59:09 +09:00
Hussam Eddin Alhomsi
386c471ed7 Limit the automation-editor scaled-level tooltip to the grid (#4308) 2018-04-26 18:37:43 +03:00
Lukas W
fce9326192 Update rpmalloc to 1.3.0
Fixes #4055
2018-04-25 11:00:13 +02:00
Lukas W
e614711d29 Merge pull request #4307 from LMMS/fix/contributors
Revert contributor file removal
2018-04-25 07:52:03 +02:00
Lukas W
d65fdd4ee6 Create no-response.yml 2018-04-22 08:34:46 +02:00
Lukas W
50eada6b2b Update project year 2018-04-21 13:33:35 +02:00
Lukas W
33368bd9d0 Revert CONTRIBUTOR file removal
This reverts commit 30f1e52be3.

# Conflicts:
#	CMakeLists.txt
2018-04-21 13:31:14 +02:00
tresf
aaee2ecb15 Better fluidsynth version detection
Per #4300 comment
2018-04-20 21:53:13 -04:00
Tres Finocchiaro
22ca47abba Disable fluidsynth audio backends if possible (#4300)
Closes #649
Partially reverts #3446
2018-04-20 15:46:13 -04:00
Tres Finocchiaro
18a4346fd5 Better default working directory (#4288)
* Better default working directory
Closes #1135
2018-04-20 15:41:08 -04:00
Oskar Wallgren
07a23c4e3b Allways remove infs/nans (#3706)
When exporting a project lmms performs extra tests for bad data.
The tests are for infs and nans. Switching these tests on for all
occasions as the extra performance hit would be in the order of
only ~2% and the problems, when it hits the end user, are hard to
debug and/or work around.

After testing for inf/nan we clamp the sound to +/-4.0f as sometimes
you will get large transients passing through (an issue that is currently
only present when exporting).

Fixes: #1048
2018-04-15 15:44:38 +02:00
Hussam Eddin Alhomsi
e554a4c4b0 Better behavior when left-clicking a TCO (#4290)
Instead of calling MouseMoveEvent(), the TCO's "text float" text and position are updated.
This prevents left-clicking the right edge of a resizable TCO from decreasing its size.

Also, removed an unused variable: m_oldTime
2018-04-11 13:39:43 +03:00
Hyunjin Song
00f9590b18 Fix preset preview issues with peak controllers (#3904) 2018-04-04 09:06:58 +09:00
Dominic Clark
d30a22487e Don't call setParameter from audioMasterAutomate (#4279) 2018-04-03 19:08:53 +01:00
Umcaruje
b77027d6fb Fix MDI subwindow buttons contrast in the MenuBar (#4242)
* Fix MDI subwindow buttons contrast in the MenuBar

* Hard code the button color in LmmsStyle.cpp (thanks @PhysSong)

* Fix code formatting
2018-04-02 19:36:07 +02:00
Umcaruje
ee910d38fe Fix marked semitones in the piano roll (#4239)
* Fix marked semitones in the piano roll

* Don't draw in invalid patterns

* update classic theme

* Fix contrast

* update classic theme
2018-04-02 19:33:01 +02:00
Tres Finocchiaro
1df461d64d Fix VSTs on Fedora 27 (#4276) 2018-03-30 14:13:31 -04:00
Tres Finocchiaro
3673e84ac1 Allow relative paths on non-existent directories (#4271)
* Use cleanPath for calculating relative directories
Closes #4267
2018-03-26 21:51:55 -04:00
Hyunjin Song
ac543ffc75 Play correct note when dragging left side of virtual keyboard (#4265) 2018-03-21 23:39:17 -04:00
Noah Brecht
87e6b48df7 Fix ui glitch where track ticks did not line up (#4171) 2018-03-21 04:13:42 +01:00
Orbital Ink
fc5fc1cbaa Change Detune To Pitch Bend in Piano Roll (#4194) 2018-03-19 20:23:00 +03:00
Umcaruje
0d1c874a60 Change selected notes color (#4243) 2018-03-19 17:35:15 +01:00
Tres Finocchiaro
7a8a925b83 Fix toFloat Qt5 regression (#4244)
Closes #4241
2018-03-19 12:18:47 -04:00
Tres Finocchiaro
6cd5317e09 Fix C++ standards library portability issue. (#4261)
Fix C++ standards library portability issue.
Cherry-pick of upstream 2.5 patches: zynaddsubfx/zynaddsubfx@417d49b, zynaddsubfx/zynaddsubfx@edca8ab
Closes #4152
2018-03-18 13:36:05 -04:00
Hyunjin Song
b4e78065e7 Fix some bugs with LFO waveform drag&drop (#4227)
* Change to user-wave mode and update display after dropping a sample
* Fix broken drag&drop from sample tracks
2018-03-14 14:48:18 +09:00
Oskar Wallgren
a54c54097f Draw the entire length of a notes pitch bend info (#4233) 2018-03-12 14:49:45 +01:00
Orbital Ink
e9b83378f9 Typo - Phrygolydian to phrygian (#4223) 2018-03-07 16:44:16 +01:00
Hyunjin Song
ec0f47e9e3 Fix AppImage tool path 2018-03-07 23:27:28 +09:00
tresf
38b69a7e3a Fix incrementation of LcdSpinBox QInputDialog
Closes #4218
2018-03-06 14:35:24 -05:00
Hyunjin Song
788c990ae1 Remove MIDI connection from factory files (#4207) 2018-03-06 09:57:40 +09:00
Hyunjin Song
533f475943 Ensure correct length of automation patterns in BB editor (#4212)
When the length of an automation pattern is an integer multiple of one bar, it was displayed with wrong length. This commit fixes the bug.
2018-03-06 09:57:16 +09:00
Tres Finocchiaro
1d63bd3b4e Use Canonical Paths for Relative Paths Calculations (#4211)
Fix redundant path elements
Closes #4173
2018-03-03 22:46:07 -05:00
Hyunjin Song
926b6542ae Don't restore audio device during exporting (#4083)
Fixes deadlock on multi-track export with SDL
2018-03-02 13:28:56 +09:00
Tres Finocchiaro
9f1c73bc12 Fix theme after upgrade
Closes #4199
2018-03-01 20:37:04 -05:00
Oskar Wallgren
063a505026 Turn journalling off when moving fader (#4147) 2018-03-01 19:03:02 +01:00
tresf
a8e8746011 Add support for .pat previews, drag+drop
Closes #4202
2018-02-28 21:34:45 -05:00
Dominic Clark
31775752b4 Fix rendering cancellation with VSTs (#4189) 2018-02-27 16:08:42 +01:00
Oskar Wallgren
33d2b71b01 Piano Roll - Erase on mouse button drag in erase mode (#4150) 2018-02-27 15:59:15 +01:00
tresf
fc9c3eadef Fix the AppImages 2018-02-27 01:54:26 -05:00
tresf
edc8f43d5b Use bundled jack if missing
Closes #4094
2018-02-27 01:54:26 -05:00
Tres Finocchiaro
3980e54667 Better wine prefix detection (#4176)
Closes #4108
2018-02-23 13:20:35 -05:00
Hyunin Song
0f0b08b852 Travis: replace homebrew/versions/qt55 with qt5 2018-02-17 13:01:19 +09:00
noahb01
a39ea2b163 Reset window title after render
Closes #4160
2018-02-08 23:40:15 -05:00
Oskar Wallgren
c3b4767836 Add journaling checkpoint to recording notes (#4144) 2018-02-01 19:45:05 +01:00
Dominic Clark
27007c258a Fix command line rendering with VSTs (#4093)
Fix command line rendering with VSTs
2018-01-26 10:48:46 -05:00
Filip Hron
a193ec25f2 Fix patman logo
Closes #3660
Supercedes #4121
2018-01-17 17:05:38 -05:00
DomClark
e2c71e3369 Fix lack of sound in iZotope plugins (#4095) 2018-01-17 15:56:01 +09:00
DomClark
d0b3be7f00 Wait for reply when updating sample rate 2018-01-17 15:56:01 +09:00
DomClark
709fc7948b Set buffer size during plugin init
Fixes AmpliTube crash
2018-01-17 15:56:01 +09:00
DomClark
6e0dda692a Remove plugin lock from RemoteVstPlugin 2018-01-17 15:56:01 +09:00
tresf
46512fdf19 Fix macOS compilation without SDL
Closes #4105
2018-01-09 21:34:24 -05:00
Mark-Agent003
59eba30d33 Add File Browser Styling (#4085)
Use CSS to style the selected and hovered items in the File Browser
2018-01-05 11:43:24 -05:00
David Carlier
bd8c27249f Using the cmake variable will insure the proper value
regardless of the platform (already available in 2.0.7 version)
2018-01-02 13:09:03 +01:00
liushuyu
96c5f05120 update i18n and add i18n maint script 2017-12-30 01:21:00 -07:00
Tres Finocchiaro
a3d72def4d Move Zyn GUI to main thread (#4065) 2017-12-22 15:29:32 -05:00
gandalf3
2c3df226ee Allow individual velocity/pan changes with alt (#3923)
Fix regression caused by 6e3d4f4, allow ALT to change the velocity of multiple selected notes.
2017-12-22 15:29:08 -05:00
tresf
7de9649b2f Fix quantization of pasted notes
Fixes a regression caused by #4058
2017-12-22 14:58:20 -05:00
Tres Finocchiaro
c3438a1b4e Remove alpha channel from splash
Closes #4062
2017-12-20 20:46:47 -05:00
Hyunjin Song
eb9b460925 Travis: install jack2 in Linux build
Per #4026: Installing Carla will remove jack1 if it's installed, since Carla requires jack2.
2017-12-20 12:54:31 +09:00
Umcaruje
481cb2e889 Bump version to RC5 2017-12-19 18:24:15 +01:00
tresf
1279244e50 Add $HOME/bin to PATH
Circumvent change in appimagetool, per AppImage/AppImageKit#592
2017-12-18 18:55:51 -05:00
Lukas W
7c71bc657c Merge pull request #3786 from LMMS/fix/qt5-vst
Add all the Qt5 Linux VST implementations
2017-12-18 22:15:45 +01:00
Lukas W
19f48898a7 VST: Disable plugin reload on embed method change 2017-12-18 12:05:29 +01:00
Oskar Wallgren
76766c4c85 Piano Roll - Don't quantize when pasting notes (#4058)
Some changes on pasting notes in the Piano Roll:
* Don't quantize notes when pasting
* Add journal checkpoint
* Set project changed
2017-12-17 21:48:33 +01:00
Lukas W
5bad0ea8c0 Merge pull request #4046 from devnexen/build_fix
Few code fixes since we re dealing with C++11
2017-12-13 14:32:42 +01:00
Oskar Wallgren
54be88f536 Automation Editor - remove (comment out) unimplemented buttons (#4051) 2017-12-12 18:44:10 +01:00
tresf
5174bdaa0d Spaces to tabs 2017-12-11 10:46:19 -05:00
David Carlier
a653d01ac8 Few code fixes since we re dealing with C++11 2017-12-09 07:55:30 +00:00
Oskar Wallgren
06c40fc821 Automation Editor - Straighten out draw line function (#3997)
Fixes:
  AutomationEditor::drawLine(..) - quantize input
  AutomationEditor::drawLine(..) - Adjust line level.
2017-12-06 06:18:38 +01:00
Tres Finocchiaro
260c1843dd Fix typo from b6441b7
Closes #4039
2017-12-05 21:58:51 -05:00
Dan Williams
45d6b299ef Fix a crash (#4037)
This code loads a Qt5 library, which will cause problems if done from a Qt4 application. If the application is Qt4 based we don't have a bug with kde changing the menus anyway, so we can skip this code.
2017-12-05 21:36:54 -05:00
Hyunjin Song
dd4a73eb4b Fix various bugs when using JACK (#4005)
* Fix crash on closing
* Fix audio rendering artifacts
* Make LMMS work properly after rendering
2017-12-03 11:27:49 +09:00
Tres Finocchiaro
d711b8b55e Add Carla Support to AppImage (#4026)
Build AppImage with Carla support
* Disables HiDPI support in the AppImages
* Ignores deprecated jack usage
* Fix Carla compilation warnings
* Detects carla prefix in AppRun
2017-12-01 13:19:44 -05:00
Hyunjin Song
6cc118c259 Fix automation unit test for Qt4
Fixes failing Travis-CI build
2017-12-01 11:26:37 +09:00
Lukas W
d146308c02 Add more automation tests
See issue #3800 (Automations continue after the end of their TCOs) which
was fixed via #4012
2017-11-30 19:43:49 +01:00
Lukas W
ee9b593e26 Merge pull request #4012 from PhysSong/autoshrink
Handle shrank automation patterns correctly
2017-11-30 19:19:08 +01:00
Steffen Baranowsky
898e7999dc fixes bug when changing value by double click on fader/knob (#4018) 2017-11-30 16:57:15 +01:00
Lukas W
7ae348eb10 Vst refactorings 2017-11-29 15:33:44 +01:00
Lukas W
a446775c80 VST: Fix Qt-embedded VSTs not always appearing 2017-11-29 15:33:36 +01:00
Lukas W
ae488b89cd Fix VstEffect width issue 2017-11-29 14:44:53 +01:00
tresf
d0194e6c64 Bump Qt to 5.9.2
Closes #3925
2017-11-27 10:42:17 -05:00
Hyunin Song
72dcefc5f2 Handle shrinked automation patterns correctly 2017-11-26 21:04:06 +09:00
Lukas W
8c02495f27 Qt4 compat simplified 2017-11-25 15:25:32 +01:00
Lukas W
238d6b627c CMake: Fix RemoteVstPlugin build when winebuild is not in PATH 2017-11-25 14:48:15 +01:00
Lukas W
7019cabb51 Merge branch 'stable-1.2' into fix/qt5-vst 2017-11-25 12:36:34 +01:00
Lukas W
46ef3c6a11 Fix rpmalloc debug build with GCC < 5 2017-11-25 12:09:10 +01:00
Lukas W
23cb3852ac VstEmbed: Remove obsolete CMake flags 2017-11-24 15:39:53 +01:00
Lukas W
e95e3793b4 Merge pull request #3991 from PhysSong/fix/qt5-vst
Some fixes/enhancements for #3786
2017-11-24 14:40:24 +01:00
Lukas W
3d47344297 Travis: Enable Linux/Qt4 builds 2017-11-24 12:59:40 +01:00
Lukas W
a8aa3e153f VST: Fix Qt4 compilation 2017-11-24 12:46:06 +01:00
Oskar Wallgren
c6ae1dcba6 Automation Editor - delete automation point (#3986)
Fix regression from b68dc572a3
Let the right mouse button delete the automation point like before
and add the space above it too.
2017-11-24 05:38:47 +01:00
Oskar Wallgren
55076d0bb0 Unsolo mixer channels on delete (#3982)
If a mixer channel is soloed when it's deleted the other channels are left in the
state their in which is, for the most part, muted. Solve this by clearing mixer
channels on delete.
2017-11-21 20:56:54 +01:00
Hyunin Song
72e882af88 Add a fallback logic for VST embedding methods 2017-11-20 15:57:29 +09:00
Hyunin Song
55ce90ec00 Try to improve embedding method logic 2017-11-20 15:46:57 +09:00
Hyunin Song
463d02e299 Move SC_CLOSE handling code 2017-11-19 14:25:39 +09:00
Hyunin Song
7da7a70d60 Add Win32 embedding 2017-11-19 14:25:39 +09:00
Hyunin Song
b0f64dea7f Restrict "qt" embed method to Qt5 only 2017-11-19 14:25:39 +09:00
Hyunin Song
df3c07bbed Fix Qt4 compatibility 2017-11-19 14:25:33 +09:00
Hyunjin Song
514ae34df3 Fix automation pattern regressions (#3977)
Change the default value of ignoreSurroundingPoints in AutomationPattern::putValue to true, which was false in #3352.
Fixes automation filpping bug and some potential issues.
2017-11-19 10:50:22 +09:00
Oskar Wallgren
3de3ea6b16 Revert accidental submodule changes 2017-11-18 16:30:00 +01:00
Oskar Wallgren
b68dc572a3 Automtion Editor - left click response
When you left click an existing value the automation point will only
snap to the new value if it is higher. If it is lower the mouse click
event will 'break'.

Cleanup. Remove statement that will always evaluate as 'true'.
2017-11-18 15:04:20 +01:00
Oskar Wallgren
01265ace66 Default project when cancelling project loading (#3941)
Default project when cancelling project loading

If a user isn't aware that the loading of a project has been
cancelled, it may be in an incomplete state. Saving such a project
will overwrite the original file and result in data loss. This is
solved by loading the default project on cancelling project loading.

Add Mixer::clearNewPlayHandles() to prevent crash when cancelling
loading of a single streamed instrument.
2017-11-17 02:03:49 +01:00
Hyunjin Song
601046aa03 Fix CAPS plugin build with some compilers (#3972) 2017-11-15 10:18:03 -05:00
Tres Finocchiaro
de98781df4 Use "soundfonts" folder, not "sf2" 2017-11-14 21:55:25 -05:00
Dominic Clark
7ed9bea9fb Disable plugin transparency on Qt5 (#3934) 2017-11-13 08:52:08 +09:00
Lukas W
358a251cff VstEmbed: Support changing embed method without restart 2017-11-10 09:18:40 +01:00
Lukas W
f9f4d0cb9c VstEmbed: Store embed method on plugin start
Avoids bugs when embed method is changed in setup dialog while VSTs are
running.
2017-11-10 08:12:20 +01:00
Lukas W
a8311a7b49 Vst: Fix widget deletion 2017-11-10 08:02:29 +01:00
Hussam Eddin Alhomsi
0dbbdd9f4c Update the grid after changing the quantization value in automation editor 2017-11-09 16:31:20 +01:00
Hussam Eddin Alhomsi
43ae3c6376 Update patterns in song editor after shifting their notes by semitones in piano roll. (#3961)
After shifting notes up/down, call rearrangeAllNotes() to sort notes and dataChanged()
to update the pattern the Song Editor.
2017-11-09 16:29:45 +01:00
Tres Finocchiaro
d4d909cd9e Add libjack.so.0 fallback logic for AppImages (#3958)
Add libjack.so.0 fallback logic
2017-11-09 01:57:20 -05:00
Hyunjin Song
48b9b6508e Fix visual glitch with automation patterns (#3945)
Fix off-by-one visual glitch in automation editor and automation pattern view
2017-11-09 06:58:51 +09:00
Hussam Eddin Alhomsi
8baf42fca0 Remove text from project notes of factory templates. (#3939) 2017-11-07 14:21:12 -05:00
Lukas W
0dbdafc1f8 CMake: Fix non-existing target warnings 2017-11-07 12:06:52 +01:00
follower
eb09ff6f25 Fix off-by-one/heap-buffer-overflow as reported by ASAN.
It's probably not the best "solution" but it should hopefully be
one less category of crash-on-close on Mac.

ASAN a.k.a Clang "AddressSanitizer".
2017-11-07 11:56:49 +01:00
Lukas W
6fd38fee9f Fix qt5-x11embed submodule reference 2017-11-07 11:21:00 +01:00
Lukas W
2b6f366063 CMake: Only link qx11embedcontainer on Linux 2017-11-07 11:03:37 +01:00
Lukas W
6eb447deb7 Merge branch 'stable-1.2' into fix/qt5-vst
# Conflicts:
#	.gitmodules
#	.travis/linux..install.sh
#	CMakeLists.txt
#	plugins/vst_base/CMakeLists.txt
#	src/3rdparty/CMakeLists.txt
2017-11-07 10:58:52 +01:00
Lukas W
e3ba9ba9be Update qt5-x11embed submodule for CMake changes 2017-11-06 19:15:57 +01:00
Lukas W
421a85d2e1 Update qt5-x11embed submodule 2017-11-06 18:32:56 +01:00
Lukas W
e95fdcc37d Add missing includes 2017-11-06 18:29:09 +01:00
Lukas W
472a74d252 Minor fixes 2017-11-06 16:31:12 +01:00
Lukas W
134dae80d5 VstEmbed: Add missing find_package instruction for Qt5X11Extras 2017-11-06 11:39:39 +01:00
Lukas W
415316f722 VstEmbed: Remove obsolete CMake flags 2017-11-06 11:39:19 +01:00
Lukas W
6839746344 VstEmbed: Allow selecting method at runtime 2017-11-06 11:17:10 +01:00
Dan Williams
298f1ec335 Fix recent files (#3872)
* Fix templates and recent files on KDE.

Workaround for https://bugs.kde.org/show_bug.cgi?id=337491 , Call into KDE stuff to stop it adding accelerators.

* Fix & in recent files.

Escape & as && when building the recent file lists, and reverse that when getting the file name.
2017-11-04 17:31:41 +09:00
Hyunjin Song
a3c7328f9c Fix wrong value interpolation (#3929) 2017-11-04 08:54:33 +09:00
Oskar Wallgren
0c31cf49c0 linearToLogScale() - Input validation (#3932) 2017-11-03 09:41:28 +01:00
tresf
f15acb8620 Specify architecture for AppImage 2017-11-01 01:01:09 -04:00
Oskar Wallgren
88b940fa05 LADSPA - Fix various floating point errors (#3927)
* swh - Dyson Compressor, fix NaN

* swh - shaper_1187, division with 0

* Division with 0 in calf limiter
2017-10-31 02:33:37 +01:00
Michael Gregorius
7e107f5914 Fix #3842: Opening a project with LB302 produces a noise burst
Fix the noise burst described in #3842 by removing the second
initialization of vca_a to 9 in the constructor of lb302Synth.
2017-10-30 15:48:10 +01:00
Hyunjin Song
60e9b2f474 Fix crashes and deadlocks with previewing preset (#3905)
* Fix crash when closing while previewing preset

* Fix deadlock on previewing presets while playing arpeggio
2017-10-29 20:26:28 +09:00
Oskar Wallgren
9715da332b Deleting Automation Points at coarser quantization
Regression from f9ab2dec02
Don't follow quantization as you will have to move the
cursor that length before any deletion is made.
2017-10-26 02:38:15 +02:00
Hussam Eddin Alhomsi
05971cac6a Fix monstro's osc 3 vol knob values. (#3912) 2017-10-24 21:01:26 +02:00
Oskar Wallgren
f9ab2dec02 Automation Point delete radius and size (#3902)
* Fix Automation Point delete radius. At lower zoom deleting would miss
automation points to delete and at higher zoom it would be too generous
and remove neighbouring points.

* Increase smallest Automation Point radius. For  visibility. The smallest
Automatin Point radius was tiny.
2017-10-24 17:42:30 +02:00
Hyunjin Song
de20d76c8e Ignore release frames for single-streamed instruments (#3900)
Let InstrumentSoundShaping::releaseFrames() ignore release frames for single-streamed instruments. And make it return 0 if m_instrumentTrack->instrument() is NULL.
2017-10-24 00:21:25 +09:00
Lukas W
fbfcb43aeb Merge pull request #3881 from zonkmachine/arppatternsort
Note sorting algorithm rework
2017-10-19 08:49:31 +02:00
Oskar Wallgren
9341acd129 Remove obsolete function - qSort() 2017-10-19 03:35:55 +02:00
Lukas W
8d6cb120b9 Replace MemoryManager implementation with rpmalloc (#3873)
* Replace MemoryManager implementation with rpmalloc
    Fixes #3865
* Travis: Specify OSX image for Qt5 build
2017-10-18 17:02:40 +02:00
Oskar Wallgren
81966fa1a6 Sort note patterns after both position and key 2017-10-18 14:41:00 +02:00
Lukas W
20ea945cee Fix typo 2017-10-18 10:24:36 +02:00
Lukas W
4594e7e237 Merge pull request #3889 from Umcaruje/portaudiowindowsbyebye
Disable portaudio on Windows
2017-10-18 09:49:18 +02:00
Lukas W
9d560a3104 ZynAddSubFx: Fix preset loading (#3891)
Fix regression from #1719
Fixes #3886
2017-10-17 15:46:16 -04:00
Lukas W
6fc4577f10 PlayHandle: Zero out buffer before processing
Fixes buffer noises when instruments don't write the whole buffer, such as
bitinvader. Related:
* #3884 (comment): https://github.com/LMMS/lmms/pull/3884#issuecomment-337170598
* #3883
# #3383
2017-10-17 20:24:34 +02:00
Umcaruje
6e5d82f954 Disable portaudio on Windows 2017-10-16 22:08:12 +02:00
Tres Finocchiaro
3e90e37352 Add AppImage support to Linux builds (#3688)
Add AppImage support
2017-10-16 15:09:30 -04:00
Tres Finocchiaro
c051e9bf34 Use weak loading of libjack (#3887) 2017-10-16 14:46:25 -04:00
Tres Finocchiaro
221d0cb355 Switch Travis-CI to Qt5.8 (#3885) 2017-10-16 13:48:38 -04:00
Hyunjin Song
eaa7b0dd7c Fix sfxr buffer noise (#3883) 2017-10-16 17:14:47 +02:00
Lukas W
2930ef69cd Merge pull request #3884 from PhysSong/nphdestruct
Fix missing destructor call in NotePlayHandle
2017-10-16 09:23:31 +02:00
Hyunin Song
2d07efd1dd Replace NotePlayHandle::done() to the actual destructor 2017-10-16 15:26:05 +09:00
David CARLIER
54f3eccad7 linkage issue fixes due to inlined functions (#3815) 2017-10-10 21:35:02 -04:00
Rebecca LaVie
f24f8c7b00 LCD Updates (#3864) 2017-10-10 19:05:37 +02:00
Oskar Wallgren
d0cd42ee5e Update project year 2017-10-10 18:43:03 +02:00
Oskar Wallgren
2d583db990 Fix arpeggio sort mode (#3867)
When in sort mode and playing over multiple base notes, in the
beginning of the notes there is a chance that the notes will play
together as an ordinary chord instead of arpeggiate.
This is a regression from 6650dd3.

Fixes #3342
2017-10-10 06:05:11 +02:00
Oskar Wallgren
6da87379b4 Arpeggiator fixes (#3858)
Set 'master note' for silent notes on sort mode.
Prevent silent notes to play as ordinary notes in the background
when they are waiting for their turn to arpeggiate.

Remove unnecessary test (it will always return TRUE).

Slower default speed (200ms).
2017-10-09 06:29:23 +02:00
David CARLIER
e7e24935b3 catching-up for openbsd sndio support + applying abs call fix (#3839) 2017-10-03 00:47:45 +02:00
Umcaruje
fb5a515f77 Bump to rc4 2017-10-01 22:10:45 +02:00
Dominic Clark
9407e84ffa Stop some autosave crashes (#3841) 2017-10-01 22:01:38 +02:00
Hyunjin Song
e5db27542b Fix sound while playing from piano roll, when BB tracks are muted (#3804)
* Don't set BB track for tracks not in the BB

* Don't check for BB track mute state if we're playing a single pattern
2017-09-28 09:55:16 +09:00
Lukas W
f23cf4e0bf Fix "out of buffers" crash (#3783)
Remove BufferManager implementation. Use MemoryManager allocation instead and re-use buffers where they are allocated (AudioPort.cpp & PlayHandle.cpp)
2017-09-26 20:33:09 +02:00
Dominic Clark
dd429c5caf Don't let plugins make the main window transparent (#3809)
* Don't let plugins make the main window transparent

* Don't clear WS_EX_LAYERED if it was already set
2017-09-25 23:09:38 +02:00
Lukas W
ffa1b63f05 Fix VST effects embedding 2017-09-22 12:06:19 +02:00
Lukas W
df37833ca5 Merge branch 'stable-1.2' into fix/qt5-vst
# Conflicts:
#	plugins/vst_base/RemoteVstPlugin.cpp
2017-09-22 11:50:19 +02:00
DomClark
fb5a58a526 Don't use VST-provided memory when loading chunks (#3805) 2017-09-21 00:00:19 +02:00
flynn16
8a39302571 Enable HiDPI Scaling (Qt 5.6+ only) [stable-1.2] (#3814)
Enables HiDPI Scaling in GuiApplication.cpp, environmental variable and mac manifest
2017-09-20 10:12:41 -07:00
Hyunjin Song
4e3c6b0940 Fix recording of single streamed instruments(regression in #3774) (#3803)
* Revert "same note layering when sustain pedal is pressed (#3774)"

This reverts commit e387e77445.

* Fix recording of sustained notes
2017-09-18 21:48:33 +02:00
Hyunjin Song
c0682c94a4 Fix MIDI export (#3733)
* Re-enable MIDI export

* Fix logic for processing BB tracks and BB notes

* Consider master pitch and base note in MIDI export.

* Cut BB notes at the end of BB pattern.
2017-09-14 08:09:54 +09:00
Oskar Wallgren
f26a02da04 Suppress midi in events on export (#3778) 2017-09-12 10:28:38 +02:00
DomClark
cfb7a89f0e Fix empty VST tracks creating noise in playback (#3798) 2017-09-10 09:06:38 +02:00
DomClark
7429cb8155 Fix segfault on VST plugin I/O change 2017-09-08 23:14:52 +02:00
DomClark
fe98a9aa43 Fix some VST deadlocks/hangs 2017-09-08 23:14:52 +02:00
Hyunjin Song
9d7c34098c Fix Vibed when the "P" parameter has non-zero value (#3789) 2017-09-06 17:57:24 +09:00
Lukas W
e7d06759b5 Fix Qt4 VST embed option 2017-09-01 14:26:46 +02:00
Lukas W
ddab534656 Allow switching VST embed method at compile time 2017-09-01 14:18:55 +02:00
Lukas W
f7dab939ae Merge branch 'qt5-vst-2-stable' into fix/qt5-vst
# Conflicts:
#	plugins/vst_base/RemoteVstPlugin.cpp
#	plugins/vst_base/VstPlugin.cpp
2017-09-01 14:18:26 +02:00
Lukas W
bd33475534 Fix x11embed for non qt5+linux 2017-09-01 12:20:20 +02:00
Lukas W
0d3aaf667b .gitmodules: Use https URL 2017-09-01 12:20:20 +02:00
Lukas W
def2b7d509 Move X11EmbedContainer to submodule 2017-09-01 12:20:20 +02:00
Lukas W
d9626e9e3b Move X11EmbedContainer.h to include 2017-09-01 12:20:20 +02:00
Lukas W
000fe2da7b Travis: Fix xcb package name 2017-09-01 12:20:20 +02:00
Lukas W
dc4a3875a3 X11EmbedContainer: Don't grab mouse in acceptClient, more debugging msgs 2017-09-01 12:20:20 +02:00
Lukas W
7ce60c247a Travis: Add missing packages 2017-09-01 12:20:20 +02:00
Lukas W
8fdcc6ccac Fix compile on Windows 2017-09-01 12:20:20 +02:00
Lukas W
0e311ffd47 X11Embed: Remove flag causing embedding to fail 2017-09-01 12:20:20 +02:00
Lukas W
f097be6c40 RemoteVst: Fix flickering when moving window 2017-09-01 12:20:20 +02:00
Lukas W
adef05fb71 X11EmbedContainer: Fix XEMBED protocol implementation 2017-09-01 12:20:20 +02:00
Lukas W
e661d26f42 Add X11EmbedContainer Qt5 port 2017-09-01 12:20:20 +02:00
Tres Finocchiaro
47d0e66fcc Re-enable SF2
Per https://github.com/LMMS/lmms/pull/3489#issuecomment-292976079
2017-09-01 12:18:46 +02:00
Javier Serrano Polo
7a9396d6ea Let Wine handle the window interface 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
d04fd9f542 FluidSynth is currently undistributable 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
2d35de4182 Debug window ID 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
f87f3638e1 Use window instead of embedder application 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
12f6ea5566 C++11 is enabled by default now 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
e3d3052e42 Enable C++11 on Windows 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
6395cd4c41 Enable C++11 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
ebe63d1425 Fixes for Windows builds 2017-09-01 12:08:48 +02:00
Javier Serrano Polo
878dd94e8d Embed in a separate window 2017-09-01 12:08:48 +02:00
Javier Serrano Polo
a81f4ca8e9 Embed VST GUI in subwindow 2017-09-01 12:08:48 +02:00
Lukas W
24d320de34 Fix some memory leaks (#3779) 2017-08-28 11:21:10 +02:00
Andrés
efd0d34f2b same note layering when sustain pedal is pressed (#3774)
[cherry-picked from master]
2017-08-26 06:24:53 +02:00
Umcaruje
206a08e4a9 Paint a black rectangle under patterns to prevent glitches (#3759) 2017-08-17 13:57:10 +02:00
Umcaruje
2981651cb2 Add a border on non-fixed BB patterns (#3758) 2017-08-16 15:00:34 +02:00
Andrés
94646e28fe "misc" view now shows the model state, of the track use of master pitch (#3753)
[cherry-picked from master]
2017-08-16 01:46:17 +02:00
Diego Ramos Ruggeri
a602bf9b29 Fix link to "Compiling" wiki page on README (#3765) 2017-08-13 10:34:44 -04:00
Hyunjin Song
88cc58600c Fix producing of NaN from Env/LFO parameter change while playing (#3761)
Guarantee thread safety to ensure fillLevel() not to read value from
wrong buffer address.
2017-08-12 10:16:34 +09:00
Umcaruje
4d044439ab Fix file permissions for theme files (#3752) 2017-08-07 10:35:02 +02:00
Hyunjin Song
08e64dc637 Fix deadlock when exporting is finished, if the project has any Sample TCO(s). (#3742) 2017-08-02 07:56:28 +02:00
Andrés
31126b0aa4 Midi sustain working when envelope is on (#3730)
* midi sustain working when envelope is on

* pressing sustain pedal again doesn't pause release

[cherry-picked from master]
2017-08-02 07:39:00 +02:00
Oskar Wallgren
2e841e4917 Fixes to recover file system (#3722)
Don't auto-save while playing by default. On weaker machines (xp?) we
see glitches so better turn this on after need.

Remove the last of Limited Sessin which was removed in 290556e.
2017-07-30 11:43:48 +02:00
irrenhaus3
b83c1bdebe Respect build options in export dialogs (#3714)
* Respect build options in ExportProjectDialog

* Use QItem user data instead of hard ordering to identify export format in ExportProjectDialog

* For compatibility with QVariant, ExportFileFormats is now explicitly an int.

* Don't break out of format identifier loop prematurely in Song export.
2017-07-27 09:10:32 +09:00
Andrés
d87a8b3da4 Fix recording of sustained midi notes (#3710) 2017-07-26 03:13:55 +02:00
Karmo Rosental
587989b1c2 Updated Freeboy files from Game Music Emu 0.6.1. (#3618)
Uses upstream files to fix #326

[oskar.wallgren13@gmail.com: backported from master]
2017-07-23 19:26:23 +02:00
Dave French
b3054fd639 Equalizer plugin, refinement to analysis display (#3530)
The spectural analysis was using a rectangle window, leading to high spectural leakage.
This pull request uses the Blackman-Harris window to give a display more representative of the audio.
2017-07-15 23:27:30 +02:00
Tres Finocchiaro
0abe0a51c3 Merge pull request #3664 from karmux/vestige_controls_icon
Fix for misaligned controls icon in VeSTige plugin.
2017-07-14 16:31:13 -04:00
Tres Finocchiaro
3dfda61491 Merge pull request #3676 from M374LX/stable-1.2
With this pull request, the user is able to cancel a track rename action by pressing the Escape key.

Also renamed rename_dlg to renameDlg in TrackLabelButton::rename() so it complies to the naming conventions.

Fixes #3675.
2017-07-14 16:17:50 -04:00
Alexandre Almeida
aa6d528c98 Cancel track rename with Escape key 2017-07-08 19:42:13 -03:00
Oskar Wallgren
020f1652bf Clean up after render in ProjectRenderer destructor
We need to wait with calling Mixer::restoreAudioDevice() and
Mixer::changeQuality() after render until all threads have stopped.
Moving these calls to ProjectRenderer::~ProjectRenderer() ensures
all render theads are done.
2017-07-07 21:33:15 +02:00
Oskar Wallgren
d65e1a361a MIDI - Don't apply base velocity to all controller values. (#3678) 2017-07-07 00:15:59 +02:00
Hyunjin Song
c6c67b3c75 Fixes for project loading progress display (#3672)
Fix project loading progress jumping back.

Show the name of the track currently being loaded.
2017-07-06 20:47:01 +02:00
Hyunjin Song
494714bf44 Update classic/style.css with TabWidget, TrackView, PianoView and Fader colors (#3665)
* Add TabWidget color settings to classic/style.css

* update the classic theme

* Revert unnecessary formattings

* Fix style.css
2017-07-03 13:37:46 +02:00
Oskar Wallgren
13e65b7f56 Ensure midi port exists before removing 2017-07-03 04:52:37 +02:00
Karmo Rosental
afdd5ac8cb Fix for misaligned controls icon in VeSTige plugin. 2017-06-25 00:47:32 +03:00
Hyunjin Song
21caf2be69 Correct spellings in fft_helpers.cpp (#3645)
* Correct spellings in fft_helpers.cpp

change bandwith to bandwidth

*  Correct spellings in fft_helpers.cpp

Changed bandwith to bandwidth
2017-06-19 09:35:24 -04:00
Michael Gregorius
842c7194b0 Implement command line export for MP3 (#3641)
Add the option 'mp3' to the format switch (-f / --format) if LMMS is
compiled with MP3 support. Add the new switch 'mode' which can be used
to set the stereo mode used for the MP3 export.

Adjust the man page for the new options.
2017-06-18 13:59:48 +02:00
Steffen Baranowsky
fc6d844a92 saves the correct subwindow size when it is hidden (#3589)
* saves the correct subwindow size when it is hidden

* remove invisible size from saveWidgetState()
2017-06-13 12:31:21 +02:00
tresf
b2919d60d5 Disable HiDPI fix for Windows 7 and older
Closes #3619
2017-06-12 18:11:56 -04:00
Michael Gregorius
c2f26a76d4 Implement MP3 encoding support
Implement MP3 encoding support
2017-06-12 13:57:08 -04:00
Oskar Wallgren
c53dd31064 Silence warning message and fix obsolete vorbis tag message (#3634)
We give the stream a unique serial number and make sure it
isn't '0' or 'UINT_32_MAX'.
Change obsolete 'Linux MultiMedia Studio' to 'LMMS' in
ogg file comment.
2017-06-12 07:53:32 +02:00
Karmo Rosental
ad2c843e20 Fixed inverted zooming. (#3570)
* Fixed inverted zooming.

* Prevent useless tests.
2017-06-10 21:55:00 +02:00
Oskar Wallgren
a371ff0ea1 Some fixes to recent files (#3621)
* Add a factory default data/projects/templates/default.mpt. Fixes #528
* On launch, if the last project was a template we create a new project (default.mpt) instead.
* If there is a recovery file present and you discard it we create a new project as the project launched could be defective or, if .lmmsrc.xml wasn't written, an earlier project.
2017-06-10 20:38:17 +02:00
Steffen Baranowsky
5a2d8f12ad fixes rounding issue in automatablemodel (#3597)
* fixes rounding issue in automatablemodel

* fix CRS knob sticking in instrument plugins
2017-06-09 10:28:59 +02:00
Steffen Baranowsky
143571761f fixes sample muting bug for sampletrack (#3591)
* fixes sample muting bug for sampletrack

* simplify SampleTrack::updateTcos
2017-06-08 12:31:53 +02:00
Karmo Rosental
567898143b Fixed LMMS crash when pressing Q in not existing piano roll. (#3609) 2017-06-07 23:07:48 +02:00
Michael Gregorius
d3359f5a70 Fix #3616 by preventing fold overs for clipped data
Use libsndfile functionality to prevent fold overs when exporting clipped
data. The fold overs occurred when exporting with a bit depth of 24 bit.
2017-06-07 19:51:09 +02:00
Michael Gregorius
e36b05e425 Add myself (Michael Gregorius) to the list of authors 2017-06-05 23:50:39 +02:00
liushuyu
075d980d0d Update i18n source strings
(from stable-1.2)
2017-06-03 22:44:18 +08:00
liushuyu
6bb19f4fbd update i18n strings 2017-06-03 22:43:13 +08:00
Tres Finocchiaro
dd80268669 Fix overzealous quoting (#3604)
Fixes builds from directories with spaces
2017-06-02 17:15:44 -04:00
Steffen Baranowsky
cee68c773e fixes position marker height on startup (#3587)
Fixes position marker height on startup
2017-06-01 21:36:36 -04:00
miketurn
1f66f62ed7 Proper Case Renames (#3573) 2017-06-01 21:28:09 -04:00
Tres Finocchiaro
445bfe9fa7 VST plugin compilation fix in ubuntu 64bit. (#3593)
When compiling on ubuntu 16.10 64bit, the VST compilation succeeds only when adding `-L/usr/lib/i386-linux-gnu/wine/` to the linker flags.
2017-06-01 16:03:12 -04:00
Tres Finocchiaro
7be63741d3 Add more brew packages (#3595)
* Add more brew packages
2017-06-01 02:13:59 -04:00
Karmo Rosental
635b50bfb5 VeSTige opens correct folder (#3550)
Open correct VST folder in previously saved projects with existing VeSTige instruments.
2017-05-31 14:55:22 -04:00
Umcaruje
afd22c8b74 Bump version number for RC3 2017-05-31 16:42:45 +02:00
Umcaruje
53772c052b Allow WidgetTab to use artwork tabs (@StCyr) (#3569)
* First version of artwork tabs for the InstrumentTrackWindow.

This version can only display & manage artwork tabs, which breaks
the InstrumentSoundShapingView as it still uses text tabs.

I'm planing to improve this implementation to let these artwork tabs fall back
to text mode when no artwork is given. This would solve the problem of the
InstrumentSoundShapingView.

* Second version of artwork tabs for the InstrumentTrackWindow.

This version will draw an artwork tab when the TabWidget::addTab function is given
a pixmapName. Otherwise, when pixmapName is NULL, it will fall back drawing a text
tab.

* Created artwork for the artwork tabs.

* 1st PoC for autosizeable artwork tabs.

* TabWidget is 20 pixels tall when it's going to display artwork tabs.

* Added tooltip support for the TabWidget class.

Atm, tooltips are simply tabs' name.

* Imported artworks from RebeccaDeField

* Reverted to 12px tall TabWidget

* Fine tuning for the positioning of artwork tabs: Take into account the caption 'space.

* New artwork for the ENV/LFO tab (has now an ADSR-based look)

* 1) Tabs in TabWidget class have now a "tooltip" attribute. So that they can now show
more meaningfull information then simply the tab's name.
2) Fixed the compilation problem with QT5

* Fine tuning the positioning of highlighted artwork tabs.

* Fixed an issue in TabWidget's artwork tabs autosize function that makes gdb crash
with SIGFPE.

* TabWidget is 17 pixels tall when it's going to display artwork tabs.

* Removed underscore prefix for function parameters as coding convention has changed.

(Request at dccf9f4119 (r61165005))

Cyrille

* Removed background gradient for TabWidget as LMMS is going to a more flat design.

Cyrille

* Increased the graphical TabWidget's height by 2 pixels for eye-candy.

The InstrumentTrackWindow's height has been increased by the same amount.

Cyrille

* Removed gradient in GrouBox widgets as LMMS is going for a more flattened design.

Cyrille

* Made the background of TabWidget themeable

Cyrille

* The highlighting color for a TabWidget'selected tab is now themeable.

* Made TabWidget's Title text and tab text themeable.

* Added a darker background to the TabWidget's tab bar.

* Further flatened the design of TabWidget

* Flatened the design of the GroupBox widget

* Fine tuning the placement of TabWidgets' highlighting background
+ some code cleaning in TabWidgets

* Made the TabWidget's title background and borders themeable

* TabWidget - Artwork tabs: Do not change the icon color when it is highlighted

* TabWidget: Made the artworks' color themeable

* Adapted format to follow LMMS coding conventions

* Some more blank spaces to tabs translation to comply with LMMS coding standards.

* Some more blank spaces to tabs translation to comply with LMMS coding standards.

* Revert "TabWidget: Made the artworks' color themeable"

This reverts commit 5b162c07e2.

Conflicts:
	src/gui/widgets/TabWidget.cpp

Reason: Artwork's color themeability had the side-effect that it removed the artworks' alpha
channel, thus making them ugly.

* Made GroupBox's background color themeable

* Update background color, only use one set of images

* Use name as tooltip, more descriptive names

* Update icons and colors

* more things

* formatting fixes

* Remove update() from constructor
2017-05-31 16:19:58 +02:00
Oskar Wallgren
9bdc011904 Fix export - double dialog windows on writing over existing file (#3526)
* Fix export - double dialog windows on writing over existing file

* Case sensitivity
2017-05-30 17:04:00 +02:00
Spekular
74790c0c45 Update Discord link to point to #rules (#3588)
We shuffled the channels around a bit and #welcome got deleted. #rules is what we want to link to now.
2017-05-29 19:26:43 +02:00
Hyunjin Song
4ff091fd6f Fix loop condition in project rendering (#3105, #2030) (#3576)
* Change loop condition in ProjectRenderer::run()

* Remove Song::isExportDone()
2017-05-29 18:40:05 +02:00
Steffen Baranowsky
1eef218aeb fix export project for sampletracks with vst effects on it (#3571)
* fix export project for sampletracks with vst effects on it

* removed playTriggered Signal
2017-05-29 15:53:06 +02:00
Tres Finocchiaro
f1a3368a37 Merge pull request #3583 from tresf/stable-1.2
Fix CMP0050 compilation warnings
2017-05-28 14:32:06 -07:00
Tres Finocchiaro
745042dffa Fix CMP0050 compilation warnings 2017-05-28 15:55:58 -04:00
Rebecca LaVie
3607c92fcd Bitcrush Plugin Redesign (#3575) 2017-05-27 16:39:57 +02:00
Steffen Baranowsky
38bca9af00 fix time signature updates timelinewidget also on pos 0 (#3572) 2017-05-23 23:38:30 +02:00
Hyunjin Song
f8a508f939 Fixes #3563 (#3567)
Added m_pattern->updateLength(); in PianoRoll::shiftPos
2017-05-21 23:09:39 +02:00
Steffen Baranowsky
6970c88e28 fix alternate shading for changing time signature (#3559)
* fix alternate shading for changing time signature

* fix alternade shading for automation editor on changing time signature

* code cleanup
2017-05-17 21:37:35 +02:00
Mark-Agent003
c0b910ec57 Replacement metronome samples (#3513)
Replacement metronome sounds
2017-05-17 10:10:40 -04:00
Dave French
300058df04 Flanger LFO rate syncronised (#3521)
The LFO rate was not correctly syncronising to tempo

This has been rectifited, to utalise the TempoSyncKnob as intended, returning a period,
instead of a frequency. The knob now reports the correct values in the GUI.

Flanger LFO maximum period incressed to 60 seconds
2017-05-17 12:21:00 +02:00
Dave French
b432707b9b Remove glitching from the Flanger and Delay plugins (#3524)
The previous delay code was incorrectly not utalising the whole buffer, causing glitches when
incressing the delay time, due to outputting incorrect data, This was apparent when using the
lfo in the Delay and Flanger plugins.

This has been rectified. The read index is now offset from the write index. and the complete buffer is used in a circular fashon.

Flanger - resolved issue where the lfo could create negative delay lengths
2017-05-17 12:18:47 +02:00
Spekular
b0ae31c2ff Update Discord invite to link to #welcome (#3556)
This is where we want new users directed to.
2017-05-15 13:46:15 -04:00
Paul Batchelor
f390fd1723 ReverbSC: Method to change samplerate (#3401) (#3403)
* ReverbSC: Method to change samplerate (#3401)

* ReverbSC: added mutex for protected malloc

* ReverbSC: small CMake fix to remove warning message

* ReverbSC: samplerate changed to uint32_t. more CMakeFile tweaks

* Fix dc block on oversampling
2017-05-15 12:21:34 +02:00
Steffen Baranowsky
69d09f0186 don't change sampleTco length if tempo changed (#3543) 2017-05-14 12:22:40 +02:00
Tres Finocchiaro
17b37e02a9 Provide support for fallback config values (#3551)
Provide support for fallback config values

Makes autosave and some other values checked by default.  Supersedes #3541
2017-05-13 23:15:10 -04:00
Oskar Wallgren
290556e43d Remove Limited Session 2017-05-13 14:58:14 +02:00
Michael Gregorius
08201c2024 Merge pull request #3552 from michaelgregorius/3021-24-Bit-Export-For-1.2
24 Bit WAV export, variable bit rate Ogg and export dialog improvements
2017-05-12 21:11:24 +02:00
Michael Gregorius
dfeb6bea3a Rename entry for bit depth from "24 Bit Float" to "24 Bit Integer" 2017-05-12 18:26:42 +02:00
Michael Gregorius
4b3309a4e9 Make the 24 bit export the default selection in the export dialog 2017-05-12 18:26:42 +02:00
Michael Gregorius
f06eac3f91 Add copyright info to the file OutputSettings.h 2017-05-12 18:26:42 +02:00
Michael Gregorius
823788919a Add the option to enable variable bit rates to the export dialog
If the variables bit rate is not enabled the nominal bit rate will be
used for the minimum and maximum bit rate in the encoder.

If the variable bit rate is enabled the current implementation will
compute the minimum bitrate by subtracting 64 kBit/s from the nominal
bit rate. The maximum bit rate is computed by adding 64 kBit/s to it.

Example: The nominal bit rate is set to 160 kBit/s and variable bit rate
is enabled in the export dialog. The minimum bit rate is then set to 96
kBit/s and the maximum bit rate to 224 kBit/s.
2017-05-12 18:26:42 +02:00
Michael Gregorius
4ac6aa909d Only show relevant widgets on the export dialog
Only show widgets on the export dialog that are relevant to the selected
file format (Wave/Ogg):
* Sample rate is always shown.
* Bit depth settings are only shown when Wave is selected.
* Bit rate settings are only shown when Ogg is selected.

Remove the label that informs the user that not all settings apply to
all export formats as it is not needed anymore. The english text of that
label was: "Please note that not all of the parameters above apply for
all file formats."
2017-05-12 18:26:42 +02:00
Michael Gregorius
d5fc38ebd9 Simplification of code and structure in the area of the file export
Pull the class OutputSettings out of the class ProjectRenderer so that
it can be used in other contexts as well. Also move the enum
ProjectRenderer::Depth into the new class OutputSettings and rename it
to BitDepth. Adjust all places that referenced
ProjectRenderer::OutputSettings accordingly.

Adjust the two places where an instance of OutputSettings is created:
the main function and ExportProjectDialog::startExport.

Store an instance of OutputSettings in AudioFileDevice and remove
several members and methods which are now replaced by this instance. Add
a getter for the OutputSettings to AudioFileDevice. Storing an instance
of OutputSettings in the base class AudioFileDevice enables the
simplification of the following constructors and general code in the
following classes:
* AudioFileDevice
* AudioFileOgg
* AudioFileWave

Because OutputSettings contains everything related to sample rate, bit
rate settings and bit depth these parameters could be removed from the
parameter list of the aforementioned constructors.

Simplify the signature of the factory method AudioFileDeviceInstantiaton
(defined in AudioFileDevice.h) and reorder the parameters by significance.

Move the logic of how the minimum and maximum bitrate is calculated
using the nominal bitrate into AudioFileOgg::minBitrate() and
AudioFileOgg::maxBitrate(). Previously this was defined in the
constructor of ProjectRenderer where it does not belong as it an
implementation detail of the OGG export.

Remove the code that converted the bit depth enum to an integer from
ProjectRenderer as it is now solely represented as an enum.

Remove class members for the minimum and maximum bit rate from
AudioFileOgg and adjust the code in the implementation to use the values
stored in OutputSettings.
2017-05-12 18:26:42 +02:00
Michael Gregorius
4196a30415 Implement 24 bit support for WAV export (#3021)
Add a new value of "24 Bit Float" to the "Depth" combo box in the
project export dialog.

Add a new enum value to ProjectRenderer::Depth and extend the evaluation
of the different enum values in ProjectRenderer.

Add the new case of a depth of 24 to AudioFileWave and remove some
repetition with regards to SF_FORMAT_WAV in the code. It's only set once
now and then the depth is "added" in a switch statement.
2017-05-12 18:26:42 +02:00
Tres Finocchiaro
ff4ffd17f4 Merge pull request #3535 from curlymorphic/lfo
LFO controller now has correct frequency with multiple connections.
2017-05-07 17:12:18 -04:00
Lukas W
75077f6200 Fix automation processing in BB tracks (#3481)
Fixes #3464
2017-05-07 13:05:19 +02:00
curlymorphic
1848ed20d9 LFO controller now has correct frequency with multiple connections.
m_bufferLastUpdated is now correctly set to the current frame upon updating
the buffer.
2017-05-07 08:18:08 +01:00
Tres Finocchiaro
7e3ee14cf1 Make factory samples relative (#3510)
* Make factory samples relative
Fixes #3491
Related #1719
2017-05-06 10:27:18 +02:00
Tres Finocchiaro
6a5255e379 Merge pull request #3531 from tresf/hidpi
Disable HiDPI on Windows
2017-05-05 21:16:44 -04:00
tresf
d2e50df3ce Disable HiDPI on Windows 2017-05-04 11:12:45 -04:00
Tres Finocchiaro
77496188ae Merge pull request #3522 from curlymorphic/delaySync
Correct the Delay syncronisation
2017-05-03 09:15:52 -04:00
Tres Finocchiaro
0190256801 Merge pull request #3520 from curlymorphic/eqWetDry
EQ plugin now responds to wet / dry control
2017-05-01 22:20:00 -04:00
Oskar Wallgren
082dbed8e9 Revert "'Off beat' beat notes to MelodyPattern"
This reverts commit e4474af091.
2017-05-01 22:15:55 +02:00
curlymorphic
50ccfba5d6 Correct the Delay syncronisation
The Delay plugin had an issue with the delay knob having the incorrect max value,
this was resulting in incorrectly scaled times
This has been corrected.
2017-05-01 15:44:58 +01:00
curlymorphic
a7154df004 EQ plugin now responds to wet / dry control 2017-05-01 12:11:43 +01:00
Rebecca DeField
2f51062d1e Dual Filter Plugin Redesign (#3484)
* Dual Filter

* Design Tweaks
2017-04-27 23:34:27 +02:00
Karmo Rosental
2df56829a3 Fixed #3182. Always using master channel for preset previews. (#3503)
* Fixed #3182. Always using master channel for preset previews.
2017-04-16 08:57:46 -04:00
Karmo Rosental
09c9ccb34d Simpler SF2 Player file dialog. Copied from GIG Player. Opens correct SF2 plugin directory when running LMMS from build directory without install. (#3502) 2017-04-14 21:06:24 -04:00
Jousboxx
32f07ac317 Added Buzzer Beater to demos (#3482)
Add 2017 kicker competition winner to demo projects.
2017-04-08 15:34:11 -04:00
Lukas W
e65b1c8ba8 SampleBuffer: Keep settings on sample rate change
Fixes #2779
2017-04-07 11:40:46 +02:00
Steffen Baranowsky
f8bf07b093 fix crash on click on compact track label button (#3463)
Fixes #3454
2017-03-30 13:16:37 +02:00
Oskar Wallgren
1bfd0931be Automation Pattern - Rename 'controlKey' (#3459) 2017-03-29 13:02:52 +02:00
z-up
8416cd60de Always highlight the beats in PianoRoll and AutomationEditor using only time signature (#3458)
* Duration of the beat is defined by the denominator of the time signature
and it does not depend on whether or not you use triplets.

* Fortmatting fixed.
2017-03-28 15:30:06 +02:00
Léo Andrès
411def4101 Fix CMake warning (#3457) 2017-03-28 01:32:56 -04:00
Lukas W
a9a28a8ea8 Travis: Verify ccache deb checksum 2017-03-26 22:45:41 +02:00
Karmo Rosental
4dc5d14ea3 Fixed #3443. Added and fixed mixer automation labels. (#3453) 2017-03-26 20:58:41 +02:00
Lukas W
6004edae5c Include past automation patterns in processing (#3382)
Fixes #662

* Include past automation tracks in processing
* Track::getTCOsInRange: Use binary search, fix doc
* Automation refactorings
* Add automation tests
2017-03-26 12:27:15 +02:00
Lukas W
84d662409c Remove unnecessary includes from Eq plugin 2017-03-25 18:42:03 +01:00
Lukas W
0d77cefc13 PluginFactory: Avoid duplicate plugins 2017-03-23 21:12:04 +01:00
Lukas W
a5aa5e7d08 Clarify usage of Mixer->audioDevName() 2017-03-23 12:40:26 +01:00
liushuyu
e89e52aaa2 i18n: new strings 2017-03-22 17:38:06 -06:00
Tres Finocchiaro
d3d5392f80 Fix markdown
Specification changes. https://github.com/blog/2333-a-formal-spec-for-github-flavored-markdown
2017-03-22 12:12:32 -04:00
Lukas W
8c3f442322 Travis speed-ups (#3432)
* Enable ccache
* Cache mingw dependencies
* Expose USE_CCACHE option
* Disable ccache for release builds
2017-03-22 11:28:08 +01:00
Lukas W
31ade1ad2c Fix Mixer renderOnly flag 2017-03-21 22:48:23 +01:00
Lukas W
5cdf3481ce Fix format warning 2017-03-21 18:33:01 +01:00
Lukas W
435c898781 Mixer: Save renderOnly flag 2017-03-21 17:52:10 +01:00
Lukas W
10e28c26b9 Merge branch 'renderer' of https://github.com/PaulBatchelor/lmms 2017-03-21 17:51:51 +01:00
Lukas W
7251c84f1c PluginFactory: Fix LMMS_PLUGIN_DIR search path, add ~/lmms/plugins/
Fixes #3392, supersedes #3431
2017-03-21 17:29:32 +01:00
Tres Finocchiaro
f57202c6ae Add SF2 support for macOS (#3446)
* Add SF2 support for macOS

Closes #649
2017-03-21 09:59:04 -04:00
Steffen Baranowsky
17a6f379e0 fixes the wrong order of controller by loading a project (#3438)
* fixes the wrong order of controller by loading a project

* changes the approach for the fix
2017-03-20 19:36:32 +00:00
Javier Serrano Polo
9543800c32 Add COPYING-CMAKE-SCRIPTS (#3445) 2017-03-20 10:35:52 -04:00
Javier Serrano Polo
850c827ee4 Drop useless loop from upgrade_1_2_0_rc3 (#3441) 2017-03-20 06:37:47 +00:00
David CARLIER
7f97516683 Fix build for OpenBSD/sndio and licence updates. (#3442) 2017-03-20 06:14:18 +00:00
Javier Serrano Polo
df5cf255de Update MainApplication.cpp (#3440)
Drop useless condition.
2017-03-19 22:07:21 -04:00
Steffen Baranowsky
d1378be3a0 revert parts of #3075 (#3437) 2017-03-19 20:10:31 +00:00
Steffen Baranowsky
91182b4adc fix double click rename on track label button (#3356) 2017-03-18 20:06:22 +01:00
Tres Finocchiaro
3dfd9794db Fix opening of project files on macOS (#3219)
- Double-click mmpz file in finder will now open properly on macOS
- Adds new MainApplication class for listening to QEvent::FileOpenEvent
- Queues open events until the application is ready to recieve them
- Closes #665
2017-03-17 21:53:36 -04:00
Lukas W
29f832034a Remove unused includes (#3429) 2017-03-16 11:35:18 +00:00
Oskar Wallgren
84d7c6a6da SampleBuffer - large file message (#3430) 2017-03-16 11:37:56 +01:00
Tres Finocchiaro
4708fe63a6 Validate theme directory
Looks for style.css in theme path to help avoid invalid theme directories.
Explicitely avoid use of "/" on Windows to prevent hang.
Closes #3417
2017-03-16 01:55:45 -04:00
Umcaruje
6d0a29e36b Update classic theme (#3424) 2017-03-15 14:41:00 +01:00
Oskar Wallgren
afbf8009b3 Initialise m_previousValue (#3428) 2017-03-15 09:38:17 +01:00
Umcaruje
7be77847f9 Fix Overflow in Fader.cpp (#3425)
* Fix Overflow in Fader.cpp
2017-03-15 09:36:57 +01:00
Uroš Šišović
e879fad25d Right Mouse Button To Erase Nodes In Automation Editor Cursor Icon... (#3414)
* Right Mouse Button To Erase Nodes In Automation Editor Cursor Icon Does Not Change #3310

* Remove unused member m_mouseDownLeft from PianoRoll

* Add move cursor for automation points drag
2017-03-13 01:14:42 +01:00
TheTravelingSpaceman
899e386df7 Aliasing in AutomationPatternView and AutomationEditor fixed (#3386)
* Ailiasing in AutomationPatternView; ERROR: Doesn't draw unreferanced tracks

* Draws one polygon instead of 'poly'-polygons

* Changed QPoints to QPointF

* Added int MidiTpT constant

* Added ppTact for reduced computation

* Added spaces in parentheses to be consistent

* Variable name change and spacing

* S P A C E S

* Anti-Aliasing of Automation Editor

* Commented out all referances to unused is_selected

* Changed css to non-gradient graphs

* Added Brackets

* Removed no-pixel line at bottom of graph

* Revert "Added Brackets"

This reverts commit ff801868b7.

* Revert "Revert "Added Brackets""

This reverts commit 4e127a78df.

* Revert "Removed no-pixel line at bottom of graph"

This reverts commit 940c766b61.
2017-03-13 01:14:05 +01:00
LMMS Service Account
97cd037300 Updating translations for data/locale/nl.ts 2017-03-11 06:29:19 -05:00
liushuyu
630d34ac04 i18n: Update source strings 2017-03-10 21:01:28 -07:00
LMMS Service Account
80318de1fb Updating translations for data/locale/es.ts 2017-03-08 21:23:25 -05:00
Lukas W
d82b852434 ValueBuffer: Add missing EXPORT 2017-03-08 23:26:20 +01:00
Michael Gregorius
fe881deff4 Fix issue #3339 by not clearing filter history on control change (#3343)
Do not clear the filter histories when the crossover control has changed,
e.g. via automation.

Add a new method CrossoverEQEffect::clearFilterHistories that's called
whenever the filter histories need to be cleared, e.g. after loading a
crossover EQ. It would be beneficial to also call this method when the
effect is enabled again after being disabled but it seems there is no
was to find out that this event has happened. One could implement it in
the process method by storing the current state in a member and
comparing it to the state at the time of the last process call but this
is something that should be provided by the framework.
2017-03-08 20:12:08 +01:00
Lukas W
bfbcb60eac Fix regression from 85ed63b 2017-03-08 17:38:21 +01:00
Lukas W
85ed63be85 ValueBuffer related cleanups
* Move implementation to a new cpp file
* Use std::vector as base class instead of doing our own memory management
* Remove unused dangerous functions
* Make more use of std algorithms
* Some cleanups in code using ValueBuffer
2017-03-08 17:09:57 +01:00
Oskar Wallgren
1b6a9f4885 Fix crash when rendering from command line and no write access to config file (#3413)
* Fix crash when rendering from command line and no write access to config file

* Remove redundant call to ConfigManager::addRecentlyOpenedProject()
2017-03-08 10:59:40 +01:00
Oskar Wallgren
9545f968b3 Fix TimeLineWidget overflow (#3410) 2017-03-08 10:58:56 +01:00
Oskar Wallgren
cded9fb735 MidiImport - set tempo (#3409) 2017-03-08 01:10:07 +01:00
Oskar Wallgren
7a58cc305a Bump up sample limits to 300MB and 90 minutes (#3411) 2017-03-07 13:15:49 +01:00
DragonEagle
f2fbf1e5b9 Fixes build errors under mingw (3113) (#3369)
* Made fltk install to the write path

* Supress downloading packages that are either installed with pacman or
built from source

* Build libogg from source

* Cleanup after installing libogg

* Build libvorbis from source

* Build flac from source

* Build libgig from source

* Build STK from source

* Fixed "already run" check on STK

* Took credit for calling somoene at Stanford a yutz so they don't think
it was the project lead

* Fixed symlink to pkg-config for 32 bit systems

* Enabled shared library production with fltk

* Hopefully fixed install of STK

* Backed off last change regarding STK.  It broke things

* Put the cross toolchins in front of path. It needs to be there so the
cross tools override the native tools

* Move libgig dlls into the bin directory so they can be found

* let libjpeg and fltk be installed from the repository as they are needed
at that version for make package
2017-03-05 13:16:26 +01:00
Paul Batchelor
5e536319b7 when rendering, use dummy Audio/MIDI devices 2017-03-04 22:10:36 -08:00
Jérôme Duval
80c5b7d906 Haiku fixes (#3399)
* Allow running as root on Haiku.
* include unistd.h for ::read and ::write.
* Link libnetwork on Haiku.
2017-03-04 15:31:28 -05:00
Oskar Wallgren
f7d09c3c69 Some automation pattern fixes (#3352)
* Fix deleting automation points out of quantization

* Triplets in Automation Editor + better remove action

* Let a quantized Automation point wipe clean the space it covers

* Improve sensitivity on erase with zoom < 100%

* Eigth note default quantization

* Tooltip and whatsthis text
2017-03-04 19:04:42 +01:00
Steffen Baranowsky
fd74ddfe15 fix alternate shading of pianoroll and automation editor on zooming (#3391)
* fixes alternate shading in piano roll on zooming

* fixes alternate shading in automation editor on zooming
2017-03-01 17:31:00 +01:00
Oskar Wallgren
06e4033cb9 Don't count muted tracks in track length (#3390)
* Don't count muted tracks to length on render

* Don't count muted TCO's to length on render
2017-03-01 07:27:43 +01:00
TheTravelingSpaceman
8283e3f456 Barlines now end at end of automation (#3387)
* Barlines now end at end of automation

* Removed redundant if check
2017-03-01 00:08:09 +01:00
LMMS Service Account
9124a367e4 Updating translations for data/locale/nl.ts 2017-02-27 06:58:45 -05:00
Oskar Wallgren
e4474af091 'Off beat' beat notes to MelodyPattern 2017-02-27 08:17:24 +01:00
liushuyu
01472aade7 i18n: update strings for ReverbSC 2017-02-26 14:15:49 -07:00
LMMS Service Account
997af71c55 Updating translations for data/locale/it.ts 2017-02-26 16:11:57 -05:00
LMMS Service Account
bde361ee4a Updating translations for data/locale/fr.ts 2017-02-26 16:11:20 -05:00
Lukas W
4404b6f29c Remove explicit MidiTime constructor and operator 2017-02-24 11:33:11 +01:00
Paul Batchelor
0cb6c72e1d ReverbSC: Initial implementation (#3202)
* ReverbSC - Plugin. lmplementation of the Sean Costello reverb algorithm
2017-02-23 04:21:47 +01:00
Umcaruje
de2e164aae Piano Roll and Automation editor grid redesign (w/ @BaraMGB) (#3062)
* Make dem grid ndasd

* grid BG

* fix bug in scroll behavior

* debugging scrolling

* Add CSS property, port to automation editor

* Fix a fail

* Spaces to tabs

* Use fillRect rather than drawRect

* Implement @vlad1777d's idea

* Seperate loops and stuff

* Finish up Piano Roll Grid

* Cleanup

* Redesign the grid for the Automation Editor

* Update colors

* Formatting changes

* formatting changes II
2017-02-22 19:56:32 +01:00
Steffen Baranowsky
5863752988 elide the text on track button if it's too lon... (#3328)
* Elide the text on track button if it's too long
* Remove setText() from paintEvent
* Dynamic trackLabelButton width
2017-02-20 11:44:21 -05:00
Oskar Wallgren
2c8e9a0957 visible beat notes in MelodyPattern 2017-02-20 13:33:58 +01:00
follower
b6441b7f18 Workaround Qt5 bug that fails to remove separator at end of File/Help menus (#3350)
Prevent dangling separator at end of menus on macOS

Per https://bugreports.qt.io/browse/QTBUG-40071
2017-02-18 22:45:35 -05:00
LMMS Service Account
80e2374bcb Updating translations for data/locale/nl.ts 2017-02-17 03:05:35 -05:00
follower
b25655f9fe Remove non-document menu icons on macOS / OS X (#3363)
Remove icons from non-document menus on macOS

Matches Apple user interface guidelines
2017-02-17 01:48:27 -05:00
liushuyu
1ff9638968 i18n: reset source strings due to Transifex malfunction 2017-02-16 23:01:13 -07:00
liushuyu
05e3c70f16 i18n: Progressive merge back 2017-02-16 22:44:36 -07:00
liushuyu
0a4009eb4a i18n: Update source strings 2017-02-16 22:25:31 -07:00
Steffen Baranowsky
558962d231 Redesign of EQ plugin (#3030)
* redesign of EQ plugin

* correct some symbols

* set pixelPerUnitHeight to float

* change textcolor of inactive handles to white

* revert changes in styles.css

* change grid color/adjust Fontsize of info box / change analizing color

* range changed (20 - 20000 Hz) / display width increased

* Update the EQ faders and remove unused files

* Increase transparency of the graph

* corrects the filter fader peak

* makes fader peak display more useful

* Implement @zapashcanon's suggestions
2017-02-14 18:25:32 +01:00
Oskar Wallgren
c1321ba80f Fix saving of multiple TempoSyncKnobModels (#3281)
* Save multiple TempSyncKnobModel syncmodes

* Add upgrade path for approximate version 1.2.0-rc2.42
2017-02-14 17:24:03 +00:00
Oskar Wallgren
284c40c80b Fix bad upgrade for bbtrack 2017-02-14 13:16:07 +01:00
Steffen Baranowsky
831a0655d5 add some minimum sizies for some windows (#3333) 2017-02-13 23:32:09 +01:00
Oskar Wallgren
901fea51d0 Auto-save - Fix double negations and some cleanup 2017-02-13 22:19:01 +01:00
Steffen Baranowsky
f244d9a966 adds clear button to line edits on 'add FX' and 'side bar browser' (#3329) 2017-02-13 19:05:05 +01:00
Lukas W
e6b571270a Check for nullptr in BufferManager::release 2017-02-12 10:50:00 +01:00
Lukas W
4254597fae Fix PlayHandle buffer leak
Fixes #3169
2017-02-11 22:07:45 +01:00
Steffen Baranowsky
f93735755b fix crash on export per command line with sample track (#3341) 2017-02-11 18:58:06 +01:00
Rebecca DeField
4413b6f75b Dynamics Processor Plugin Redesign (#3327)
* Dynamics Processor Redesign

* Spacing tweak
2017-02-10 14:35:19 +01:00
Oskar Wallgren
a0caecc060 Some issues with large files (#3293)
* Prevent crash on loading too large or long sample
* Move message box to the end
* Fix export from command line with large files
2017-02-09 09:03:06 -05:00
Oskar Wallgren
f367604af7 No extra bar with beat note near end 2017-02-09 02:46:47 +01:00
Steffen Baranowsky
ea88c906eb set new initial width of piano roll editor (#3334) 2017-02-08 16:42:38 -05:00
Steffen Baranowsky
3070cec1ba SideBarButton set text below the icon (#3256)
* SideBarButton set text below the icon

* change color of checked sidebarbutton

* adds a space to the sideBarButton title

* add gradient to checked side bar button

* whitespaces
2017-02-06 08:38:28 -05:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Javier Serrano Polo
d50ca512cd Avoid interception by PulseAudio (#2992) 2017-02-05 13:49:42 -05:00
Javier Serrano Polo
30f1e52be3 Allow PROJECT_YEAR override (#3016)
* Allow PROJECT_YEAR override

* Generate release information and build with it

* Delegate to maintenance tasks
2017-02-05 13:40:34 -05:00
fholmer
c10af18c1b Iterate PulseAudio mainLoop and wait for context state (#3216)
* Iterate PulseAudio mainLoop and wait for context state

* Fixed indentation
2017-02-05 13:14:50 -05:00
gnudles
54d0922cea SoundIO- fixed up crashes when device cannot be opened. (#3238)
* SoundIO- fixed up crashes when device cannot be opened.

* SoundIO - reset soundio pointer after destroy.
2017-02-05 13:06:35 -05:00
gnudles
72ffc98be6 Small fixes: (#3221)
In PianoView.cpp fixed the focus policy so that if one would like to use
a QPlainTextEdit in his plugin, he'd be able to do so.
In TrackContainerView.cpp and AutomationEditor.cpp there's a problem
that if you use a Right To Left locale, all the GUI turn RTL, but in
those specific editors, things get very messy, because they were made up
with the assumption of LTR.
2017-02-05 13:05:31 -05:00
Oskar Wallgren
e40a6bc627 Avoid crash on gui when rendering from command line and no write access (#3322) 2017-02-04 19:04:13 +01:00
Michael Gregorius
cf26da330c Revert "Fix 2047 ("TripleOscillator: Oscillators are getting out of sync") (#3145)"
This reverts commit e3e14bb730 in an
attempt to fix issue #3292.

The problem that's addressed is very elusive:
* It cannot be reproduced reliably.
* It seems to be more prone to appear in release builds.
* It only seems to appear when two or more instruments are mixed into
  one channel.
* If you solo a problematic Triple Osc it goes away.

The observations above seem to indicate that there's rather a problem
with the mixing (due to multithreading?) and that the changes made to
Triple Osc seem to trigger this deeper problem more quickly.
2017-02-04 12:45:02 +01:00
Karmo Rosental
995b14f7b5 Fixed #3226. Beat velocity fixes for both themes. (#3229)
* Fixed #3226. Fixed beat velocity on classic theme. Fixed visual difference between 0 velocity and no step.

* Render step_btn_on_0.png always.

* Removed useless if.
2017-02-03 22:35:23 +01:00
Spekular
6f3a7ea857 Fix Discord Badge (#3316) 2017-02-03 12:05:02 -05:00
Oskar Wallgren
c54171ba48 Option to allow auto save while playing (#3088)
* Option to allow auto save while playing
2017-02-01 17:05:32 +01:00
Oskar Wallgren
3e21e4ee13 Set Stk::showWarnings() via LMMS_DEBUG (#3309) 2017-01-30 16:07:25 +01:00
Oskar Wallgren
c8e987348d Note resize area width (#3304) 2017-01-27 10:40:53 +01:00
Rebecca DeField
421243ae73 Made automation slopes more distinguishable (#3282)
* Made automation slopes more distinguishable

* Tweak icon alignment
2017-01-24 17:32:56 -08:00
Javier Serrano Polo
fc40481a6b Update online help link (#3291) 2017-01-24 15:07:42 -05:00
Javier Serrano Polo
c1993d6feb Drop windowIcon from ui files (#3290) 2017-01-24 08:48:15 -05:00
Lukas W
897a09434c CMake: Fix manpage command argument escaping 2017-01-24 12:12:02 +01:00
Steffen Baranowsky
a4c65b52c9 fix eliding issue on fx mixer fader (#3241) 2017-01-24 08:54:10 +01:00
Steffen Baranowsky
c5aa22663e allow drag track label button for moving track (#3271)
* allow drag track label button for moving track

* improve mouseclick

* improve click 2
2017-01-23 09:35:43 +01:00
Steffen Baranowsky
349f27f819 makes controller rack fixed in width (#3240) 2017-01-23 09:34:43 +01:00
projectpitchin
604e5aeaa4 Fixed a spelling error in a debug message in RemoteVstPlugin::load. (#3279) 2017-01-20 19:15:59 -05:00
Rebecca DeField
e56d318618 Delay Plugin Redesign (#3120)
* Delay Redesign

* FDBK instead of REGEN
2017-01-18 21:47:28 -08:00
Oskar Wallgren
c0cf119c0d Fix inverted zoom direction (#3273) 2017-01-18 16:59:53 +01:00
Steffen Baranowsky
b76ba25eb0 sample track vol knob should have same precision as instrument track vol knob (#3254) 2017-01-14 14:14:25 +01:00
Michael Gregorius
e3e14bb730 Fix 2047 ("TripleOscillator: Oscillators are getting out of sync") (#3145)
Change all phase related variables in Oscillator from float to double.
The parameters for the getSample methods have not been changed to double
as it should suffice to only update the phase variables with double
precision.
2017-01-12 17:10:38 -05:00
miketurn
4b92651d4f Fixed Text Case Of "Instrument Plugins" Label (#3243)
@liushuyu please update in transifex as well.
2017-01-12 11:52:21 -05:00
Steffen Baranowsky
7cf6150e75 suggest a fix for precision on knob dragging (#3075)
* fixes precision on knob dragging

* fixes precision on fader dragging

* diaplay a rounded float on knobs

* enter rounded value on fader

* add getRoundedValue() and getDigitCount() to floatmodel

* whitespace
2017-01-12 15:02:54 +01:00
Wiley Yu
7e8513235c Added NSHighResolutionCapable to lmms.plist.in (#3231) 2017-01-10 10:33:05 -05:00
Tres Finocchiaro
f45de837f9 Add rawwaves to Windows installer (#3230)
Closes #3227
2017-01-09 23:36:38 -05:00
Karmo Rosental
674a2fb50c Fixed #3047 and #3180. (#3184) 2017-01-09 15:46:37 +01:00
Tres Finocchiaro
c9c1ba7246 Fix zyn linking; cleanup bundling 2017-01-07 15:20:33 -05:00
Tres Finocchiaro
400be17158 Fix calf plugin compilation on Clang (#3215) 2017-01-07 02:36:09 -05: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
Lukas W
4db1db5eca Travis: Fix deploy condition 2017-01-06 15:59:45 +01:00
Umcaruje
bc0802c8c5 Patch Travis deployment of windows installers 2017-01-06 00:49:07 +01:00
BaraMGB
43a77a0219 Let sample tracks play from any song position (#3133)
* play sampletracks from any song position

* take care of TCO length

* TCOs shouldn't be updated when SE window is resized

* take care of zooming level

* takes care on all song position changes and mute/solo tracks now

* playes the sample only within the buffer limits

* takes care of time signature changes

* some minor code improvements (zapashcanon)

* loopback one tick earlier

* minor code changes

* get rid off clicks by resize and scrolling song editor

* removes playhandle by remove TCO

* minor bugs on manipulating TCOs in Song Editor

* update on add sample by playing

* white spaces 1
2017-01-05 22:31:52 +01:00
Tres Finocchiaro
6137fcc5a5 Explicitly define qt versions on Mac (#3201)
* Explicitly define qt versions on Mac

Closes #3200

* Qt4 force Xcode8 pre-built binaries
* Don't do install tasks at configure time
2017-01-02 17:14:52 -05:00
Javier Serrano Polo
89665b0be3 Separate flags for WINE_BUILD_FLAGS (#3177) 2017-01-01 19:12:24 +00:00
Roberto Giaconia
0bf7b13e2a Changes noncyclic smoothing behaviour (#3137) 2016-12-29 22:39:54 +01:00
Oskar Wallgren
3157dbf993 Revert "Envelopes are on now by default" (#3176) 2016-12-25 21:58:52 +01:00
Oskar Wallgren
6e66665687 Don't run metronome when project is empty (#3173) 2016-12-22 15:30:18 +01:00
Oskar Wallgren
3de95a148d Mallets, turn off excessive warnings (#3172) 2016-12-21 19:51:57 +01:00
Oskar Wallgren
b9534f4271 m_arpDirectionModel sort element order (#3171) 2016-12-21 01:36:51 +01:00
Oskar Wallgren
1f3947408d No newline after render (#3158) 2016-12-16 18:13:15 +01:00
Oskar Wallgren
e1c598ba21 Set default suffix (#2230) 2016-12-14 15:41:30 +01:00
xhe
65d193ce1a Improve compatibility, avoid failing to compile (#3147)
following https://github.com/LMMS/lmms/issues/3146#issuecomment-266211689
2016-12-10 10:25:59 -05:00
m-xbutterfly
33f5821b63 waveshaper redesign (#3097)
* waveshaper redesign

* Correcting for inconsistency with overall theme

* fix knobs and background

* Changed buttons with more consistent font
2016-12-09 22:27:05 -08:00
Oskar Wallgren
3ee60b24bd Sinc Medium as default interpolation (#3141) 2016-12-02 17:19:25 -05:00
Mikobuntu
68d8152cf5 Envelopes are on now by default (#3090) 2016-11-26 19:16:26 +01:00
LMMS Service Account
9a95d73ab7 Updating translations for data/locale/fr.ts 2016-11-25 17:35:45 -06:00
liushuyu
dda6fa944d Refresh i18n strings 2016-11-24 13:02:23 -07:00
Mehdi
13cf2fc9d8 workaround for broken wineg++ (#3130)
* Patched broken wineg++ for Fedora x86_64

Closes #3129
Related #3128
2016-11-22 09:28:42 -05:00
LMMS Service Account
5c9f700a96 Updating translations for data/locale/it.ts 2016-11-20 09:18:50 -06:00
LMMS Service Account
27a2748b69 Updating translations for data/locale/es.ts 2016-11-13 18:08:42 -06:00
Umcaruje
f9f930d4e1 Disable MIDI export temporarily (#3114) 2016-11-13 23:12:54 +01:00
liushuyu
89bfd3259d Fix several i18n-related defects (#3111) 2016-11-12 11:53:43 -07:00
LMMS Service Account
2574254eaf Updating translations for data/locale/it.ts 2016-11-11 15:44:35 -06:00
LMMS Service Account
656750dfbb Updating translations for data/locale/es.ts 2016-11-11 15:12:48 -06:00
Shane Ambler
05ace7e348 Support for using jack midi input (#2038)
* Support jack midi input

* If jack is used for audio then use the same connection for midi as well

* Remove old FreeBSD adjustment for portaudio as multiple version support has been dropped.

* Disable jack midi out port until it is functional
2016-11-10 00:03:35 +01:00
Umcaruje
c9618961d6 dBV is actually mislabeled dBFS (#3095)
* Relabel "dBV" to "dBFS" in function names and GUI
* Write a ConfigManager upgrade for older versions
2016-11-06 22:44:18 -05:00
LMMS Service Account
3d43937bf3 Updating translations for data/locale/es.ts 2016-10-31 21:19:11 -05:00
LMMS Service Account
8620ea6bf8 Updating translations for data/locale/it.ts 2016-10-28 16:03:12 -05:00
liushuyu
32b19c0fb1 Refresh translation strings 2016-10-27 00:03:22 -06:00
Oskar Wallgren
f99aee97cd Arpeggiator Cycle function. Jump over notes and cycle back if over note range. (#3078) 2016-10-26 10:27:26 +02:00
Rebecca DeField
3bcb00a381 New piano design with optimized contrast (#3077)
* New piano design with optimized contrast

* Made green transparent on pressed keys

* Updated Design
2016-10-24 15:29:09 -07:00
Umcaruje
6f91c56956 Upgrade for inverted LEDs in Crossover equalizer (#3068) 2016-10-17 18:46:13 +03:00
BaraMGB
eb44ab3316 EQ optimazations (#3036)
* calcuculate curve path only when data has changed

* calculate spectrum analyzer only if signal input

* code clean up / coding conventions

* changes according coding guidelines/performance improvements in spectrum analyser/curves painting

* minor changes/white spaces

* change init order

* connect analyze view to gui->mainWindow()->periodicUpdate()

* consolidate some functions (d.r.y.)

* minor syntax changes

* fixes a right mouse button bug

* correct steepness of flanks in high and low pass filters

* Whitespaces
2016-10-12 20:09:25 +00:00
Tres Finocchiaro
1f1048697d Remove mounted icon
Per https://github.com/LinusU/node-appdmg/issues/125
2016-10-10 11:29:45 -04:00
Rebecca DeField
54b1da55c2 Theme tweaks (#3042) 2016-10-04 12:06:50 +02:00
liushuyu
d609b8f405 Refresh i18n strings 2016-10-01 01:39:04 -06:00
Umcaruje
d4fb937423 Fader redesign (#3056) 2016-09-30 11:50:50 -07:00
Umcaruje
919ca8b4d7 Enable antialiasing for sample visualizing (#3057) 2016-09-29 15:18:03 -07:00
Umcaruje
1eded63a19 Standardize the color of TCO bar markers (#3054) 2016-09-29 15:05:37 -07:00
Tres Finocchiaro
68df69d535 Speed up apple builds (#3058)
- fltk appears to have been fixed in Homebrew
 - removed "reinstall" to speed up builds
2016-09-29 13:24:46 +02:00
Karmo Rosental
70a5ee41ba Fixed showing of velocity of steps. (#2960)
* Fixed showing of velocity of steps.

* More contrast between muted and unmuted steps.

* Corrected opacity of volumes over 100.

* Single pixmap draw per step and step opacity is calculated using sqrt function.

* Using step_btn_on_100.png created by Umcaruje.
2016-09-28 17:44:28 +02:00
Umcaruje
be5cc6685e Disable minimization on all subwindows (#2983)
* Disable minimization on all subwindows

* Change the maximize button icon

* Remove redundant boolean

* Make the maximize icon play better with the close icon

* I removed too much maaan

* Fix spaces

* Change comments
2016-09-28 01:01:24 +02:00
Simon van der Veldt
61dfed9421 Remove remnant WANT_SYSTEM_SR (#3050)
Actual use of WANT_SYSTEM_SR was removed in 3f6ff1deb0
2016-09-24 18:40:19 +02:00
Mohammad Amin Sameti
8911f27654 Add Persian and Phrygian dominant scales (#3045) 2016-09-23 17:34:06 +02:00
BaraMGB
0c5b2fa4f7 Merge pull request #3012 from BaraMGB/renamewindowtitle
Window title will be changed on rename track, now
2016-09-22 16:36:36 +02:00
Steffen Baranowsky
d600d56ad3 change automation editor window title on rename automation pattern 2016-09-18 13:56:36 +02:00
Steffen Baranowsky
354cb78412 piano roll title changed on pattern renaming 2016-09-18 13:18:35 +02:00
Javier Serrano Polo
41b930eb66 Update Pattern and AutomationPattern length (#3037) 2016-09-17 23:51:00 +00:00
Steffen Baranowsky
aaed243abb minor changes/code conventions 2016-09-17 12:57:00 +02:00
Steffen Baranowsky
52102dd8b3 no reason for patternRenamed() is public 2016-09-15 15:42:40 +02:00
Steffen Baranowsky
2310c65348 rename Piano Roll window title on Instrument Track rename/remove 2016-09-15 15:20:33 +02:00
liushuyu
48cc3bb5ef Refresh i18n strings 2016-09-15 12:59:10 +00:00
Rebecca DeField
ec98b9b9b2 Merge pull request #3007 from RebeccaDeField/master
Redesign Flanger
2016-09-15 10:44:28 -07:00
RebeccaDeField
defb6aa285 Hint text update 2016-09-12 15:10:00 -07:00
Javier Serrano Polo
1f90337523 Drop notes with length zero (#3031) 2016-09-12 20:10:18 +00:00
RebeccaDeField
4a48a6b0e5 Background tweak 2016-09-12 12:43:04 -07:00
RebeccaDeField
05df9289ad Background 2016-09-12 12:40:04 -07:00
RebeccaDeField
92e09e8e56 Update Flanger 2016-09-12 12:37:22 -07:00
Umcaruje
ede0e07f5e Exclude .ts files from the Github linguist
for proper language detection, as LMMS does not use TypeScript
2016-09-11 17:57:47 +02:00
Umcaruje
b641dfc4ca Redesign Multitap echo (#3008) 2016-09-10 14:21:31 +02:00
liushuyu
12a91ae3f5 Update i18n source strings 2016-09-10 00:10:37 +00:00
Oskar Wallgren
a4f5834019 Extended arpeggiator functions (#2130) 2016-09-10 03:40:27 +00:00
Javier Serrano Polo
5e409b5575 Fix sample track playback in BB tracks (#3023) 2016-09-10 02:47:39 +00:00
Javier Serrano Polo
5626a49704 Sort plug-in embedded resources (#3014) 2016-09-10 02:31:35 +00:00
Javier Serrano Polo
5eb0ae2d75 Implement version major.minor.release-stage.build (#3011) 2016-09-10 02:27:59 +00:00
Oskar Wallgren
eb86e25fd8 Fix regressions on loading broken projects (#3013) 2016-09-08 22:18:23 +02:00
Oskar Wallgren
a53fd2663b Improved file input validation. (#2523) 2016-09-05 12:17:40 +02:00
Javier Serrano Polo
08d54d3179 Fix sample track view in BB editor (#3002) 2016-09-04 00:16:43 +00:00
Javier Serrano Polo
6614f567d7 Request change in model when dropping a track (#3000) 2016-09-04 00:15:21 +00:00
Javier Serrano Polo
5f54995188 Add LocklessAllocator and use it in LocklessList (#2998) 2016-09-04 00:13:45 +00:00
Steffen Baranowsky
0af64f5836 adjust window title on rename lfo controller 2016-09-01 11:29:11 +02:00
Steffen Baranowsky
129e446322 Window title will be changed on rename track, now 2016-09-01 10:24:25 +02:00
Javier Serrano Polo
f14cb687de Drop forceStep in AutomatableModel (#3010) 2016-08-30 19:45:09 +02:00
Javier Serrano Polo
8c2f98a89e Fix undefined reference to vtable for AudioSoundIoSetupUtil (#3004) 2016-08-30 14:34:04 +00:00
Lukas W
37d6e9a561 Merge pull request #3003 from LMMS/iss-2501
Fix LFO drifting
2016-08-30 05:50:32 +12:00
Lukas W
67e93710d2 TempoSyncKnobModel: Fix loadSettings order (syncmode takes precedence) 2016-08-29 13:56:04 +02:00
Lukas W
37dfa492dc ProjectVersion tests, fix mixleading comment 2016-08-29 09:04:37 +02:00
Umcaruje
d2a5c496ab Redesign Crossover Equalizer (#2994)
* Redesign Crossover Equalizer

* Make it all pixel perfect
2016-08-29 01:50:54 +02:00
BaraMGB
f91d0e73dd title label in artwork.png removed / alignment improved (#2995) 2016-08-26 13:01:35 +02:00
BaraMGB
f3ce31250d remove the title label from lfo_controller_artwork.png/new alignment (#2999) 2016-08-26 13:01:07 +02:00
Lukas W
02eee8e7b6 AutomatableModel: Don't force step size aligning in setValue 2016-08-26 10:40:57 +02:00
Rebecca DeField
cf824bd6f1 Redesign Spectrum Analyzer (#2971)
* Redesign Spectrum Analyzer

* Update Spectrum Analyzer

* Update background
2016-08-25 23:28:01 +02:00
Javier Serrano Polo
703a42e77c Create BB-related TCOs along with BB-related tracks (#2981) 2016-08-25 05:11:43 +02:00
Umcaruje
820a06eeff Redesign Stereophonic Matrix (#2989)
* Redesign Stereophonic Matrix

* Redesign take 2

* Design update

* center middle lines to knobs

* Make the knob arc start from the center
2016-08-24 09:54:27 +02:00
grejppi
74b0454c0d PatMan: clear buffer for finished notes, fix #2991 (#2996) 2016-08-24 02:19:32 +03:00
Javier Serrano Polo
c5cc89d691 Return NULL when asking for 0 bytes with MM_ALLOC (#2986) 2016-08-21 23:24:53 +00:00
Umcaruje
6e1e632baf BassBooster Redesign (#2988) 2016-08-21 18:25:58 +02:00
Umcaruje
8cd323c860 Amplifier redesign (#2985)
* Amplifier redesign

* Center the plugin
2016-08-20 23:09:26 +02:00
Oskar Wallgren
8fa5afbd2a SilenceAllNotes() on every instrument switch removes loud transient noise (#2984) 2016-08-20 10:25:16 +02:00
grejppi
d7fa8067fe really remove all controllers while removing all controllers (#2980)
fix #2979
2016-08-19 01:23:46 +02:00
Umcaruje
e2a0fd33da Do not make preset names all lowercase (#2973) 2016-08-18 23:57:42 +02:00
Javier Serrano Polo
474272af77 Merge pull request #2977 from jasp00/delete-track
Request change in model when deleting a track
2016-08-18 20:22:34 +00:00
Umcaruje
4b6bffc376 Cloning the pattern should duplicate it (#2972) 2016-08-17 23:02:26 +02:00
Javier Serrano Polo
2d529be8af Request change in model when deleting a track 2016-08-17 21:43:48 +02:00
liushuyu
41b6867555 Refresh translation template 2016-08-17 21:57:47 +08:00
Javier Serrano Polo
35fc4af053 Merge pull request #2975 from jasp00/contributors
Honor CONTRIBUTORS override
2016-08-16 00:29:46 +00:00
Javier Serrano Polo
6119e67812 Merge pull request #2968 from jasp00/minimal
Add option to set the list of plug-ins to build
2016-08-16 00:22:37 +00:00
Javier Serrano Polo
b83949ad18 Honor CONTRIBUTORS override 2016-08-15 04:12:26 +02:00
Andrés
07021ed84b fix 'Set Linear' not saving properly (#1642) (#2742) 2016-08-14 20:18:12 +00:00
Javier Serrano Polo
ca3d11c9f0 Add option to set the list of plug-ins to build 2016-08-14 19:46:32 +02:00
Javier Serrano Polo
8b96172650 Merge pull request #2923 from jasp00/nofile
Replace __FILE__
2016-08-09 00:15:05 +00:00
Oskar Wallgren
54a9aa6087 tickspertact -1 (#2959) 2016-08-07 14:39:45 +02:00
BaraMGB
a72ddf0b61 rename FxLine directly in a QLineEdit (#2918)
* rename FxLine directly in a QLineEdit

* set project modified only if FxLine text is changed

* clean up some code. Optimize some things

* optimizing code / removing a couple of member variables

* minor code optimizations

* turn off the tool tip in rename mode / minor code changes
2016-08-07 03:29:58 +00:00
Umcaruje
0187071192 Fix lack of contrast in the new theme (#2949)
* makes Tracks themable in style.css (#2889)

* change the active title bar color/adds a thin line on top of title bar (#2912)

* Make the window border lighter (#2911)

* Color Updates (#2940)

* Increase the lightness of active FxLine (#2945)

* Sidebar tweak (#2954)
2016-08-04 02:17:45 +02:00
Oskar Wallgren
7e1209e774 SF_INFO.format init to 0 (#2956) 2016-08-02 15:03:02 +02:00
Umcaruje
b8f5f21177 Make the background of BB patterns themeable (#2942)
* Make the background of BB patterns themeable

* Lighten up the color, make the BB background borderless
2016-08-02 14:45:45 +02:00
Oskar Wallgren
04dd35e57f Move cloned track up incrementally (#2950) 2016-08-02 13:00:00 +02:00
Javier Serrano Polo
7e99b1504f Merge pull request #2943 from jasp00/effect-info
Do not show VST bridge information
2016-08-02 00:23:40 +00:00
Oskar Wallgren
ba76bfe5a6 Strip prefix 'g' from the version hash (#2952) 2016-07-31 10:16:54 -04:00
BaraMGB
f9f7b50eb0 set the project modified if track was renamed (#2939) 2016-07-31 15:59:47 +02:00
Oskar Wallgren
6e53e74e1c Delete Zakarra songs, missing sounds (#2936) 2016-07-30 01:43:01 +02:00
Umcaruje
cfb1465c05 Update effect plugin icons (#2938)
* Replace the generic effect icon with a more streamlined one

* Add seperate icons for different plugin types
2016-07-29 00:40:02 +02:00
Umcaruje
c20c5207c8 Fix dialog button mismatch (#2908)
* Fix dialog button mismatch

* Change order in menu

* Make buttons the same role, so we have custom ordering

* Hide the exit button, add a close button to the dialog, change ordering

* Make the exit button not visible
2016-07-29 00:39:10 +02:00
Javier Serrano Polo
27b6c77865 Merge pull request #2931 from jasp00/pulse-fail
Run dummy loop when PulseAudio fails connection
2016-07-28 01:23:20 +00:00
Javier Serrano Polo
6f317acadc Merge pull request #2929 from jasp00/render-segv
Destroy engine in text mode
2016-07-28 01:21:21 +00:00
Javier Serrano Polo
e446f14aac Do not show VST bridge information 2016-07-28 03:12:24 +02:00
kamnxt
cd6d70a10b Fix #2698 - hang on start (#2905)
Fixes #2698 by turning off the `recurse` parameter in order to stop LMMS from scanning subdirectories when starting, as suggested by @michaelgregorius.
2016-07-27 19:02:01 +02:00
Oskar Wallgren
18439edff5 Merge pull request #2935 from zonkmachine/malletsVelocity
Limit velocity for stk::modal amplitude range
2016-07-24 17:41:46 +02:00
Oskar Wallgren
ed7d929b2c Limit velocity for stk::modal amplitude range 2016-07-24 04:42:33 +02:00
Javier Serrano Polo
57218b8e65 Merge pull request #2925 from jasp00/find-wine
Search Wine in the i386 multiarch directory
2016-07-23 23:35:49 +00:00
Javier Serrano Polo
fa19f00237 Merge pull request #2921 from jasp00/drop-fl
Remove FLP configuration
2016-07-23 03:03:43 +00:00
Javier Serrano Polo
07cc0edc79 Merge pull request #2928 from jasp00/cancel-crash
Fix crash on canceling the export
2016-07-23 02:31:55 +00:00
LMMS Service Account
0d501742b1 Updating translations for data/locale/es.ts 2016-07-21 22:13:35 -05:00
LMMS Service Account
e9fe6fba6e Updating translations for data/locale/es.ts 2016-07-21 22:08:31 -05:00
LMMS Service Account
da0c9163c0 Updating translations for data/locale/es.ts 2016-07-21 22:03:28 -05:00
LMMS Service Account
8fef97654b Updating translations for data/locale/es.ts 2016-07-21 21:58:25 -05:00
LMMS Service Account
cfb136fea4 Updating translations for data/locale/es.ts 2016-07-21 21:47:52 -05:00
LMMS Service Account
5fc0d13beb Updating translations for data/locale/es.ts 2016-07-21 21:41:32 -05:00
LMMS Service Account
65daa54f1d Updating translations for data/locale/es.ts 2016-07-21 21:35:45 -05:00
LMMS Service Account
598684a432 Updating translations for data/locale/es.ts 2016-07-21 21:30:22 -05:00
LMMS Service Account
7283890298 Updating translations for data/locale/es.ts 2016-07-21 21:25:20 -05:00
LMMS Service Account
b4de216ea4 Updating translations for data/locale/es.ts 2016-07-21 21:20:16 -05:00
LMMS Service Account
e6aad8e0b3 Updating translations for data/locale/es.ts 2016-07-21 21:15:13 -05:00
LMMS Service Account
0bc73ebd03 Updating translations for data/locale/es.ts 2016-07-21 21:10:02 -05:00
LMMS Service Account
fc87036a62 Updating translations for data/locale/es.ts 2016-07-21 21:04:24 -05:00
LMMS Service Account
eae96ae14d Updating translations for data/locale/es.ts 2016-07-21 20:57:50 -05:00
LMMS Service Account
a3749fc08b Updating translations for data/locale/es.ts 2016-07-21 20:52:26 -05:00
LMMS Service Account
b2adfda752 Updating translations for data/locale/es.ts 2016-07-21 20:47:11 -05:00
LMMS Service Account
f546b4ff00 Updating translations for data/locale/es.ts 2016-07-21 20:41:03 -05:00
LMMS Service Account
3a90c7383d Updating translations for data/locale/es.ts 2016-07-21 19:19:25 -05:00
LMMS Service Account
f0e2ea191a Updating translations for data/locale/es.ts 2016-07-21 19:14:20 -05:00
Javier Serrano Polo
a11642df0b Run dummy loop when PulseAudio fails connection 2016-07-22 01:49:54 +02:00
Javier Serrano Polo
8d65ac5596 Destroy engine in text mode 2016-07-21 20:53:08 +02:00
Javier Serrano Polo
b1d4ee1f97 Fixed crash on canceling the export 2016-07-21 19:39:55 +02:00
Javier Serrano Polo
7a98b3e669 Merge pull request #2916 from BaraMGB/renameLineEdit
rename tracks directly on TrackLableButton in a QLineEdit
2016-07-21 14:51:27 +00:00
Javier Serrano Polo
935100b071 Search Wine in the i386 multiarch directory 2016-07-21 02:18:52 +02:00
grejppi
ddc2591611 Move pre-1.1 mixer check to DataFile::upgrade() (#2924) 2016-07-20 23:19:08 +03:00
Steffen Baranowsky
06726f6204 rename tracks directly on TrackLableButton in a QLineEdit 2016-07-20 21:16:26 +02:00
Oskar Wallgren
c9c8ac26b1 Merge pull request #2491 from zonkmachine/pianoRollNoteSelect
Fix selection of beat notes
2016-07-20 20:44:42 +02:00
Javier Serrano Polo
5b991d6b8b Merge pull request #2920 from jasp00/swh
Update SWH, fix GCC 5.3.1 warnings
2016-07-20 12:10:43 +00:00
Oskar Wallgren
1f2c848b26 Fix selection of beat notes in Piano Roll editor 2016-07-20 01:01:58 +02:00
Javier Serrano Polo
0de382ced7 Replaced __FILE__ 2016-07-19 23:58:19 +02:00
Javier Serrano Polo
17e977dc2b Removed FLP configuration 2016-07-19 02:29:55 +02:00
liushuyu
28cb24409c Update i18n strings 2016-07-18 08:20:24 +08:00
Javier Serrano Polo
616f9c0299 Updated SWH, fixed GCC 5.3.1 warnings 2016-07-17 22:21:20 +02:00
grejppi
4f008872ee Replace Version Mismatch popup with TextFloat (#2910) 2016-07-17 13:41:21 -04:00
Javier Serrano Polo
67ce400cf3 Merge pull request #2813 from DeRobyJ/ch.update-song
Updated all the songs to current version
2016-07-16 01:40:40 +00:00
Javier Serrano Polo
b364c11984 Merge pull request #2917 from jasp00/pattern
Resize only patterns from BB editor
2016-07-15 23:51:03 +00:00
Umcaruje
c4e05048b8 Update readme to adress the chatting service change
Gitter to Discord
2016-07-15 20:33:59 +02:00
Javier Serrano Polo
e0bab1ef73 Resize only patterns from BB editor 2016-07-14 20:24:02 +02:00
Javier Serrano Polo
81e0aaaef3 Merge pull request #2915 from jasp00/bb-clone
Create cloned track when the mixer is ready
2016-07-13 22:20:57 +00:00
grejppi
2d1813fb64 Remove FLP import, revert to GPLv2+ only (#2904) 2016-07-12 19:28:45 +03:00
Javier Serrano Polo
db89483e8e Create cloned track when the mixer is ready 2016-07-11 23:51:45 +02:00
Javier Serrano Polo
8a4c6e2b2b Merge pull request #2888 from jasp00/triple-segv
Fix fault on note off and remove one mutex for notes
2016-07-10 22:08:29 +00:00
DeRobyJ
04f12648c5 Updated to forced 1.2.0 version 2016-07-10 19:18:09 +02:00
Michael Gregorius
52ec3874b1 Render the mixer levels in a dB FS scale (#2672)
* Render the mixer levels in a dB FS scale

Adds the option to render the mixer levels in dB FS. By default this
option is disabled so that classes which inherit from Fader are not
affected by this change. However, in the code of the FxMixerView this
feature is enabled so that the mixer shows the levels in dB FS.

The ability to render in dB FS is exported as a property so that it can
also be set in a style sheet (not used as of now). The new property is
called "levelsDisplayedInDBFS".

There are now setters and getters for the min and max level.

Showing the levels in dB FS (which is a logarithmic scale) gives a less
"fidgety" impression when the levels are moving.

* Introduction of an init method in Fader

An init method was added to unify the initialization of the two Fader
constructors.
2016-07-10 15:08:54 +02:00
Javier Serrano Polo
06b1d52b0a Fixed fault on note off and removed one mutex for notes 2016-07-09 22:56:25 +02:00
LMMS Service Account
04ee0910af Updating translations for data/locale/es.ts 2016-07-08 17:32:07 -05:00
Rebecca DeField
ddf587c1bd Updated wave icons for contrast, updated graphics for greater legibility (#2821)
* Updated wave icons for more contrast, updated graphcs for more legibility

* Added LFO artwork

* Updated waveform graphics
2016-07-08 16:41:00 +02:00
Andrés
471f335596 fix equalizer effect spectrum view lag (#2857)
* fix equalizer effect spectrum view lag #2736

* fix equalizer effect spectrum view lag. changed 10ms to 20ms
2016-07-06 23:34:38 -04:00
Javier Serrano Polo
c2a406e70f Merge pull request #2895 from jasp00/worker-lock
Added LocklessList and use it for new play handles
2016-07-06 15:18:09 +00:00
Javier Serrano Polo
8ce6b21e08 Merge pull request #2893 from jasp00/high-cpu
Do not busy wait when writing buffer in mixer
2016-07-06 15:06:52 +00:00
LMMS Service Account
68620ceb29 Updating translations for data/locale/it.ts 2016-07-06 06:51:17 -05:00
liushuyu
4ab880e8d0 Update i18n strings 2016-07-06 18:56:06 +08:00
Tres Finocchiaro
652aa5eb54 Merge pull request #2883 from Stephen-Seo/bb_bugfix
Fixes newly added tracks in BB having wrong size
2016-07-05 18:09:32 -04:00
Roberto Giaconia
0d8a3c7fe1 Add Rename option in controller context menu (#2804)
* add Rename option in controller context menu

* code conv. fix
2016-07-05 22:28:03 +02:00
Tres Finocchiaro
d84263e472 Merge pull request #2808 from Umcaruje/fixbbwidth
Change the minimum width of the B&B editor
2016-07-05 11:39:18 -04:00
Stephen Seo
892970d15b Fixes newly added tracks in BB having wrong size 2016-07-04 20:28:56 +09:00
Javier Serrano Polo
f7aa773005 Added LocklessList and use it for new play handles 2016-07-03 16:42:07 +02:00
Javier Serrano Polo
8497d39eec Do not busy wait when writing buffer in mixer 2016-07-02 21:57:55 +02:00
Javier Serrano Polo
3baedf3307 Merge pull request #2891 from devnexen/master
sndio needs Mixer class def as well
2016-07-02 18:28:08 +00:00
David Carlier
343fa3ff9a sndio needs Mixer class def as well 2016-07-02 16:55:42 +01:00
Javier Serrano Polo
46c2aa32ea Merge pull request #2773 from jasp00/license
Add GPL-3 to license information
2016-07-02 08:24:52 +00:00
Javier Serrano Polo
64702653f9 Merge pull request #2875 from jasp00/journal
Split journal ID range between new and loaded elements
2016-07-02 08:23:26 +00:00
Javier Serrano Polo
fb0e076bce Merge pull request #2829 from jasp00/sort-glob
Sort lists generated from globbing expressions
2016-07-01 02:56:01 +00:00
Javier Serrano Polo
f3ea884697 Merge pull request #2879 from jasp00/export
Fix freeze when finishing export
2016-06-30 03:05:54 +00:00
Javier Serrano Polo
ab5bc38064 Merge pull request #2877 from serdnab/sf2sustain-rev
Revision to a previous PR. midi sustain of sf2 player
2016-06-29 03:33:01 +00:00
Javier Serrano Polo
e55ec80c3d Fixed freeze when finishing export
Fixed stopping processing
2016-06-28 00:50:00 +02:00
Andres
66b6a64040 Revision to a previous PR. midi sustain of sf2 player 2016-06-27 01:23:48 -03:00
Javier Serrano Polo
07893113da Merge pull request #2872 from jasp00/krem
Fix infinite loop in FxMixer and some resource releases
2016-06-27 00:54:23 +00:00
Javier Serrano Polo
1a59f22b02 Merge pull request #2871 from serdnab/sf2sustain
fix midi sustain not working with sf2 player
2016-06-27 00:51:41 +00:00
Javier Serrano Polo
f97b431c8d Split journal ID range between new and loaded elements 2016-06-26 02:43:52 +02:00
Javier Serrano Polo
447c787f7e Fixed infinite loop in FxMixer and some resource releases 2016-06-24 23:02:44 +02:00
Javier Serrano Polo
01e9ebc9cf Merge pull request #2868 from jasp00/esoxlb
Remove effect from list before deleting
2016-06-24 00:21:05 +00:00
Javier Serrano Polo
15196aee3b Merge pull request #2860 from jasp00/mixer-lock
Remove more locks from the mixer
2016-06-24 00:19:24 +00:00
Tres Finocchiaro
7ce2694f75 Merge pull request #2861 from tresf/master
Fix building on older Apple versions
2016-06-22 23:31:07 -04:00
Tres Finocchiaro
36bb163732 Merge pull request #2798 from BaraMGB/fixMacSubwindow
fix the maximize behavior of subwindows on Mac
2016-06-22 22:50:08 -04:00
Andres
4c3c273b1b fix midi sustain not working with sf2 player (#2758) 2016-06-22 22:08:41 -03:00
Steffen Baranowsky
ee8ff0a227 fix the maximize behavior of subwindows on Mac 2016-06-22 14:21:30 +02:00
Javier Serrano Polo
9bf3081725 Remove effect from list before deleting 2016-06-22 05:08:26 +02:00
tresf
092f1c69c5 Force Homebrew to use Qt 5.5
Instead of defaulting to Qt 5.6+ per #2862
2016-06-21 21:29:33 -04: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
2c796f9503 Removed more locks from the mixer 2016-06-20 00:30:23 +02:00
Javier Serrano Polo
5dd650b850 Merge pull request #2835 from jasp00/triple-fpe
Defer updates to SampleBuffer
Removed global lock from the Mixer
2016-06-18 19:27:27 +00:00
Javier Serrano Polo
5606a04ad7 Defer updates to SampleBuffer
Removed global lock from the Mixer
2016-06-18 05:29:21 +02:00
Javier Serrano Polo
ecf9db66bd Merge pull request #2822 from jasp00/rm-track
Fix removal of track when notes are playing
2016-06-17 20:14:24 +00:00
lmmsservice
1e7b8e9617 Updating translations for data/locale/fr.ts 2016-06-17 23:07:16 +08:00
liushuyu
03eccc4ffb Update i18n strings and ...
... remove more hard-coded strings
2016-06-17 22:43:41 +08:00
liushuyu
f7377b6ee7 Update i18n strings 2016-06-17 20:05:35 +08:00
Javier Serrano Polo
3157a7a4af Merge pull request #2830 from jasp00/aeffectx
Replace information obtained from the web in aeffectx.h
2016-06-16 19:54:08 +00:00
Javier Serrano Polo
b8bfe96404 Merge pull request #2836 from jasp00/sort-eff
Sort effects in dialog
2016-06-16 19:35:20 +00:00
Javier Serrano Polo
d31089ceb5 Fixed removal of track when notes are playing 2016-06-16 17:42:00 +02:00
Javier Serrano Polo
10f2fab0eb Merge pull request #2838 from BaraMGB/2823
makes Subwindow title label transparent for mouse events
2016-06-15 22:18:45 +00:00
Steffen Baranowsky
4fc066bd27 fix subwindow title bar resize action 2016-06-15 23:42:48 +02:00
Javier Serrano Polo
5c0b359a61 Sort effects in dialog with sortable table 2016-06-15 01:42:46 +02:00
Michael Gregorius
ec95ef1ba9 Implements #2635: Draws a transparent rectangle in the loop area (plus CSS exposure) (#2657)
* Draws a transparent rectangle in the loop area (plus CSS exposure)

The color for the rectangle can be defined in the style CSS for the
active and inactive case. The following properties of the TimeLineWidget
are exposed through the CSS:
- The color of the lines that are drawn for each bar
- The color of the bar numbers
- The font size (given in pt)
- The minimum and the maximum height of the widget (given in em so that it scales with the font size). Set both to the same value to set a fixed size.
- The background of the widget
- A loop color: The color for the main rectangle's pen
- A loop brush: The brush used to fill the main rectangle
- An inner loop color: The color used for the pen that draws the inner border.
- loopRectangleVerticalPadding: specifies the padding used for the loop indicator rectangle.

The bar numbers are drawn conditionally like the bar lines. The
numbers are drawn with a constant distance to the tact line. This gives
a more consistent picture at different zoom levels and also fixes the
broken look at very small zoom sizes like for example 12.5%.

The bar numbers are drawn with hinting so that they show up less blurry on low DPI displays.

Remove the pixmaps that have been used up to now to draw the loop
boundaries.

Removes the unused "TimeLine" from style.css.

Document the style sheet properties for the loop indicator rectangle.
2016-06-12 18:13:23 +02:00
Umcaruje
1abbbc2ef6 Draw flat, borderless, semi-transparent and sharp-cornered notes (#2827)
* Draw flat, borderless, semi-transparent and sharp-cornered notes; Increase the contrast of the grid

* Convert the note gradient to a horizontal one

* Increase opacity for better visibility

* Reinstate borders, make the fill semi-transparent

* Some cosmetic touch-ups

* Make border width themeable

* Set a boolean for borderless properties

* Rename borderlessNotes to noteBorders
2016-06-10 00:00:19 +02:00
Javier Serrano Polo
4b1fdc4821 Dropped VstParameterProperties
Added information related to VstTimeInfo
2016-06-09 23:53:45 +02:00
Umcaruje
9eec9a0897 Merge pull request #2816 from BaraMGB/PeakControllerGUI
provides a new GUI for the peak controller plugin
2016-06-09 23:45:53 +02:00
Javier Serrano Polo
9b4cc41fa3 Removed information obtained from the web 2016-06-08 02:10:06 +02:00
Javier Serrano Polo
b549846100 Added GPL-3 to license information 2016-06-08 01:45:01 +02:00
Javier Serrano Polo
2d04870c98 Merge pull request #2746 from jasp00/wine-buildflags
Pass build flags to wineg++
2016-06-07 22:32:17 +00:00
Javier Serrano Polo
5b2283feec Sort lists generated from globbing expressions 2016-06-07 20:15:55 +02:00
DeRobyJ
43be8c4740 Updated templates 2016-06-06 12:33:58 +02:00
DeRobyJ
a1b8d8ace5 updates made, see witten log 2016-06-06 12:33:58 +02:00
Umcaruje
daedb92e79 Merge pull request #2818 from Umcaruje/master
Standardise badges in README.md and add more badges
2016-06-05 21:52:29 +02:00
Javier Serrano Polo
252284b4b1 Pass build flags to wineg++ 2016-06-05 01:34:46 +02:00
Umcaruje
b531261cf0 Merge pull request #2820 from jasp00/vst-segv
Do not delete VST parameter window when closed
2016-06-04 20:33:04 +02:00
Javier Serrano Polo
85d1b2075c Merge pull request #2739 from jasp00/sync-socket
Synchronize with remote plugins using local sockets
2016-06-04 00:34:30 +00:00
Javier Serrano Polo
b6a7e6dd4a Do not delete VST parameter window when closed 2016-06-04 01:30:12 +02:00
Steffen Baranowsky
4617bfa99d change the artwork for LFO controller/ amount knob label changed to 'AMNT' 2016-06-03 13:59:26 +02:00
Steffen Baranowsky
d0b80f8151 provides a new GUI for the peak controller plugin 2016-06-03 13:56:41 +02:00
Umcaruje
6e4e060c46 Standardise badges in README.md and more badges 2016-06-03 13:55:44 +02:00
Umcaruje
27eaa4d512 Make scrollbars consistent over the software; Add padding to the scrollbars; Make the PianoView background themeable (#2807)
* Make scrollbars consistent over the software; Add padding to the scrollbars; Make the PianoView background themeable

* Make the scrollbar hover color brighter
2016-06-03 12:21:27 +02:00
Umcaruje
a738069ff5 Merge pull request #2809 from Umcaruje/fixfoldercase
Rename folders in the projects folder to lowercase, for consistency
2016-06-03 12:19:52 +02:00
Umcaruje
9c5cbbec47 Merge pull request #2517 from zonkmachine/zoom
Add finer zoom, 12.5%
2016-06-01 01:12:40 +02:00
Umcaruje
b90540f2a7 Rename folders in the projects folder to lowercase, for consistency 2016-06-01 00:49:45 +02:00
Umcaruje
14b7d83fbd Change the minimum width of the B&B editor 2016-06-01 00:41:06 +02:00
liushuyu
ce8e523f86 Merge pull request #2806 from HDDigitizerMusic/master
ModernNoir Theme For The New Default
Closes #2587
2016-05-31 13:16:03 +08:00
RebeccaDeField
3f2e17dd04 ModernNoir theme as default and previous theme as classic 2016-05-30 20:27:13 -07:00
Javier Serrano Polo
d41500b986 Merge pull request #2803 from jasp00/opt-dll
Make some libraries optional in Windows installation
2016-05-30 23:33:57 +00:00
Javier Serrano Polo
fa7d7a111a Synchronize with remote plugins using local sockets 2016-05-30 01:52:11 +02:00
Javier Serrano Polo
d873ab471c Make some libraries optional in Windows installation 2016-05-30 00:48:08 +02:00
Javier Serrano Polo
5930050d32 Merge pull request #2801 from jasp00/pkg-config
Fix MinGW pkg-config configuration
2016-05-29 02:37:32 +00:00
Javier Serrano Polo
d599955750 Fixed MinGW pkg-config configuration 2016-05-29 03:34:29 +02:00
Oskar Wallgren
36c181dbea Add zoom 12.5% 2016-05-28 21:18:05 +02:00
liushuyu
a42a3c5346 Add Gitter hook to Travis-CI 2016-05-27 22:47:24 +08:00
Umcaruje
a0bbcce1bb Merge pull request #2799 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2016-05-27 15:19:14 +02:00
The Gitter Badger
466559be49 Add Gitter badge 2016-05-26 13:52:07 +00:00
Tres Finocchiaro
028e83ca3e Merge pull request #2796 from trebmuh/desktop-fr
Adds french translation to lmms.desktop
2016-05-24 12:41:24 -04:00
Olivier Humbert
c3304f706d Update lmms.desktop
Adds french translation.
2016-05-24 18:38:43 +02:00
Tres Finocchiaro
da2e6e856c Merge pull request #2793 from jasp00/dummy
Do not delete pool buffers in dummy audio
2016-05-24 11:30:14 -04:00
Javier Serrano Polo
293926a1dd Do not delete pool buffers in dummy audio 2016-05-23 21:41:29 +02:00
Umcaruje
911f4c97b3 Merge pull request #2791 from jasp00/ninja
Fix build with Ninja
2016-05-23 12:36:06 +02:00
Javier Serrano Polo
f746e1ca76 Fixed build with Ninja 2016-05-23 02:00:50 +02:00
LMMS Service Account
5152ccd0b8 Updating translations for data/locale/es.ts 2016-05-22 12:42:32 -05:00
Raine M. Ekman
673cf27e90 Merge pull request #2458 from softrabbit/issue1499
Organic: make oscillator phase offsets per-note
2016-05-20 21:10:34 +03:00
Tres Finocchiaro
2810c9905c Merge pull request #2788 from Teuthis/fix2604
Adds null pointer check to fix crash on exit with peak controller
2016-05-20 15:59:16 +01:00
Chris Aiken
0945562c17 Adds null pointer check to fix crash on exit with peak controller 2016-05-20 10:51:48 -04:00
Javier Serrano Polo
8a5589e7fe Merge pull request #2764 from jasp00/no-soname
Remove SONAMEs from vestige and vst_base
2016-05-20 00:36:41 +00:00
Javier Serrano Polo
25dfed2569 Merge pull request #2775 from jasp00/zyn-runpath
Fix regression in handling RPATH for RemoteZynAddSubFx
2016-05-18 21:28:25 +00:00
Javier Serrano Polo
8c01ba0dc3 Fixed handling RPATH for alternate version of Qt 2016-05-18 22:07:52 +02:00
Tres Finocchiaro
60837ed93b Merge pull request #2780 from jasp00/travis
Use the Trusty beta build environment
2016-05-18 00:18:11 +01:00
Javier Serrano Polo
a460e359f3 Use the Trusty beta build environment 2016-05-17 21:42:18 +02:00
LMMS Service Account
cff47ac957 Updating translations for data/locale/uk.ts 2016-05-16 14:29:43 -05:00
Javier Serrano Polo
cb3e1669e7 Merge pull request #2782 from jasp00/zyn-link
Support qt_version_tag in Qt 5.6
2016-05-15 18:35:20 +00:00
Javier Serrano Polo
f6cde4459c Support qt_version_tag in Qt 5.6 2016-05-15 19:49:09 +02:00
Umcaruje
0613299297 Merge pull request #2781 from tresf/master
Fix style for Qt5 about dialog
2016-05-15 11:53:02 +02:00
tresf
37f57c2ba7 Fix style for Qt5 about dialog
Per #2611
2016-05-15 02:13:22 -04:00
Tres Finocchiaro
207f4db52b Merge pull request #2753 from jasp00/new-swh
Update generated C files from SWH upstream
Closes #2366
2016-05-15 06:45:25 +01:00
Tres Finocchiaro
f2b611b0e8 Compat support for vocoder rename
Per #2366, #2753
2016-05-15 01:39:49 -04:00
Javier Serrano Polo
34081f097a Merge pull request #2771 from jasp00/zyn-link
Revert unnecessary link
2016-05-14 19:44:59 +00:00
Javier Serrano Polo
85996ddae4 Revert unnecessary link 2016-05-12 01:52:40 +02:00
Tres Finocchiaro
ed9ccd2872 Merge pull request #2765 from jasp00/gpl2
Make clear that ZynAddSubFX is under GPL-2+
2016-05-09 02:42:32 +01:00
Javier Serrano Polo
3952def892 Make clear that ZynAddSubFX is under GPL-2+ 2016-05-09 01:45:21 +02:00
Javier Serrano Polo
febbf58a2d Remove SONAMEs from vestige and vst_base 2016-05-09 00:16:53 +02:00
Javier Serrano Polo
44f419c937 Merge pull request #2759 from jasp00/origin
Allow execution of ZynAddSubFX and VST plugins from build tree
2016-05-08 21:47:59 +00:00
grejppi
8dd938463f Remove Greippi-ardudar.mmpz (#2763) 2016-05-09 00:37:16 +03:00
jasp00
183012dced Merge pull request #2735 from jasp00/vst-no-wine
Compile VST plugins without Wine
2016-05-08 19:55:04 +00:00
Javier Serrano Polo
7246c57491 Allow execution of ZynAddSubFX and VST plugins from build tree 2016-05-07 19:41:52 +02:00
liushuyu
e910d6f5a4 Update i18n strings 2016-05-07 16:42:56 +08:00
Tres Finocchiaro
2137a0ade6 Merge pull request #2757 from DanWin/master
Fix warning issued by gcc-6.1
2016-05-06 15:28:22 +01:00
Daniel Winzen
6a0811b9a6 Fix warning issued by gcc-6.1 2016-05-06 16:01:06 +02:00
Tres Finocchiaro
015efb7bc4 Merge pull request #2756 from jasp00/zynaddsubfx-libs
Fix link to module
2016-05-06 00:05:46 +01:00
Javier Serrano Polo
37c39e68a8 Fixed link to module 2016-05-06 00:21:24 +02:00
grejppi
c94d6e8db4 Add Quantize button to Piano Roll
Add Quantize button to Piano Roll
2016-05-05 13:39:55 +03:00
Tres Finocchiaro
355f6c28c5 Merge pull request #2748 from jasp00/zynaddsubfx-libs
Fix ZynAddSubFxCore library issues
2016-05-04 20:37:17 -04:00
Javier Serrano Polo
0196a67c7c Fixed ZynAddSubFxCore library issues 2016-05-05 00:59:05 +02:00
Tres Finocchiaro
d0107a7f60 Merge pull request #2754 from jasp00/useless-deps
Use fltk-config to avoid static library
2016-05-04 18:21:04 -04:00
Javier Serrano Polo
9b05a9e917 Updated generated C files from SWH upstream 2016-05-04 23:28:11 +02:00
Javier Serrano Polo
1eda555e93 Use fltk-config to avoid static library 2016-05-04 23:03:37 +02:00
Umcaruje
0c9bf9b518 Merge pull request #2516 from BaraMGB/SubwindowDecoration
Add a new window decoration to MDISubWindows
2016-05-03 17:17:12 +02:00
Umcaruje
4fd8fce60d Styling changes for the subwindow decoration 2016-05-03 14:25:18 +02:00
Tres Finocchiaro
180b56161c Merge pull request #2751 from devnexen/master
allowing openbsd to play the virtual keyboard via the comp's one, the…
2016-05-02 20:25:38 -04:00
LMMS Service Account
2a4987c0e0 Updating translations for data/locale/es.ts 2016-05-02 12:09:37 -05:00
LMMS Service Account
7f52a00396 Updating translations for data/locale/es.ts 2016-05-02 12:04:28 -05:00
LMMS Service Account
f303d3a284 Updating translations for data/locale/es.ts 2016-05-02 11:59:19 -05:00
LMMS Service Account
2fb6e1a8bb Updating translations for data/locale/es.ts 2016-05-02 11:54:19 -05:00
Steffen Baranowsky
47f5b25877 Add a new window decoration to MDISubWindows 2016-05-02 16:59:49 +02:00
midi-pascal
cbbde98e4f Fixes #1735 (#2750)
Piano Roll: Do not scroll back when stopping if scroll is disabled
2016-05-02 12:32:40 +02:00
David Carlier
672f01f92c allowing openbsd to play the virtual keyboard via the comp's one, the Linux's layout seems workable 2016-05-02 06:49:16 +01:00
Javier Serrano Polo
4b8cf97af3 Compile VST plugins without Wine 2016-05-02 00:02:12 +02:00
Tres Finocchiaro
cfe5e98bf7 Merge pull request #2732 from jasp00/master
Find vstbase library at runtime
2016-05-01 15:03:04 -04:00
Tres Finocchiaro
568a83521a Merge pull request #2749 from jasp00/useless-deps
Remove useless dependencies
2016-05-01 15:00:39 -04:00
Tres Finocchiaro
59c7187dce Merge pull request #2747 from jasp00/gcc6
Fixed build problems with GCC 6
2016-05-01 14:19:47 -04:00
Oskar Wallgren
45c4690cf4 PianoRoll, Escape key drops selection (#2561) 2016-05-01 13:57:44 +02:00
midi-pascal
63ac551c70 Fix missing scroll back when stop in Song Editor (#2423)
* Fix missing scroll back on stop in Song Editor

* Fix missing scroll back on stop in Song Editor

* Avoid scrolling the Song Editor when scrolling is disabled.

* Handle the smooth scroll in scroll back

* Remove leading underscore from fonction parameters name

* Put back spaces around parameters (Removed by mistake)
2016-05-01 10:59:52 +02:00
Javier Serrano Polo
60740fbefc Removed useless dependencies 2016-04-30 03:33:21 +02:00
Javier Serrano Polo
a06cb0126c Fixed build problems with GCC 6 2016-04-30 00:00:09 +02:00
LMMS Service Account
96a011d396 Updating translations for data/locale/it.ts 2016-04-29 04:09:22 -05:00
Javier Serrano Polo
1e69e8d3a9 Find vstbase library at runtime 2016-04-27 21:12:28 +02:00
LMMS Service Account
33d8c44ed9 Updating translations for data/locale/uk.ts 2016-04-27 10:40:20 -05:00
liushuyu
8d7e1d60ba Minor i18n fix & language files refresh 2016-04-25 15:44:41 +08:00
Oskar Wallgren
d31ad894ce Merge pull request #2705 from karmux/master
Fixes #2537. GigaSampler can load both relative and absolute paths
2016-04-24 06:34:00 +02:00
midi-pascal
2a7bdf3fe8 Fix cmd-line help, add config option, use local lmmsrc file in dev (#2570)
* Fix command-line help, add --config option and use local lmmsrc file in dev mode

* Fix a typo in help screen for option --geometry (second dash missing)

* Replace tabs with spaces in help screen
Update man page

* Lineup items in help screen

* Accept both -geometry and --geometry as valid options
2016-04-23 23:27:34 +02:00
Tres Finocchiaro
0381e412c4 Merge pull request #2631 from IvanMaldonado/master
Changed object position
2016-04-23 13:29:40 -04:00
Tres Finocchiaro
c749658d7c Merge pull request #2727 from mamins1376/master
Add Dirty Love Song
2016-04-23 11:06:40 -04:00
Oskar Wallgren
4ee014d3a2 Merge pull request #2734 from jasp00/sample
Restore metalish_dong01.ogg's quality (closes #2733)
2016-04-22 21:32:31 +02:00
Javier Serrano Polo
9cee16aacf Restored metalish_dong01.ogg's quality 2016-04-22 20:34:31 +02:00
Mohammad Amin Sameti
1eb7851f89 Remove non-crossplatform plugins, add licesne(CC-BY-SA) 2016-04-21 12:02:55 +04:30
Mohammad Amin Sameti
19aa3a60ef Remove 'MAMINS-' 2016-04-21 11:52:04 +04:30
LMMS Service Account
46e5693e14 Updating translations for data/locale/uk.ts 2016-04-19 08:32:44 -05:00
Tres Finocchiaro
5bedb9c0ed Merge pull request #2697 from zonkmachine/clonesteps
BBTrack fixes
2016-04-17 10:56:07 -04:00
Tres Finocchiaro
481d89dd38 Merge pull request #2729 from Brewtroll/master
Fix for issue #2713
2016-04-17 09:17:38 -04:00
LMMS Service Account
7c1c0154f5 Updating translations for data/locale/it.ts 2016-04-16 03:12:19 -05:00
Chris Aiken
946ae85b5f Fix for issue #2713, adjusted Note::setKey bounds to fix one-off-the-end error 2016-04-15 19:24:27 -04:00
Mohammad Amin Sameti
ba7c801c55 Add Dirty Love Song 2016-04-12 15:47:27 +04:30
Tres Finocchiaro
13595bbbcf Merge pull request #2725 from liushuyu/master
Minor changes for i18n
2016-04-10 10:23:40 -04:00
liushuyu
d50553e89b Minor change for i18n 2016-04-10 16:00:52 +08:00
Oskar Wallgren
fa0c26e403 Clone steps in context menu 2016-04-10 01:19:45 +02:00
Umcaruje
356135b8b0 Merge pull request #2716 from Umcaruje/textcss
Fix hard-coding of knob and LCDWidget text color
2016-04-09 22:35:29 +02:00
LMMS Service Account
66d787d5cc Updating translations for data/locale/es.ts 2016-04-04 19:55:25 -05:00
Tres Finocchiaro
e9f6bf429f Merge pull request #2717 from devnexen/master
adding missing sndio Midi name setting.
2016-04-03 00:03:45 -04:00
Umcaruje
f787982d9a Fix hard-coding of knob and LCDWidget text color 2016-04-03 00:05:17 +02:00
David Carlier
9d06b9a7cb adding missing sndio Midi name setting. 2016-04-02 22:28:32 +01:00
Umcaruje
a29305350d Merge pull request #2710 from Umcaruje/fxmixerpad
Get rid of mixer and effects chain padding
2016-04-01 10:40:35 +02:00
Oskar Wallgren
0f8a2e7060 Merge pull request #2670 from zonkmachine/mallets
Mallets
2016-03-29 23:58:44 +02:00
liushuyu
18365ca8f5 Update i18n source strings 2016-03-29 23:12:32 +08:00
Tres Finocchiaro
6a0190117f Merge pull request #2712 from T-boneG/2617
FIXED: Rename "bassloopes" folder to "bassloops". #2617
2016-03-27 20:43:01 -04:00
Tyler Ganter
8e7d819aef typo fixed and file path will update for all projects created with version < 1.1.91 2016-03-27 15:53:27 -07:00
Umcaruje
39f4f21e47 Get rid of mixer and effects chain padding 2016-03-27 20:39:32 +02:00
Fastigium
058226f3c0 Merge pull request #2709 from Fastigium/restorethefxchannellocktoitsformerglory
Restore the FX channel lock to its former glory
2016-03-27 15:01:54 +02:00
Fastigium
4aa725b509 Restore the FX channel lock to its former glory
In the course of 32b7e04, I removed the channel lock from FxChannel because
I was under the impression that it was only needed to prevent crashes on
channel delete. However, at least two people experience crackling audio
after it was removed (#2708). Therefore, this commit reinstates it.
2016-03-27 10:05:45 +02:00
liushuyu
47b835febe Update translations 2016-03-27 00:21:18 +08:00
LMMS Service Account
0e53bee4bd Merge pull request #2706 from liushuyu/master
Add Transifex automation file
2016-03-26 10:36:19 -05:00
Tres Finocchiaro
f7c80945f8 Merge pull request #2707 from devnexen/master
Adding OpenBSD's sndio support.
2016-03-26 10:50:22 -04:00
David Carlier
43a0718d0b Adding OpenBSD's sndio support.
Updating jackmsr's work, adding sndio cmake module.
Updating 64 bits OS arch detection (amd64).
2016-03-26 12:48:28 +00:00
Fastigium
d1739ce5fe Merge pull request #2675 from Fastigium/deletechannelfix
Fix crashes on deleting an FX channel. Fixes #2667
2016-03-26 09:26:58 +01:00
liushuyu
e16a7fa81e Add Transifex automation file 2016-03-26 14:23:22 +08:00
Karmo Rosental
a31b8c4ff3 Fixes #2537. GigaSampler can load both relative and absolute paths from project file. File dialog shows correctly directory of current file. 2016-03-26 00:07:50 +02:00
Tres Finocchiaro
770c07ff58 Merge pull request #2690 from devnexen/master
Make it workable on OpenBSD
2016-03-25 11:36:21 -04:00
David Carlier
f4890ec375 Make it workable on OpenBSD
- Additional LMMS_BUILD flag.
- Disallow on plugins -Wl,-no-undefined which triggers undefined references.
- Make sure X11 headers are found.

Lib ossaudio is needed only for OpenBSD

redundant expression removal

simplify condition for detection OS 'kind'

seems the last commit brought an issue on OSx travis test ....
2016-03-25 14:44:15 +00:00
Michael Gregorius
4e9de497ae Merge pull request #2680 from michaelgregorius/knob-line-stylesheets
Enables style sheets for knob line colors for all knob types
2016-03-24 12:00:36 +01:00
Oskar Wallgren
a58029de75 Mallets reworked. Various fixes. Modalbar - activate knobs, BandedWG - remove scaling for Uniform Bar( noisy ). 2016-03-22 18:41:20 +01:00
Tres Finocchiaro
97c7208674 Merge pull request #2686 from Umcaruje/bbtrackmute
Grey out muted patterns in the BB editor
2016-03-19 14:49:43 -04:00
Umcaruje
23cd3002a6 Grey out muted patterns in the BB editor 2016-03-19 00:29:59 +01:00
Tres Finocchiaro
9a44eaf3c7 Merge pull request #2683 from zonkmachine/crashslash
Crash at clearing path in settings manager
2016-03-18 10:33:31 -04:00
Oskar Wallgren
e8ac40c2fb Crash at clearing path in settings manager 2016-03-18 14:11:22 +01:00
grejppi
0021e31e81 Merge pull request #2684 from grejppi/dummyinstrument
Clear buffer of dummy instruments. Should fix #2682
2016-03-18 11:19:07 +02:00
Hannu Haahti
acb5ff8d04 Clear buffer of dummy instruments. Should fix #2682 2016-03-18 10:11:56 +02:00
Umcaruje
3e62aa022c Merge pull request #2674 from Umcaruje/elidefxtext
Elide channel names to prevent text overflow in FxLine
2016-03-17 22:47:31 +01:00
Fastigium
82055a9bdd Use deleteLater() on the FxLine when deleting a channel to prevent a crash
In Qt, it is not safe to delete a QObject inside a signal emitted by that
QObject. This happened with FxLine when removing an FX channel using the
context menu. This commit changes that by using deleteLater() instead of
delete on the FxLine. It also hides the FxLine to prevent a ghost of it
being drawn when deleting the last non-master FX channel.
2016-03-17 19:14:52 +01:00
Fastigium
32b7e0418b Fix two crashes when deleting FX channels
Lock the mixer before performing a channel delete to prevent any race
conditions causing a crash. Also, update the audioport FX channel when
an InstrumentTrack's FX channel is changed to prevent the audioport
mixing to a nonexistent channel.
2016-03-17 19:14:11 +01:00
Fastigium
e8a4b586d5 Merge pull request #2681 from Fastigium/copyconstructorcleanup
Get rid of another copy constructor call to prevent Qt5 crashes
2016-03-16 10:02:33 +01:00
Fastigium
908175d5f1 Get rid of another copy constructor call to prevent Qt5 crashes
Cf. the commit message of 3c7bfba
2016-03-16 09:27:57 +01:00
Oskar Wallgren
e98b6a2966 Merge pull request #2678 from zonkmachine/kickerversion
Kicker 'version' 0 on first save
2016-03-16 00:37:03 +01:00
Michael Gregorius
c6863060bf Enables style sheets for knob line colors for all knob types
The fix works as follows: until now the method Knob::drawKnob has used
hard coded palette colors to draw the knob lines for the different knob
types. These palette colors are now assigned to the line color property
in Knob::initUi. The method Knob::drawKnob in turn now uses the line
color property for almost all knob types. This means that all knobs
lines will be painted in the same color as before unless that property
is overridden by the stylesheet.

Also removes an unnecessary typedef from QWidget to trackSettingsWidget
in Track.h.
2016-03-15 19:47:33 +01:00
Michael Gregorius
5d3333b3b7 Merge pull request #2644 from michaelgregorius/knob-enum-cleanup
Removes an unused knob and enum (knob04.png aka knobGreen_17)
2016-03-15 19:19:55 +01:00
Oskar Wallgren
b34c382750 Kicker 'version' 0 on first save 2016-03-15 14:33:54 +01:00
Tres Finocchiaro
a7c508e259 Merge pull request #2677 from Fastigium/carlacompile
Add C++11 compile flag to the carla plugin as well
2016-03-15 09:25:02 -04:00
Fastigium
f3ea8350a6 Add C++11 compile flag to the carla plugin as well
Fixes the carla plugin not compiling anymore after switching to C++11
range-based for loops.
2016-03-15 10:47:08 +01:00
Fastigium
9e98a16a8a Merge pull request #2669 from Fastigium/foreach2for
Replace every use of the foreach macro with a C++11 range-based for loop
2016-03-14 14:15:57 +01:00
Umcaruje
1c5d57dce9 Elide channel names to prevent text overflow in FxLine 2016-03-13 22:50:30 +01:00
Fastigium
3c7bfbac64 Replace every use of the foreach macro with a C++11 range-based for loop
This prevents a race condition with Qt5. A foreach loop makes a copy of its
Qt container, increasing the reference count to the container's internal
data. Qt5 often asserts isDetached(), which requires the reference count to
be <= 1. This assertion fails when the foreach loop increases the reference
count at exactly the wrong moment. Using a range-based for loop prevents an
unnecessary copy from being made and ensures this race condition isn't
triggered.
2016-03-13 16:09:50 +01: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
bfa83da572 Make lb302 include math.h so we can switch it to C++11
M_PI is no longer defined by default in C++11, but lb302.cpp needs it.
Therefore, before switching to C++11, we add an include.
2016-03-13 16:08:47 +01:00
Oskar Wallgren
fadba1b93c Merge pull request #2665 from zonkmachine/filebrowser
File browser. Factory files off by one
2016-03-11 20:27:36 +01:00
Raine M. Ekman
ca0c278655 Organic: move the oscillator phase offsets in the oscPtr that's stored as
_n->m_pluginData, slightly prettier than separate float arrays.
2016-03-11 11:45:16 +02:00
Oskar Wallgren
311b28cf71 File browser, factory files off by one 2016-03-11 10:30:43 +01:00
Fastigium
08847cc7d3 Merge pull request #2661 from Umcaruje/bbupdate
Fix regression caused by fcec8dd
2016-03-10 17:26:21 +01:00
Umcaruje
6a10cb184d Fix regression caused by fcec8dd 2016-03-10 16:06:59 +01:00
Lukas W
1f32fdcf35 Merge pull request #2654 from StCyr/StCyr_issue2653
ProjectVersion tests never fail
2016-03-10 09:45:48 +13:00
Umcaruje
9932da5a66 Merge pull request #2655 from Umcaruje/bbupdate
Fix BBtrack updating; Fix the Pattern tooltip
2016-03-09 18:57:08 +01:00
Umcaruje
fcec8ddd02 Fix BBtrack updating; Fix the Pattern tooltip 2016-03-09 16:59:19 +01:00
Cyrille Bollu
3f6f266a46 Rewrote ProjectVersionTest.cpp to use QVERIFY and indeed fail when it's supposed to fail,
and added 2 tests in this test suite.
2016-03-09 11:58:15 +01:00
Tres Finocchiaro
a895e2b060 Merge pull request #2652 from AOSC-Dev/master
data/locale: zh_CN.ts not zh.ts
2016-03-09 02:18:12 -05:00
Mingcong Bai
9ab18f5ae8 data/locale: zh_CN.ts not zh.ts 2016-03-08 16:41:45 -07:00
Tres Finocchiaro
ef2cb53282 White-space formatting 2016-03-08 13:12:00 -05:00
Tres Finocchiaro
c3abe3a69d Add gig player to win32 builds
Gig player was missing a dll during the package process.  This fixes it.
2016-03-08 13:10:57 -05:00
Tres Finocchiaro
515ada6102 Merge pull request #2648 from liushuyu/master
Update Chinese translations
2016-03-08 10:38:57 -05:00
liushuyu
a8f65ab0af Update Chinese translations
Progress: 1635 of 2627 strings (62.24%)
2016-03-08 17:14:35 +08:00
Tres Finocchiaro
80b0d529b9 Merge pull request #2647 from tresf/master
Fix locale generation for win32 builds
2016-03-07 22:05:34 -05:00
tresf
5e4f2190a9 Fix locale generation for win32 builds
Closes #2577
2016-03-07 01:02:47 -05:00
Tres Finocchiaro
ba7816bda1 Merge pull request #2645 from tresf/master
Disable libsoundio for win32
2016-03-07 00:56:44 -05:00
Tres Finocchiaro
ac59d794fb Disable libsoundio for win32
Closes #2576
2016-03-06 23:25:24 -05:00
Michael Gregorius
cbf3b92b6f Removes an unused knob and enum (knob04.png aka knobGreen_17)
Removes the knob image knob04.png. This knob corresponded to
knobGreen_17 which was not used anywhere in the code. To be able to
remove the enum value it was necessary to change the knob loading code
in Knob::onKnobNumUpdated. However, the changed implementation is more
explicit and therefore likely better to understand.
2016-03-06 22:35:43 +01:00
Lukas W
8768769450 Fix channel indicator being on by default 2016-03-07 09:52:22 +13:00
Tres Finocchiaro
44f688e285 Merge pull request #2642 from michaelgregorius/2624-controller-crash
Fixes #2624 ("Controls window of LFO controller is not destroyed upon closing a project")
2016-03-06 13:56:09 -05:00
Michael Gregorius
1f39b607ba Fixes #2624 ("Controls window of LFO controller is not destroyed upon
closing a project")

When it is destroyed the ControllerView now deletes the controller sub
window in case it has one.
2016-03-06 19:04:51 +01:00
Michael Gregorius
2e2abdf0b7 Merge pull request #2579 from michaelgregorius/performance
Fixes several performance problems found with Valgrind
2016-03-06 18:48:40 +01:00
Michael Gregorius
f6317f126b Performance fixes
Removes some repeated calls to Qt's font layouting by using QStaticText
in FxLine and removing the overridden method ComboBox::sizeHint.

Unifies Mixer::peakValueLeft and Mixer::peakValueRight into
Mixer::getPeakValues so the array is only iterated once.
2016-03-06 18:23:35 +01:00
Tres Finocchiaro
8928ad751c Merge pull request #2641 from Fastigium/fxsends
Fix regression that caused faulty FX channel index numbers
2016-03-06 12:05:10 -05:00
Fastigium
9ff8091db3 Fix regression that caused faulty FX channel index numbers
Commit e919912 changed the behavior of the FX channel swapping code so that
it no longer updated the m_channelIndex member of the swapped channels. This
caused sends/receives of swapped FX channels to move about when a project
was saved and loaded again.
2016-03-06 15:57:25 +01:00
Fastigium
eefefdea6f Merge pull request #2626 from Fastigium/m_playHandlesToRemove
Synchronize access to Mixer::m_playHandlesToRemove
Fixes #2610
2016-03-06 15:30:08 +01:00
Umcaruje
d098a39c76 Fix dropdown menu icon margin 2016-03-04 22:10:55 +01:00
tresf
1058ea4b3f Hide splash screen before showing settings screen
Per #2611
2016-03-04 14:37:12 -05:00
Tres Finocchiaro
5f48d1c596 Fix menu bar colors for Qt5
Per #2611
2016-03-04 13:44:54 -05:00
Tres Finocchiaro
76bd1811ae Merge pull request #2632 from liushuyu/master
Change link method of Vestige module
2016-03-04 13:25:05 -05:00
liushuyu
3974faca50 Change link method of Vestige module
Try to fix #2628
2016-03-05 00:05:22 +08:00
IvanMaldonado
31c773cf15 Changed object position
Changed the "QToolButton" to its original position.
2016-03-03 17:42:40 -06:00
Umcaruje
020b4dd1b5 Merge pull request #2574 from Umcaruje/gradients
Refactor the drawing of TCO's; Get rid of hardcoded colors in TCOs; Even out the color scheme
2016-03-03 09:22:12 +01:00
Lukas W
988b788608 Try fixing linker errors on Win & Mac 2016-03-03 18:43:16 +13:00
Lukas W
85011cdcf7 Move CMake locale generation from src/ to data/locale/ 2016-03-03 17:37:41 +13:00
Lukas W
12e7262e98 Add missing Q_OBJECT macros 2016-03-03 17:36:38 +13:00
Umcaruje
f136ba3097 Refactor the drawing of TCO's; Get rid of hardcoded colors in TCOs; Make TCO gradient configurable; Even out the color scheme
Thanks to @Fastigium for helping with the BB Pattern redraw problem
2016-03-02 21:58:27 +01:00
Tres Finocchiaro
ec6734b968 Merge pull request #2629 from tresf/master
valgrind: init m_scrollArea in vestige instrument
2016-03-02 14:50:56 -05:00
Tres Finocchiaro
e13ac40544 valgrind: init m_scrollArea in vestige instrument
Closes #2041
2016-03-02 11:49:04 -05:00
Fastigium
60038b5f55 Synchronize access to Mixer::m_playHandlesToRemove
Put every access to m_playHandlesToRemove between lockPlayHandleRemoval() and
unlockPlayHandleRemoval(). Fixes #2610 where a SIGSEGV would occur due to
concurrent access.
2016-03-02 09:47:24 +01:00
Oskar Wallgren
346980329b Merge pull request #2568 from zonkmachine/autosavetimeconfigrebase
Auto save timer setting
2016-03-02 08:54:02 +01:00
Oskar Wallgren
cfb2c7201f Auto save timer setting 2016-03-02 07:25:19 +01:00
Tres Finocchiaro
adb25eccad Merge pull request #2623 from bjalfi/RemotePlugin_shm_fixup
Fixup Zynaddsubfx-GUI on FreeBSD
2016-03-01 09:34:54 -05:00
Bastian Kummer
4ddaa872fb Fixup Zynaddsubfx-GUI on FreeBSD
shmFifo destructor detaches shared-memory pointer before the included
semaphores are destroyed which results in a Segfault (at least on FreeBSD)
2016-03-01 13:54:20 +01:00
Umcaruje
1507e4b175 Merge pull request #2578 from ycollet/fix_2572
Change the link of carlabase to SHARED and explicitly link carlarack and carlapatchbay to carlabase.
2016-02-29 17:34:26 +01:00
Tres Finocchiaro
e56c31b96e Merge pull request #2609 from Wallacoloo/clang-fixes
Only use libc++ on when using clang *on apple*
2016-02-26 00:00:20 -05:00
Colin Wallace
59276a0307 Only use libc++ on APPLE; remove LMMS_BUILD_CLANG define, as it's no longer needed 2016-02-25 20:23:32 -08:00
Tres Finocchiaro
c976514125 Merge pull request #2608 from tresf/master
Add Win/Qt5 build directives for Travis
2016-02-25 16:56:26 -05:00
Tres Finocchiaro
67334a84c2 Add Win/Qt5 build directives for Travis 2016-02-25 01:39:20 -05:00
Tres Finocchiaro
4e30d95701 Merge pull request #2607 from tresf/master
Add Mac/Qt5 build directives for Travis
2016-02-24 18:03:18 -05:00
Hannu Haahti
1598343b86 Remove a completely useless warning 2016-02-25 00:38:25 +02:00
tresf
389a1da308 Add Mac/Qt5 build directives for Travis
Also explicitly defines bash as shell interpreter for all Travis related scripts
2016-02-24 17:04:18 -05:00
Fastigium
b55b1ab059 Merge pull request #2603 from Fastigium/arpeggio-sort-fix
Update two NotePlayHandle methods to ignore child NotePlayHandles
Fixes #2589
2016-02-24 19:40:54 +01:00
Fastigium
b645f43cfd Destroy the FxMixer before the Mixer when shutting down
Fixes #2584.
2016-02-24 16:37:53 +01:00
Umcaruje
b49e758a89 Merge pull request #2567 from Umcaruje/spacinghover
Change spacing on hovered items in the context menus
2016-02-23 19:20:15 +01:00
Oskar Wallgren
a4649c8e6e Merge pull request #2586 from Fastigium/buffer-fix
Drop PresetPreviewPlayHandle's shared buffer system
2016-02-23 16:52:44 +01:00
Fastigium
eec7f634a8 Update two NotePlayHandle methods to ignore child NotePlayHandles
The methods NotePlayHandle::index and NotePlayHandle::nphsOfInstrumentTrack
had not yet been brought up-to-date with the new system of attaching child
NotePlayHandles directly to the mixer. This caused strange glitches when
arpeggio was used in sort mode.
2016-02-23 10:36:35 +01:00
Lukas W
8d91dd657d Merge pull request #2602 from LMMS/iss-2577
Fix some Windows data directory resolve issues
2016-02-23 20:06:12 +13:00
tresf
d88902e95b Fix rawwaves directory on Windows
Per #2577
2016-02-23 01:08:52 -05:00
Lukas W
13125c6248 Change cross compile scripts' shebang to bash 2016-02-23 10:11:38 +13:00
Tres Finocchiaro
1e9dfcbf2b Remove 64-bit channel limitation in readme
Closes #2600
2016-02-22 13:54:39 -05:00
Tres Finocchiaro
59f09111f2 Merge pull request #2595 from tresf/master
Apple Travis-CI enhancments
2016-02-22 13:01:13 -05:00
Tres Finocchiaro
020cb528b6 Add additional build deps 2016-02-22 11:58:07 -05:00
Oskar Wallgren
e9ecd8384e Merge pull request #2598 from waxspin/master
Fix EQ labels back to resonance.
2016-02-21 15:03:31 +01:00
Ben Bryan
34ae074884 Fix EQ labels back to resonance. 2016-02-21 00:10:44 -06:00
Lukas W
40af068328 Build: Make mingw build scripts paths independent of wdir 2016-02-21 17:20:07 +13:00
Oskar Wallgren
2c91392a51 Merge pull request #2502 from BaraMGB/eqCurve
New GUI for the native EQ plugin
2016-02-20 23:21:26 +01:00
Tres Finocchiaro
97644f6513 Fix corrupt samples
Closes #2594
2016-02-20 12:02:44 -05:00
Steffen Baranowsky
d5259292c9 New GUI for the native EQ plugin 2016-02-20 15:25:40 +01:00
Umcaruje
0561d8d994 Merge pull request #2547 from Umcaruje/fxline
Make FxLine Stroke Themeable
2016-02-20 14:40:48 +01:00
Oskar Wallgren
95b0ea2dda Merge pull request #2555 from zonkmachine/recentfilebug
Show Main Window before loading/importing project
2016-02-19 20:54:21 +01:00
Tres Finocchiaro
3c5da9b278 Merge pull request #2592 from waxspin/master
Fix equalizer labels for #2583
2016-02-19 10:25:28 -05:00
Ben Bryan
bda6c7e2b8 Fix equalizer labels for #2583 2016-02-19 00:05:49 -06:00
Tres Finocchiaro
c4038fb0d4 Merge pull request #2591 from Wallacoloo/fix-2588
Fix #2588 by making Piano Roll's Alt+Right shortcut mirror the Alt+Left shortcut
2016-02-19 00:16:24 -05:00
Colin Wallace
cde1bcc350 Fix #2588 by making Alt+Right shortcut mirror the Alt+Left shortcut;
Alt+Right sets the PianoRoll to edit the *next* pattern in the song editor; Alt+Left = previous.
2016-02-18 20:16:08 -08:00
Lukas W
eec6c5b4f0 Clean up some path separator mess 2016-02-19 12:04:36 +13:00
Fastigium
76f6b18632 Drop PresetPreviewPlayHandle's shared buffer system
Instead, add the NotePlayHandle used for previewing directly to the mixer.
This fixes two preview problems, namely the shared buffer being released
by the NotePlayHandle but still being pulled in by the AudioPort resulting
in distortions, and certain previews being cut off at mouse release even if
a release was set in the envelope.
2016-02-18 20:27:44 +01:00
Yann Collette
d3d97b3275 Change the link of carlabase to SHARED and explicitly link carlarack and carlapatchbay to carlabase. 2016-02-17 21:53:23 +01:00
Tres Finocchiaro
1c0d329dfb Bump version for 1.2 RC1 2016-02-16 14:27:44 -05:00
Tres Finocchiaro
47606d7b31 Merge pull request #2497 from Fastigium/preview-fix
Fix crashes/hangs when previewing instrument presets
2016-02-16 14:24:49 -05:00
Fastigium
9d1867c7eb Make Mixer::removePlayHandle check m_newPlayHandles, too
This fixes a problem where a PresetPreviewPlayHandle would be put in
m_newPlayHandles to be added, then "removed" before it was actually added,
leaving it dangling.
2016-02-16 19:23:17 +01:00
Fastigium
ca7c90a99c Add mixer lock to EffectChain::clear to prevent a race condition 2016-02-16 19:23:17 +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
Fastigium
87dce6d2f4 Make PresetPreviewPlayHandle thread affinity matter 2016-02-16 13:17:20 +01:00
Umcaruje
8841b89b6d Merge pull request #2546 from Umcaruje/fixscrollbars
Fix inconsistent scrollbars
2016-02-15 01:38:07 +01:00
Umcaruje
cfd345ad20 Merge pull request #2554 from Umcaruje/themeablecolors
Get rid of hardcoded colors in the Piano Roll and Automation Editor
2016-02-15 01:35:41 +01:00
Umcaruje
ff1f516542 Change spacing on hovered items in the context menus 2016-02-14 11:40:07 +01:00
Oskar Wallgren
0721b49a1c Show Main Window before loading/importing project 2016-02-14 00:40:33 +01:00
Umcaruje
5c602a3f97 Merge pull request #2542 from Umcaruje/fix2329
Make the instrument section of the sidebar themeable
2016-02-13 00:21:09 +01:00
Lukas W
b7d5b2ddf5 Fix #2558 2016-02-13 09:24:10 +13:00
Colin Wallace
3c9cefc6c1 Merge pull request #2553 from Umcaruje/volumevelocity
Rename note volume into note velocity
2016-02-11 15:59:43 -08:00
Raine M. Ekman
1f2fe24d4e Merge branch 'issue1499' of https://github.com/softrabbit/lmms into issue1499 2016-02-11 13:27:31 +02:00
Oskar Wallgren
14046684a5 Merge pull request #2524 from zonkmachine/recentfilesonlyprojects
Some tweaks to the recent files list
2016-02-11 03:31:53 +01:00
Oskar Wallgren
3bbe0e3e15 Only lmms projects allowed in recent file list. Increase recent file memmory to 50 2016-02-11 03:12:12 +01:00
Lukas W
ca8f80d44f Fix loading relative file path samples
Closes #2412
2016-02-11 11:58:42 +13:00
Raine M. Ekman
1290e33207 Merge pull request #2552 from michaelgregorius/lb303-deletion
Removes the project lb303 which seems to have been inactive since 2008 (fixes #2551)
2016-02-09 14:42:42 +02:00
Umcaruje
2dd403e53b Rename note volume into note velocity 2016-02-08 19:55:44 +01:00
Umcaruje
d52d7d9fb7 Get rid of hardcoded colors in the Piano Roll and Automation Editor 2016-02-08 19:44:50 +01:00
Oskar Wallgren
69ce296c5d Merge pull request #2533 from zonkmachine/indentedmain
Fixed indentation
2016-02-08 07:01:52 +01:00
Colin Wallace
1c70319fc2 Merge pull request #2541 from Wallacoloo/piano-isXKey
Move isWhiteKey, isBlackKey into Piano.h
2016-02-07 15:58:58 -08:00
Michael Gregorius
1ff0650a0d Removes the project lb303 which seems to have been inactive since 2008
According to the blame the project lb303 has been commented out from
CMakeLists.txt on 22.07.2008. Therefore it does not seem to be actively
maintained and is very likely to not even compile anymore.
2016-02-07 21:43:47 +01:00
Oskar Wallgren
76e690a1a0 Fixed indentation 2016-02-07 17:00:25 +01:00
Umcaruje
e24384e732 Make FxLine Stroke Themeable 2016-02-07 01:39:00 +01:00
Umcaruje
59f8fbd94b Fix inconsistent scrollbars 2016-02-06 12:17:38 +01:00
Tres Finocchiaro
317cc74bac Merge pull request #2545 from thothonegan/master-fix-qt5-needs-proper-linguist-tools
If using Qt5, use Qt5LinguistTools to locate lupdate/lrelease
2016-02-05 22:47:41 -05:00
Kenneth Perry (thothonegan)
45154d2e99 Require linguist tools on Travis Ubuntu 2016-02-05 15:08:12 -06:00
Kenneth Perry (thothonegan)
6228d9ae26 If using Qt5, use Qt5LinguistTools to locate lupdate/lrelease 2016-02-05 14:52:28 -06:00
Umcaruje
903e581180 Merge pull request #2544 from midi-pascal/master-2435
Update Triple oscillator French translation
2016-02-05 18:01:55 +01:00
midi-pascal
badb6c1ca9 Update French translation after fix of issue #2435 2016-02-05 11:41:25 -05:00
Umcaruje
8b73381517 Make the instrument section of the sidebar themeable 2016-02-05 01:34:51 +01:00
Colin Wallace
f78b6a682a Merge pull request #2540 from Umcaruje/cssnotes
Make the note border radius themeable, fix rendering of notes and volume/pan sliders
2016-02-04 16:10:11 -08:00
Umcaruje
439ab30d51 Make the note border radius themeable, fix rendering of notes and volume/pan sliders 2016-02-04 23:51:47 +01:00
Colin Wallace
176e08047e Rewrite Piano::isBlackKey for clarity 2016-02-03 18:53:05 -08:00
Colin Wallace
aa0f7a08d6 Move isWhiteKey, isBlackKey into Piano.h to make use of these functions in a wider scope 2016-02-03 18:46:59 -08:00
Umcaruje
1228de750f Merge pull request #2530 from Umcaruje/fixbarbreak
Fix bar display breaking at 999
2016-02-03 13:37:28 +01:00
Colin Wallace
32cbef46bc Merge pull request #2538 from softrabbit/aboutdialog_selection
AboutDialog: make version line selectable
2016-02-02 23:46:08 +00:00
Tres Finocchiaro
87e46d2ed1 Merge pull request #2522 from Umcaruje/fix2503
Fix incorrect UI for Automation Track on Mac OS X
2016-02-02 11:29:11 -05:00
Umcaruje
8b7c295fc0 Fix incorrect UI for Automation Track on Mac OS X 2016-02-02 11:51:03 +01:00
Raine M. Ekman
d3ff3897a0 AboutDialog: make version line selectable 2016-02-02 09:15:47 +02:00
Tres Finocchiaro
e03eb1ce05 Merge pull request #2532 from Umcaruje/settingbutton
Fix bad button position in setup dialog, make the SetupDialog fixed size and EffectDialog resizeable
2016-02-01 22:34:01 -05:00
Tres Finocchiaro
7c42823d9a Merge pull request #2526 from Umcaruje/fixyears
Fix outdated copyright info, fix license not showing in the about dialog
2016-02-01 21:27:04 -05:00
Tres Finocchiaro
5e3b26e690 Merge pull request #2527 from Umcaruje/fix2435
Fix TripleOscillator modulation popups
2016-02-01 21:18:21 -05:00
Umcaruje
3ffa8ac8f5 Fix outdated copyright info, fix license not showing in the about dialog 2016-02-01 22:52:17 +01:00
Umcaruje
de5ee5d8a3 Fix TripleOscillator modulation popups 2016-02-01 22:48:05 +01:00
Umcaruje
216143a8f5 Fix bad button position in setup dialog, make the SetupDialog fixed size and EffectDialog resizeable 2016-02-01 21:21:46 +01:00
Umcaruje
72915b7ace Fix bar display breaking at 999 2016-01-29 15:26:34 +01:00
Umcaruje
f528e3d400 Merge pull request #2521 from StCyr/StCyr_issue_2519
Fixed 2 French translations that prevent the display of the "MIDI" and "MISC" tabs (issue 2519)
2016-01-28 22:21:50 +01:00
Oskar Wallgren
3c7c49f01e Merge pull request #2520 from zonkmachine/beatNoteColour
Fix colour of selected beat notes in Piano Roll
2016-01-28 18:05:59 +01:00
Cyrille Bollu
64efd68bfd Fixed a French translation that prevented the display of the "MIDI" and "MISC" tabs (issue 2519) 2016-01-27 17:03:46 +01:00
Oskar Wallgren
5b804821fb Fix colour of selected beat notes in Piano Roll 2016-01-27 08:39:33 +01:00
Umcaruje
77b98117e6 Merge pull request #2293 from LocoMatt/master-3oscart
Triple Oscillator GUI redesign
2016-01-27 00:16:20 +01:00
LocoMatt
cfa1818ba5 Triple Oscillator GUI redesign 2016-01-26 23:53:03 +01:00
Tres Finocchiaro
d30a7df965 Merge pull request #2176 from zonkmachine/recoverFileFix
Recover file work over
2016-01-19 08:37:22 -05:00
Oskar Wallgren
9e8020719c Recovery file fixes 2016-01-19 14:04:08 +01:00
Umcaruje
613b01c026 Merge pull request #2489 from zonkmachine/splited
Remove duplicate preset files
2016-01-13 21:29:55 +01:00
Tres Finocchiaro
51316f55e3 Merge pull request #2506 from follower/patch-1
Fix "associted"/"associated" typo
2016-01-13 14:14:33 -05:00
follower
18d81ac831 Fix "associted"/"associated" typo
This will presumably also affect the translation files. (But I'm making this change within the GitHub editor which provides no easy way to do a 17 file search and replace. :) )
2016-01-11 09:31:29 +13:00
Tres Finocchiaro
baaed6a301 Merge pull request #2118 from Wallacoloo/engine-rename-min
Temporary workaround for ZynAddSubFx name clashes
2015-12-30 02:40:55 -05:00
Colin Wallace
c519921306 Rename Engine to LmmsCore, but typedef'd as Engine to prevent name conflicts with ZASFx
Document the Engine renaming better & link to relevant issues/PRs
2015-12-29 23:29:35 -08:00
Tres Finocchiaro
a9c9fbfbc2 Remove RegExp for "Add Effect" dialog
Closes #2495
2015-12-28 21:09:51 -05:00
Umcaruje
3865ed99df Merge pull request #2492 from NeiroNext/translation
Update Ukrainian translation
2015-12-22 15:13:35 +01:00
NeiroNext
d31ac1773b Update Ukrainian translation 2015-12-22 12:19:13 +02:00
Oskar Wallgren
9c5d86a2c1 Remove ZynAddSubFX duplicate presets 2015-12-18 21:21:02 +01:00
Raine M. Ekman
f99dba54f9 Merge pull request #2465 from softrabbit/opulenz2015
OpulenZ: add sane display units for some tooltips, coding style fixes
2015-12-14 22:32:42 +02: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
c29f0dd4f9 Merge pull request #2464 from Umcaruje/mergedemos
Merge Demos and CoolSongs. Also fix the case on other project folders. Fixes #1274
2015-12-14 21:37:39 +02:00
Raine M. Ekman
3fbabfb3e7 Merge pull request #2456 from softrabbit/issue2318
Song: Don't remove controller just to be sure before adding it in Song::restoreControllerStates, Song::addController handles double adds. Fixes #2318.
2015-12-06 21:10:46 +02:00
Raine M. Ekman
7d38e0e9dc Merge pull request #2462 from jackokring/organifix
Organic: fix tool tips displaying "%1" instead of oscillator number.
2015-11-25 14:58:27 +02:00
Umcaruje
ff93b34dca Merge Demos and CoolSongs. Also fix the case on other project folders 2015-11-24 23:37:26 +01:00
Simon Jackson (Netbook)
4601defad0 Organic fix tool tip 2015-11-24 01:53:50 +00:00
Raine M. Ekman
06808ba5ab Organic: first stab at fixing #1499 through moving oscillator phase
offsets into each note, in _n->m_pluginData.
2015-11-23 10:08:43 +02:00
Raine M. Ekman
3a3af4ce6b Don't remove controller just to be sure before adding it in
Song::restoreControllerStates, Song::addController handles double adds.
Fixes #2318
2015-11-22 21:43:00 +02:00
Tres Finocchiaro
3e03e716ff Merge pull request #2442 from tresf/grid
Remove hard-coded grid from SongEditor
2015-11-13 21:46:59 -05:00
Tres Finocchiaro
aaa798c746 Remove hard-coded grid from SongEditor 2015-11-13 21:21:19 -05:00
Tres Finocchiaro
34821f9bea Merge pull request #2376 from M374LX/dummyaudio
Partially fix "Dummy" actually using ALSA
2015-11-11 20:36:36 -05:00
M374LX
ccb2f73dc0 Fix "Dummy" actually using ALSA 2015-11-11 22:55:18 -02:00
Lukas W
2284a8c353 Merge pull request #2433 from LMMS/ladspa-dirs
Fix ladspa plugin discovery
2015-11-04 09:14:04 +01:00
Lukas W
6d888fd61b Fix deadlock in InstrumentTrack::play
Closes #2378
2015-11-04 01:03:41 +01:00
Lukas W
8b65ae37b4 ConfigManager: Move plugin:ladspa init to LadspaManager 2015-11-03 20:43:01 +01:00
Lukas W
45cafd3f60 Fix ladspa plugin discovery 2015-10-30 22:53:28 +01:00
Lukas W
81a2fe5e69 Revert "Reinstates the build of the LADSPA plugins in the ladspa directory"
This reverts commit ff6cbf90a3.
2015-10-30 22:22:22 +01:00
Lukas W
a54e55b277 Revert "Fixes the build location of the LADSPA effect plugin"
This reverts commit 119ff99f27.
2015-10-30 22:22:05 +01:00
Lukas W
38bcc73f1c Revert "Find relative LADSPA plugins when running from build"
This reverts commit 37a2252236.
2015-10-30 22:20:59 +01:00
Tres Finocchiaro
48ea02bf24 Merge pull request #2205 from tresf/master
Windows MSYS build support
2015-10-30 17:17:26 -04:00
Tres Finocchiaro
e13c186c88 Merge pull request #2430 from tresf/ladspafix
Find relative LADSPA plugins when running from build
2015-10-30 17:16:18 -04:00
Tres Finocchiaro
727bf16cae Merge pull request #2432 from michaelgregorius/ladspa-builddir-fix
Reinstates the build of the LADSPA plugins in the ladspa directory
2015-10-30 17:16:03 -04:00
tresf
a7f8251f4b Initial changes for MSYS support 2015-10-30 17:05:26 -04:00
Michael Gregorius
ff6cbf90a3 Reinstates the build of the LADSPA plugins in the ladspa directory
Keeps the behavior of building libladspaeffect.so in the plugins
directory.
2015-10-30 22:04:32 +01:00
Tres Finocchiaro
3f6e406eb6 Fix double click to open BBEditor PianoRoll
Fixes #2431
2015-10-30 16:44:14 -04:00
Tres Finocchiaro
37a2252236 Find relative LADSPA plugins when running from build
Related #2426 #2270 #2428
2015-10-30 14:56:14 -04:00
Tres Finocchiaro
c98b6339cd Merge pull request #2386 from Wallacoloo/bb-editor-name
Revert partial 'B+B Editor' -> 'Pattern Editor' rename
2015-10-30 14:11:02 -04:00
Tres Finocchiaro
0ae35f3103 Merge pull request #2428 from michaelgregorius/2426-missing_ladspa_effect
Fixes the build location of the LADSPA effect plugin
2015-10-30 14:06:15 -04:00
Tres Finocchiaro
9bd4c4f522 Merge pull request #2408 from grejppi/master-remove-effect-check
EffectChain: check if effect exists before removing
2015-10-26 14:49:41 -04:00
Hannu Haahti
0b6280d632 EffectChain: check if effect exists before removing
Resolves #2407.
2015-10-26 20:45:30 +02:00
Michael Gregorius
119ff99f27 Fixes the build location of the LADSPA effect plugin
Removes the instruction to build the LADSPA effect plugin in the
"plugins/ladspa" directory instead of the "plugins" directory where all
other plugins are built. This change enables the usage of LADSPA plugins
in development builds where the binary is started from the build
directory.
2015-10-23 19:30:01 +02:00
Tres Finocchiaro
d17e78d5bb Merge pull request #2422 from midi-pascal/new_branch
Remove note from m_playingNotes before deleting m_pluginData
2015-10-22 17:45:31 -04:00
midi-pascal
2470df4f0e Remove note from m_playingNotes before deleting its m_pluginData in sf2Instrument::deleteNotePluginData()
Move m_playingNotesMutex.lock() and m_playingNotesMutex.unlock() outside of if( m_playingNotes.indexOf( _n ) >= 0 )

Conflicts:
	plugins/sf2_player/sf2_player.cpp

Remove note from m_playingNotes before deleting its m_pluginData in sf2Instrument::deleteNotePluginData()

Move m_playingNotesMutex.lock() and m_playingNotesMutex.unlock() outside of if( m_playingNotes.indexOf( _n ) >= 0 )
2015-10-22 16:44:38 -04:00
Tres Finocchiaro
2fac253ebd Merge pull request #2368 from tresf/2365-versions
Adds better versioning for non-stable builds
2015-10-19 11:40:21 -04:00
Tres Finocchiaro
8e633df1ee Adds better versioning for non-stable builds
Allows version forcing via `cmake -DFORCE_VERSION=1.1.1-foo`
2015-10-19 11:30:22 -04:00
Lukas W
d6a25f90a9 FileBrowser: Fix file paths
Fixes #2412
2015-10-17 13:06:34 +02:00
grejppi
7316ae966a Merge pull request #2410 from michaelgregorius/2409-LFO-leftovers
Removes existing controllers from the view when a new project is created
2015-10-12 21:16:01 +03:00
Michael Gregorius
3878fe580d Removes existing controllers from the view when a new project is created
Fixes #2409.
2015-10-12 19:49:55 +02:00
Colin Wallace
d4b2cb183c Merge pull request #2406 from michaelgregorius/2023-null-pointer-deallocation
Removes an unnecessary warning in MemoryManager::free
2015-10-11 00:31:55 +00:00
Michael Gregorius
cb6b3bd906 Removes an unnecessary warning in MemoryManager::free
Removes the warning "MemoryManager: Null pointer deallocation attempted"
from MemoryManager. The warning does not make sense because
deallocations of null pointers are ok in C++.

Fixes #2023.
2015-10-10 22:08:31 +02:00
Colin Wallace
3a8f491ddb Merge pull request #2394 from M374LX/decouple-mixer-visualization
Partially decouple VisualizationWidget from Mixer
2015-10-05 05:18:41 +00:00
Colin Wallace
fb46bfc753 Merge pull request #2383 from M374LX/audiobuffercontainer
Move Mixer::clearAudioBuffer() to BufferManager
2015-10-02 18:14:27 +00:00
M374LX
12e2da9b44 Remove unused Mixer::m_workingBuf 2015-09-30 23:00:06 -03:00
M374LX
5489040f20 Partially decouple Mixer from VisualizationWidget 2015-09-30 22:38:10 -03:00
Tres Finocchiaro
de7d83d158 Merge pull request #2392 from M374LX/fix-metalish-dong01
Fix corrupted audio file
2015-09-30 16:25:01 -04:00
M374LX
8195a955ae Fix corrupted audio file 2015-09-30 00:50:31 -03:00
Colin Wallace
fbd3d5bb0f Revert partial 'B+B Editor' -> 'Pattern Editor' rename 2015-09-28 14:31:53 -07:00
Alexandre Almeida
d66bd0a63c Fix comment typo 2015-09-27 18:45:52 -03:00
Colin Wallace
ab64c67da4 Merge pull request #2385 from M374LX/mixercleanup
Mixer cleanup
2015-09-27 21:22:27 +00:00
M374LX
efb1a4fdf3 Mixer cleanup 2015-09-27 17:11:52 -03:00
M374LX
e801384eed Move Mixer::clearAudioBuffer() to BufferManager 2015-09-27 00:36:17 -03:00
Michael Gregorius
596a41d143 Disables the context menu of the tool bars (fixes #2379) 2015-09-25 16:48:29 +02:00
Tres Finocchiaro
56a04072e2 Merge pull request #2377 from waxspin/master
Add functionality to allow octave-marking feature mentioned in #2193.
2015-09-25 09:09:16 -04:00
Ben Bryan
8fe3f17058 Add functionality to allow feature mentioned in #2193.
Fix declaration of return value.

Add mapping and new menu option for octave-marking of semitones.

Finish switch case for add/remove multiple octave semitones.

Fix segfault due to illogical access using iterators from one collection on another.

Make loop more succinct.

Move PianoRoll::getAllOctavesForKey method to private access.
2015-09-24 01:12:17 -05:00
Tres Finocchiaro
dabfc63cda Add Windows build flags for libsoundio. 2015-09-23 12:09:04 -04:00
Colin Wallace
1755962b39 Merge pull request #2361 from petterreinholdtsen/linux-desktop-file-clickable
Make sure desktop systems know how to pass files to lmms.
2015-09-20 20:58:44 +00:00
Colin Wallace
22673d445d Merge pull request #2363 from petterreinholdtsen/linux-man-page-flow
Fix manpage formatting of AUTHOR block.
2015-09-20 20:11:11 +00:00
Colin Wallace
e11a5cce32 Merge pull request #2362 from petterreinholdtsen/debian-gcc-5
Fix build problems with gcc 5.2 in Debian.
2015-09-20 08:28:24 +00:00
Petter Reinholdtsen
607d79bfcf Fix manpage formatting of AUTHOR block.
The AUTHOR block was formatted using fixed with font and no line
break by mistake.  Change this to normal text formatting.

The problem was discovered by Debian thanks to lintian, and is fixed
there in using a local change in debian/patches/man-page-adjustment.patch.
2015-09-20 09:42:12 +02:00
Petter Reinholdtsen
11a54e6f68 Fix build problems with gcc 5.2 in Debian.
The compiler complain about static inline functions being used from
inline functions.  This patch rewrite the inline to static inline
functions to avoid the compiler error.

This is related to https://bugs.debian.org/777989 and based on a patch
in the Debian packaging, see
http://anonscm.debian.org/cgit/debian-edu/pkg-team/lmms.git/tree/debian/patches .
2015-09-20 08:52:15 +02:00
Petter Reinholdtsen
878706d28c Make sure desktop systems know how to pass files to lmms.
For LMMS files to be clickable in a Linux desktop environment, there
need to be a program accepting such files as an argument.  This patch
change the lmms desktop file to affect files to open on the command line.
I did not know if lmms accepted URLs to remote files, so I went with the
safer %f for local files.

This patch originated in the Debian packaging, see for example
<URL: https://sources.debian.net/src/lmms/1.0.3-5/debian/patches/ >.
2015-09-20 08:41:02 +02:00
Tres Finocchiaro
1bb276b365 Make SDL default for all platforms
Closes #1600
2015-09-18 14:08:57 -04:00
Tres Finocchiaro
892756bda2 Merge pull request #2351 from waxspin/master
Inclusion of per-key note selection to piano roll editor.
2015-09-18 11:21:30 -04:00
Ben Bryan
c514f1789a Add per-key note selection to piano roll editor, as discussed in #529.
Add missing break.

Fix tabs.
2015-09-18 09:46:39 -05:00
Michael Gregorius
ab1cc3487d Merge pull request #2358 from michaelgregorius/2288-piano-automation-size
Fixes the storage of the windows state for invisible windows (#2288)
2015-09-17 18:02:57 +02:00
Michael Gregorius
7881e0315d Fixes the storage of the windows state for invisible windows
Until now windows/widgets that were invisible during the call to
MainWindow::saveWidgetState had their size stored as (0, 0). This
resulted in problems when the default template was created with
invisible windows because in new projects these windows then opened up
at a very small size.

This patch fixes the problem by introducing a new parameter of type
QSize to MainWindow::saveWidgetState. It can be used to communicate the
size that should be stored in case the widget that calls the method is
invisible. The code of most callers (PianoRollWindow, SongEditor, etc.)
has been updated to use good default sizes.
2015-09-17 17:48:37 +02:00
Umcaruje
09bc6f158a Temporary fix for #2355, comment out the libsoundio.dll until it gets added to the mingw PPA 2015-09-16 23:57:29 +02:00
Tres Finocchiaro
b763ee2b39 Merge pull request #2353 from Umcaruje/compactfix
Fix LED's in Compact Track buttons
2015-09-16 12:55:57 -04:00
Michael Gregorius
b5f5844edb Merge pull request #2285 from michaelgregorius/piano-roll-improvements
Merge PianoRoll improvements (note on keys, subtle highlight, note rendering)
2015-09-16 17:47:06 +02:00
Michael Gregorius
2ea72080a9 PianoRoll improvements (note on keys, subtle highlight, note rendering)
Draws note labels on all (white) keys when selecting to do so in the
preferences ("Enable note labels in piano roll"). The old rather messy
implementation that drew them all over the place has been removed.
When rendering note names on the keyboard keys the C notes are rendered
in a darker color than the other ones. Horizontal lines which do not
correspond to the C key are now also rendered in a more subtle way to
give more prominence to the start of an octave.

The user selected scale is now highlighted in a more subtle way.

The note borders are not toned down in relation to the volume anymore.
The handles on the right side of each note have been made slimmer and
shorter.
2015-09-16 17:34:32 +02:00
Tres Finocchiaro
3925fb8ff3 Merge pull request #2323 from softrabbit/w32_ssemath
Make the Win32 version use SSE math
2015-09-16 09:11:56 -04:00
Umcaruje
96c435b81f Fix LED's in Compact Track buttons 2015-09-15 23:57:41 +02:00
Oskar Wallgren
dff7e3e4bb Open last active project. 2015-09-15 15:04:48 -04:00
Ryan Schmidt
571e4fd31a Detect 32-bit/64-bit correctly based on CFLAGS
The user might invoke cmake with CFLAGS containing "-m32" or (on OS X) "-arch i386" while on a 64-bit machine to indicate that it should build for 32-bit instead.
2015-09-15 14:55:33 -04:00
Aya Morisawa
4da73f345c Improve Japanese translation 2015-09-15 14:29:49 -04:00
Aya Morisawa
20889111f2 Improve Japanese translation 2015-09-15 14:29:49 -04:00
Aya Morisawa
e83ff3e9c4 Improve Japanese translation 2015-09-15 14:29:49 -04:00
Michael Gregorius
07a7a5c5cb Merge pull request #2343 from michaelgregorius/2342-unbalanced-controls
Puts the controls of the InstrumentTrackWindow into a grid layout to solve #2342.
2015-09-14 21:22:05 +02:00
Michael Gregorius
8b7a48cd37 Puts the controls of the InstrumentTrackWindow into a grid layout
Puts the controls of the InstrumentTrackWindow into a grid layout to
give them a more balanced look. Without this patch the labels of the
widgets are not aligned which gives the instrument controls a rather
unbalanced look.

Added a "SAVE" label for the preset button to make the layout more
balanced.
2015-09-14 21:10:20 +02:00
Andrew Kelley
98346f7a9a AudioSdl: fix cleanup hanging 2015-09-13 20:48:53 -07:00
Andrew Kelley
799f830827 Merge pull request #2339 from LMMS/audio-soundio
add libsoundio audio backend
2015-09-13 20:38:12 -07:00
Andrew Kelley
e7af4b6f3e soundio backend: use lmms code style conventions 2015-09-13 18:12:43 -07:00
Andrew Kelley
f7e5bf4860 core: fix cleanup race condition in mixer 2015-09-13 16:54:16 -07:00
Andrew Kelley
f7ff96fe4f add libsoundio audio backend
This adds libsoundio (http://libsound.io/) as an available audio
backend. libsoundio supports JACK, PulseAudio, ALSA, CoreAudio,
WASAPI, and a dummy backend.
2015-09-13 16:07:10 -07:00
Colin Wallace
2fb0babfd8 Merge pull request #2310 from rcorre/master
Add CLI equivalent to GUI's "export tracks"
2015-09-13 22:36:03 +00:00
Ryan Roden-Corrent
fdb2787ff9 Support '.' in output directory path.
Do not call baseName on the path passed to -o when using the --rendertracks
option. This was mangling directories that contained a literal '.' if a '/' was
not explicitly specified at the end.

Still call baseName for --render as the argument to -o is a file and we need to
set the extension (ogg/wav).
2015-09-13 12:51:02 -04:00
Ryan Roden-Corrent
d8ce8301b8 Rename --render-tracks to --rendertracks.
Follow convention of avoiding '-' in command names.
2015-09-13 07:39:23 -04:00
Ryan Roden-Corrent
ea838c428d Don't use old naming convention in new methods.
Remove the _ prefix from the parameters to the newly added
ProjectRenderer::getFileExtensionFromFormat.

This naming convention is being phased out.
2015-09-13 07:39:23 -04:00
Ryan Roden-Corrent
6b8406241b Document --render-tracks in --help and the manpage. 2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
795d42987f Add --render-tracks CLI command.
This command allows rendering each track of a song to a different file.
It should provide the same functionality as the "Export Tracks" GUI option.

Usage could look like:
lmms --render-tracks project.mmpz -f ogg -o output/
2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
c462261433 Use RenderManager in ExportProjectDialog.
Remove the rendering logic from the gui code in ExportProjectDialog and let
RenderManger handle it instead.

This is part of an effort to allow the CLI and the GUI to share the same
rendering logic, setting the state for a --render-tracks CLI option similiar to
the "Export Tracks" GUI option.
2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
1a22635109 Initial implementation of RenderManager.
Much of the multi-track rendering logic was intermixed with GUI code in
ExportProjectDialog.

This creates the RenderManager class to provide rendering logic that could be
shared between the CLI and GUI interfaces.
2015-09-13 07:28:22 -04:00
Ryan Roden-Corrent
e863df7171 Add ProjectRenderer::getFileExtensionFromFormat.
Currently ProjectRenderer has a helper getFileFormatFromExtension, this adds a
similar helper getFileExtensionFromFormat.

This will, for example, return "ogg" for OggFile.
2015-09-13 07:28:22 -04:00
Colin Wallace
deeb95a749 Merge pull request #2297 from Wallacoloo/midirange+
Increase pitch range knob limit to 60. Fixes #2250
2015-09-12 17:02:14 +00:00
Umcaruje
9111eb82d5 Merge pull request #2344 from AyaMorisawa/patch-1
Improve Japanese translation
2015-09-12 15:08:52 +02:00
Aya Morisawa
f5485a9eff Improve Japanese translation 2015-09-12 20:47:29 +09:00
Tres Finocchiaro
55db0c8e30 Fix mailmap for Thomas Clark 2015-09-12 00:10:59 -04:00
Michael Gregorius
36a6fb3936 Merge pull request #2287 from michaelgregorius/2286-piano-roll-toolbars
Breaks down the piano roll's toolbar into multiple smaller ones (#2286)
2015-09-11 21:09:45 +02:00
Michael Gregorius
39692643cf Introduction of several toolbars for editors and CSS changes
The piano roll's actions have been grouped into several toolbars. There
are now five groups / tool bars: "Transport controls", "Note controls",
"Copy paste controls", "Timeline controls" and "Zoom and note controls"
(this group is a bit mixed). Each group can be turned off and on using
the standard toolbar context menu provided by Qt.

The new default layout of the toolbars saves horizontal space by putting
the "Zoom and note controls" below the other toolbars. The toolbars can
be hidden and shown via the context menu but these states are not
stored.

The "Song editor", "Beat+Bassline editor" and "Automation editor" have
been switched to using movable toolbars as well.

Adjusted the Editor class to have some other defaults for the "Transport
controls".

Added some methods to add toolbars to editors and changed the other
editors' code to use it. This way the properties of a standard editor
toolbar can be changed in a simple and central way.

Fixed the size of the timeline control buttons which are implemented as
NStateButton. Previously these had a fixed size and appeared smaller than
all other buttons. Now they behave like other ToolButton with respect to
the size. Also removed a fixed size call in ToolButton itself.

Made some adjustments to the CSS for QToolBar and QToolButton:
* Switched the QToolBar CSS to a vertical gradient and also increased
the padding to 2px on the way.
* Previously all buttons looked like they were pressed. This was fixed by
using the same linear gradient that is used for the QToolBar.
* The hover effect for QToolButtons is a bit more subtle now and looks
less intensive as when the button is pressed / checked.
* Gave the normal buttons a bit more radius.
* Adjusted the radii of the special play and stop buttons to be
symmetric so the do not look skewed.
2015-09-11 20:52:34 +02:00
Dave French
4639e37c31 Merge pull request #2324 from Wallacoloo/pianoroll-refactor
Refactor PianoRoll code
2015-09-11 08:35:11 +01:00
Colin Wallace
db18fa61fe have getSelectedNotes() return the selected notes, rather than appending them to a write-back parameter 2015-09-10 21:29:36 -07:00
Colin Wallace
ff94f8b4ce Rename copy_to_clipboard -> copyToClipboard 2015-09-10 21:29:36 -07:00
Colin Wallace
ca7028933a Remove extraneous conditional 2015-09-10 21:29:36 -07:00
Colin Wallace
a17d915ccf Prefer C++11 range-based for loops over explicit iterators or Qt's foreach;
note: Qt's foreach actually duplicates the container before iterating, as well (not hugely problematic for performance since Qt containers are copy-on-write, but is still semantically misleading)
2015-09-10 21:29:36 -07:00
Colin Wallace
2e111129bd Remove unnecessary 'inline' attributes;
'inline' is only needed when a function is defined in the header, as a way to avoid multiple definitions error when linking. It is otherwise useless
2015-09-10 21:29:28 -07:00
Colin Wallace
89e7d1e758 Merge pull request #2334 from michaelgregorius/2333-inconsistent-tension-knob
Fixes an inconsistent behavior of the tension knob (#2333)
2015-09-10 02:07:58 +00:00
Dave French
d6dbc03ac9 Merge pull request #2321 from Wallacoloo/reserved-names
Remove double-underscore variable prefixes & prefer static member variables over globals
2015-09-09 22:48:55 +01:00
Michael Gregorius
46bac80470 Fixes an inconsistent behavior of the tension knob (#2333)
Until now the tension knob was only disabled for discrete and linear
mode if the cubic hermite mode was selected at least once. This behavior
is fixed with this commit.
2015-09-09 20:03:57 +02:00
Colin Wallace
3f31b5ce25 Merge pull request #2331 from Wallacoloo/FileBrowserRefactor
Refactor FileBrowser's filterItems function
2015-09-08 23:44:52 +00:00
Colin Wallace
da54b9cdb0 Fix tabbing 2015-09-07 17:08:09 -07:00
Colin Wallace
763ca09fb1 Further simplify by removing 'cm' variable 2015-09-07 17:01:55 -07:00
Colin Wallace
0260820dac Remove special showAll case; 'xyz'.contains('') always returns true 2015-09-07 16:46:41 -07:00
Colin Wallace
aad8fcb410 Remove unused class declaration, make pluginBefore a static function 2015-09-07 16:39:07 -07:00
Colin Wallace
aa77443eb1 merge the two filterItems functions into one;
also fix some formatting + use 'Pattern Editor' instead of 'B&B Editor' in context menu
2015-09-07 16:36:25 -07:00
Colin Wallace
0d8a0330c2 Merge pull request #2328 from michaelgregorius/2327-tension-crash
Fixes for the tension dial (crash + missing update)
2015-09-07 22:21:30 +00:00
Michael Gregorius
6b9ff4e9d3 Fixes for the tension dial (crash + missing update)
Fixes a crash that occurred when the tension dial of the automation
editor was moved when no pattern was loaded.

Also added a missing update of the tension dial when the automation
patterns are switched.
2015-09-07 20:40:16 +02:00
Colin Wallace
86d0f94882 Merge pull request #2320 from Wallacoloo/flanger-units
Fix units in Flanger plugin
2015-09-07 01:06:36 +00:00
Colin Wallace
6a9e105c90 Const-correctness fixes 2015-09-06 15:04:46 -07:00
Colin Wallace
68da3ad64f Remove duplicated code in note move/resize cursor calculation;
also breaks apart a lengthy conditional into calculationss that are easier to understand.
2015-09-06 14:40:36 -07:00
Colin Wallace
8504633103 Remove duplicated scrolling code from keyPressEvent() 2015-09-06 13:54:53 -07:00
Colin Wallace
a32368cc3a Display pan/volume on wheel event if all edited notes have same pan/volume;
previous behavior was to display the value only if one note was being edited
2015-09-06 13:27:32 -07:00
Colin Wallace
f568f7b4a4 Formatting/tabbing fixes 2015-09-06 13:14:38 -07:00
Colin Wallace
a8fa9b75a1 Simplify conditional by initializing vol/pan to defaults 2015-09-06 13:12:08 -07:00
Colin Wallace
ebc606aaf2 Move vol/pan s_textFloat handling code into separate functions;
this avoids some code duplication & makes the mouseevent/wheelevent functions slightly smaller
2015-09-06 13:09:23 -07:00
Colin Wallace
8a4e59defb Merge pull request #2289 from Wallacoloo/midi-guicore
Consolidate midi config widgets & move them out of the core
2015-09-06 18:11:58 +00:00
Raine M. Ekman
3de65556f2 Make the Win32 version use SSE math, with the performance benefits it brings.
Denormal protection alone should be worth it.
2015-09-06 12:28:26 +03:00
Colin Wallace
db820e5255 Remove double-underscore prefix from __fileEncodeDevices & make it a static member variable;
this helps to reduce pollution of the global namespace
2015-09-05 22:28:18 -07:00
Colin Wallace
1944499fa3 remove double-undercscore prefix from portName function 2015-09-05 22:00:14 -07:00
Colin Wallace
b53e7a7fbe Rename __targetNames to targetNames, and make it a static member variable 2015-09-05 21:54:06 -07:00
Colin Wallace
39133ab0ea Move update_1_2_0() functionality into upgrade_1_1_90();
Next release candidate will be named 1.1.90
2015-09-05 21:38:36 -07:00
Colin Wallace
602983f664 Change unit label for Flanger LFO knob to 'Hz'; delay knob units are 's' 2015-09-05 16:30:33 -07:00
Colin Wallace
f6b696fa0f Don't use underscore parameter names in value, setValue functions 2015-09-05 11:38:30 -07:00
Colin Wallace
0f2da6f68b Provide upgrade path to copy the MidiAlsaRaw 'Device' property to new 'device' 2015-09-05 11:38:29 -07:00
Colin Wallace
697aebc056 Consolidate midi config widgets & move them out of the core 2015-09-05 11:38:29 -07:00
Colin Wallace
e606e30486 Merge pull request #2299 from Umcaruje/emptytemplate
Add an Empty template
2015-09-05 18:31:40 +00:00
Colin Wallace
cbf6d24e8f Fix const-correctness in FxMixer::channelSendModel 2015-09-02 21:17:35 -07:00
Colin Wallace
45c4aa6a68 Merge pull request #2278 from michaelgregorius/metronome-improvements
Improved metronome (on/off during song, pattern and bb playback)
2015-08-29 17:15:14 +00:00
Michael Gregorius
5b2e77b444 Improved metronome (on/off during song, pattern and bb playback)
There is a new tool button that can be used to turn the metronome on and
off. Per default the metronome is turned off. When enabled the metronome
will during on song playback, pattern playback and BB playback. During
export it is ignored.

A new icon was added as well.

The state is currently stored in the Mixer. It might make sense to put
the metronome configuration in its own class in the future. The state is
currently not stored in the file but this might be a good choice for now
until a better place is found for the metronome data.

Also removed some repeated calls to Engine::getSong() and
Engine::fxMixer().
2015-08-29 15:04:41 +02:00
Umcaruje
da2b01b5a3 Add an Empty template 2015-08-29 01:05:45 +02:00
Colin Wallace
548a9196b4 Increase pitch range knob limit to 60. Fixes #2250 2015-08-27 21:39:31 -07:00
Colin Wallace
8fd5fe90d2 Merge pull request #2273 from michaelgregorius/2272-template-fixes
Fixes #2272 and other problems with the templates
2015-08-26 17:16:38 +00:00
Michael Gregorius
abbd7c48cf Switch local variable to camel case 2015-08-26 18:59:31 +02:00
Colin Wallace
c99c6eeea9 Merge pull request #2135 from michaelgregorius/alsa-combobox
Partial fix for #1600: ALSA device can be selected using a combo box
2015-08-26 03:21:48 +00:00
Tres Finocchiaro
de40aa81ce Minor CLI fixes
Closes #2258
2015-08-24 16:25:40 -04:00
Colin Wallace
9fd8c07820 Show '<not supported on this plaform>' message during cmake config if AppleMidi is not supported 2015-08-23 20:15:29 -07:00
Colin Wallace
35486293e3 Merge pull request #2222 from michaelgregorius/2209-font-sizes-too-small
2209 font sizes too small
2015-08-23 01:35:45 +00:00
Colin Wallace
123de3aade Add missing include necessary for Qt5 compilation 2015-08-22 00:36:39 -07:00
Tres Finocchiaro
c68f31aeda Add horizontal scroll support to SongEditor
Closes #2275
2015-08-21 21:23:03 -04:00
Tres Finocchiaro
cfbd53fb50 Detect fluid executable even when CMake can't
Closes #2260
2015-08-21 20:39:00 -04:00
Michael Gregorius
4571d14029 Prevent resizing of the "Controls" button
The "Controls" button will now keep its minimal size when the
ControllerView is resized.
2015-08-18 18:23:40 +02:00
Tres Finocchiaro
618828a9b6 Merge pull request #2266 from michaelgregorius/2262-render-check-file
Fixes #2262
2015-08-17 16:47:13 -04:00
Michael Gregorius
4883c579a5 Check the existence of an input file that is to be rendered (#2262)
Added a check for the existence of the file that should be rendered from
the command line. LMMS now exits with an error message in case the file
does not exist.
2015-08-17 22:25:19 +02:00
Tres Finocchiaro
21ff5333dc Merge pull request #2251 from M374LX/iss2204
Fix SF2 pitch and gain problems
2015-08-17 15:30:59 -04:00
Tres Finocchiaro
4c04fb06ba Merge pull request #2271 from tresf/homebrew
Initial Homebrew on OSX Lion patch
2015-08-17 13:02:33 -04:00
tresf
2035ff3e3c Initial Homebrew on OSX Lion patch 2015-08-17 12:39:41 -04:00
Michael Gregorius
bc1a416cd1 Added an option to save a project as the default template
A new option to save a project as the default template is now available
in the file menu. If the default template already exists the user is
asked whether he wants to overwrite it.
2015-08-16 16:18:38 +02:00
Michael Gregorius
8c93b6bfee Fixes #2272 and other problems with the templates
Removes the non-intuitive saving of the default template in
MainWindow::createNewProject.

Other fixed problems:
* User entries were not shown in the menu of the tool button that
creates new projects from templates. Now they are shown as well.

Other changes:
* Adds a new option "New from template" in the file menu. It shows the
same menu as the tool button.
2015-08-16 15:46:10 +02:00
Michael Gregorius
ef449f5bae Remove the horizontal scrollbar from controller rack view
Removes the potential horizontal scrollbar from the controller rack
view.

Also sets the MDI window of the controller rack to a bigger size in the
constructor and moves it towards the other windows. This code is active
in the case where there is no default template from which the window
states are loaded.
2015-08-16 09:39:00 +02:00
Colin Wallace
5449706527 Merge pull request #2261 from M374LX/improve-main
main(): improve error handling and clean up code
2015-08-15 10:51:08 -07:00
Tres Finocchiaro
5375bda6ac Fix incorrect calculation of IntBits
Fix over-shifting of int by explicitly making type ULL.
Taken from upstream:
aaca6447de
2015-08-15 13:23:32 -04:00
Tres Finocchiaro
6df512dc76 Merge pull request #2267 from M374LX/bbeditor-default-template
Enable it to hide BB Editor in default template
2015-08-15 12:34:20 -04:00
M374LX
6966559600 Make it able to hide BB Editor in default template 2015-08-14 21:50:57 -03:00
Tres Finocchiaro
30d906542c Merge pull request #2265 from NeiroNext/translation
Add Ukrainian translation
2015-08-14 11:26:57 -04:00
NeiroNext
6aa8269542 Add Ukrainian translation 2015-08-14 17:06:11 +03:00
M374LX
8bb7b71aab Improve error handling 2015-08-13 22:50:46 -03:00
M374LX
c7b867c2a0 Fix errors and capitalization in the output of "--help" 2015-08-13 22:21:34 -03:00
M374LX
dc1a12ab33 Improve error handling 2015-08-13 22:16:07 -03:00
M374LX
b8f2e6c715 Further adjust coding conventions 2015-08-13 21:22:50 -03:00
M374LX
45c506c79d Start refactoring main() 2015-08-13 21:19:34 -03:00
Tres Finocchiaro
28018ad206 Merge pull request #2207 from tresf/2206-ladspa-fix
Fix init of LADSPA plugins on some platforms
2015-08-13 14:29:05 -04:00
Tres Finocchiaro
f7a61aea0c Merge pull request #2210 from tresf/2201-root-refactor
Cleanup root directory
2015-08-13 14:15:05 -04:00
Tres Finocchiaro
3114ccea26 Cleanup root directory
Cleans up the root directory of the GitHub source tree and starts to separate platform-specific installing and packaging logic from the master CMakeLists.txt.  Closes #2201
2015-08-13 11:37:47 -04:00
Alexandre Almeida
6cb451abbe Fix SF2 gain problems when exporting
Fix the SF2 gain problems that persisted in issue #2204
2015-08-12 21:30:05 -03:00
Tres Finocchiaro
9819900aca Merge pull request #2131 from michaelgregorius/cmd-loop-render
Fixes issue #2129 ("can't export as loop with CLI")
2015-08-12 11:39:43 -04:00
Michael Gregorius
02f9447467 Fixes issue 2129 ("can't export as loop with CLI")
Adds a new command line option to render a song as a loop ("-l", "--
loop-mode").

Also cleaned up the code which parses the command line options by
pulling out methods that print the version and the help.

Updated man page: Added the new option to command line render a loop. Updated
the data of the man page and the URLs.

Added information about option to bypass root user check on startup

Calculate the copyright year dynamically

The command line options for help and version info both print the
copyright as "2004-2014". Until now the value for the second year had to
be adjusted manually. With this patch they are computed dynamically so
that the current year will always be used.
2015-08-12 17:28:31 +02:00
M374LX
3f326b81fc Fix #2204 2015-08-11 23:47:34 -03:00
Colin Wallace
ed6ee790ae Merge pull request #2238 from Wallacoloo/prompt-workingdir2
Fix 'create working dir' prompt & move it from ConfigManager to GuiApplication
2015-08-10 19:19:01 -07:00
Colin Wallace
65467eb66c Merge pull request #2237 from M374LX/iss1878
Fix #1878
2015-08-09 09:08:25 -07:00
Colin Wallace
ba7908f79c Merge pull request #2228 from rageboge/midi_apple
#1153 (Apple) MIDI Support
2015-08-09 08:39:53 -07:00
Alexandre Almeida
6944b520ea Add a MINIMUM_BUFFER_SIZE constant 2015-08-09 11:50:24 -03:00
Alexandre Almeida
2f24d635c3 Add a MINIMUM_BUFFER_SIZE constant and comments 2015-08-09 11:50:12 -03:00
Maurizio Lo Bosco
275bcb52df #1153: added basic apple midi support 2015-08-09 09:59:12 +02:00
Colin Wallace
4d3250bb42 Fix 'create working dir' prompt & move it from ConfigManager to GuiApplication;
also sets the default choice to 'yes' (do create directories) instead of 'no'
2015-08-05 20:14:02 -07:00
Alexandre Almeida
c73edc5d94 Adjust coding conventions 2015-08-05 20:50:10 -03:00
M374LX
18b6f20c29 Fix #1878 2015-08-05 20:42:10 -03:00
Colin Wallace
ef411b2d81 Merge pull request #2226 from ThomasJClark/master
Don't use native file saving/loading dialogs
2015-08-05 07:33:00 -07:00
Colin Wallace
5aebd3b877 Merge pull request #2215 from Wallacoloo/include-check-rm
Remove unused include file checks
2015-08-04 21:29:02 -07:00
Tom Clark
e5b5ebbda4 Don't use native file saving/loading dialogs
LMMS tries to modify the save dialog, This causes a segfault if native
file dialogs are used instead of the Qt ones.  At least on Linux, Qt 5
seems to make file dialogs native by default, so LMMS is unable to save
projects when compiled with -DWANT_QT5=true.
2015-07-30 22:10:47 -04:00
Michael Gregorius
fa5c0c1569 Fixes the rendering of the tact numbers in the timeline
Fixed the rendering of the tact numbers in the timeline widget. Before
this fix they were not readable because they were too big. Interestingly
in this case the fix is to use a font size in pixels (half the height of
the widget). The numbers are now also rendered a bit darker than the
lines.

Also removed the pixmap for the timeline from the code and from the
filesystem. It was only used to determine the fixed height of the widget
but not rendered. Therefore it was removed and the height is now
directly set to 18 pixels which was the height of the pixmap.
2015-07-30 22:32:38 +02:00
Michael Gregorius
76e4859ef0 Get rid of hardcoded pixel sizes in the plugin browser and side bar
The PluginDescWidget doesn't use calls to pointSize anymore. Also the
name of the plugin is only painted bold when hovered over with the
mouse. The animation speed was increased a bit as well. Hope it is not
too fast for displays with smaller resolutions. The problem with the
current implementation is that it increases the height by incremental
steps of 1 pixel (triggered by a QTimer) which gives a slower speed on
high DPI displays. In the future this implementation might be improved,
e.g. by using the animation classes provided by Qt.

The SideBarWidget also does not use calls to pointSize anymore. Instead
the standard font is increased by 2 (typographical) points and then
rendered at the right place using information from QFontMetrics. In the
long run the header of the SideBarWidget should be organized using a
layout, e.g. a layout with one QLabel to render the icon and one QLabel
to render the header text. This would ensure that the black background
would always be large enough and that the fonts do not protude into the
actual content.
2015-07-30 21:08:35 +02:00
Michael Gregorius
cd0176b5af Controllers are rendered more dynamically
ControllerRackView now uses a layout to organize the ControllerViews.
The ControllerViews in turn use layouts to organize their widgets
(labels and push button). ControllerView now inherits from QFrame
instead of QWidget. The (static) background image for controllers was
deleted because the ControllerView can now be resized dynamically.

Song: Added specific signals for added and removed controllers. Also
removed a TODO by putting the functionality to remove all controllers in
a method (removeAllControllers).

Deleted Controllers now don't unregister from Song during deletion. This
has to be done by the client (Hollywood principle - "Don't call us, we
call you.").

TODO: For some strange reason I cannot programmatically resize the
controller rack to make it fit the controllers on my screen.
2015-07-29 22:35:06 +02:00
Tres Finocchiaro
2294614180 Merge pull request #2203 from Wallacoloo/lmms_spec_in_changelog
Remove "Changelog" section of lmms.spec.in
2015-07-29 16:33:13 -04:00
Michael Gregorius
27c5295388 Get rid of too small fonts in all file browsers
Removes one of the several calls to pointSizeF. This method seems to
return a font which has the same height in pixels on all displays
(regardless of the display's actual DPI value). In the long run these
calls will all have to be removed to make LMMS usable on high DPI
displays.
2015-07-29 14:34:20 +02:00
Colin Wallace
95d404ddef Merge pull request #2216 from Wallacoloo/extension-calc
Calculate rendering extension on a separate line
2015-07-28 12:28:53 -07:00
Lukas W
5592d07c80 Find data directory when in development
This allows to just run "./lmms" during development, without installing
or specifying a data path.

Related: #1719 #1958
2015-07-28 12:48:10 +02:00
Colin Wallace
e9879797e3 Calculate rendering extension on a separate line 2015-07-27 05:44:59 +00:00
Colin Wallace
6948ff086a Remove unused include file checks 2015-07-26 23:05:39 +00:00
Colin Wallace
f1340249ac Fix version & set changelog to point to online release notes 2015-07-25 19:16:53 +00:00
Colin Wallace
403c36577d Merge pull request #2199 from Wallacoloo/FlpImport1
Fix tab formatting in FlpImport.cpp
2015-07-24 22:20:17 -07:00
Dave
feee39b827 Merge pull request #2198 from curlymorphic/1932
Revert Correct Priority of fade button
2015-07-23 11:48:23 +01:00
Colin Wallace
ca3829317e Fix tab formatting 2015-07-21 03:21:23 +00:00
Colin Wallace
bb55346a29 Merge pull request #2197 from curlymorphic/bbMouseOver
Edit BBEditor Mouse tool tip
2015-07-19 16:56:58 -07:00
Dave French
ac7aa69ad1 Revert Correct Priorty of fade button
reverted changes made in  #1527
copied from Github diff

Fixes #1932
2015-07-20 00:36:01 +01:00
Dave French
362e0e1962 Edit BBEditor Mouse tool tip
Edit the tool tip to remove The Double click top open in piano roll
as per #1776 #1783
2015-07-20 00:00:32 +01:00
Colin Wallace
620b3d9ef1 Merge pull request #2189 from Wallacoloo/upgrade_refactor
Separate DataFile::Upgrade into smaller functions
2015-07-19 14:36:04 -07:00
Colin Wallace
6267e8d0d5 Merge pull request #2188 from Wallacoloo/rm-deprecated-b64
Remove deprecated base64::encode(QVariant) version
2015-07-19 14:34:03 -07:00
Colin Wallace
5db57282da Merge pull request #2187 from Wallacoloo/git-2186
Fixes #2186; double-clicking the Fx Channel selector will show Mixer window if hidden
2015-07-19 14:32:31 -07:00
Colin Wallace
e71f5bbfce Merge pull request #2195 from zonkmachine/missingparenthesis
Fix typo
2015-07-19 11:10:07 -07:00
Oskar Wallgren
f832217393 Stop lupdate from complaining 2015-07-19 18:10:57 +02:00
Dave
24649d4131 Merge pull request #2190 from curlymorphic/2159
Correctly use the ladspa plugin folder
2015-07-19 15:06:24 +01:00
Dave French
367fbe8733 The ConfigManager was Incorrectly loading Ladspa plugin folder.
The default Ladspa plugin folder was incorrect under linux

This pull request fixes this.

Setting Dialog, Ladspa Directory Added leading /

Added a leading / to the lmms/ladspa plugin
Clean the path using QDir::cleanPath()
2015-07-18 07:46:43 +01:00
Colin Wallace
2175a47849 Separate DataFile::Upgrade into smaller functions 2015-07-15 04:11:01 +00:00
Colin Wallace
9840050ae7 Remove deprecated base64::encode(QVariant) version 2015-07-15 03:39:58 +00:00
Colin Wallace
be02fb8576 Fixes #2186; double-clicking the Fx Channel selector will show Mixer window if hidden 2015-07-15 03:04:01 +00:00
Tres Finocchiaro
b1ecbc8036 Fix init of LADSPA plugins on Slackware
Fixes #2206
2015-07-14 20:55:23 -04:00
Colin Wallace
acf6393e70 Merge pull request #2182 from zonkmachine/hideRecoverInRecent
Hide recover.mmp in Recent files
2015-07-13 19:38:14 -07:00
Colin Wallace
1002fd60f0 Merge pull request #2139 from Wallacoloo/git-2138
Export percentage calculation now takes into account loop markers when necessary
2015-07-13 19:12:56 -07:00
Colin Wallace
7786fb1902 Merge pull request #2181 from michaelgregorius/2172-mouse-over-quickfix
Quick fix for #2172 ("mouse-over readout in fx-mixer")
2015-07-13 19:12:21 -07:00
Colin Wallace
d4e578080b Merge pull request #2150 from Wallacoloo/SampleBufferCleanup
Fix deadlock in SampleBuffer
2015-07-13 19:02:23 -07:00
Colin Wallace
ffba37c7f2 Export percentage calc now takes considers loop markers as necessary 2015-07-14 01:53:47 +00:00
Dave
f4120eedd2 Merge pull request #2184 from Wallacoloo/git-2183
Remove old debugging statement
2015-07-13 00:17:30 +01:00
Colin Wallace
03a94a1d5c Remove old debugging statements - fixes #2183 2015-07-12 22:58:25 +00:00
Oskar Wallgren
9f78fa594a Hide recover.mmp in Recent files 2015-07-12 18:36:13 +02:00
Michael Gregorius
6634313014 Quick fix for #2172
The tool tip for the FxLine now shows the name of the channel.
2015-07-12 17:14:03 +02:00
Colin Wallace
3ff55d755c Merge pull request #2151 from Wallacoloo/lockingfixes
Fix race condition in TrackContainer::removeTrack
2015-07-11 19:37:18 -07:00
Colin Wallace
d636d67144 Merge pull request #2178 from Umcaruje/flip-icons
Add automation flip icons
2015-07-11 19:22:23 -07:00
Dave
d9dac72c7f Merge pull request #2158 from Wallacoloo/EqFilterInit
Initialize all fields of EqFilter upon construction
2015-07-11 22:50:35 +01:00
Umcaruje
6da3e14431 Add automation flip icons 2015-07-10 15:41:18 +02:00
Raine M. Ekman
87c15588a1 Merge pull request #2089 from softrabbit/faster_vocoder
Vocoder plugin: refactor for speed
2015-07-08 17:05:51 +03:00
Colin Wallace
468ccb49c1 Merge pull request #2166 from michaelgregorius/2164-volume-slider-broken
Fixes #2164
2015-07-06 13:38:43 -07:00
Colin Wallace
812444a5ac Merge pull request #2165 from zonkmachine/openRecentFix
Recent file menu fixes
2015-07-06 13:16:51 -07:00
Michael Gregorius
e3c645ec53 Fixes #2164
The master volume float was not updated when the master volume was
chamged using the mouse wheel. This commit fixes that problem.
2015-07-06 21:52:25 +02:00
Colin Wallace
3e8169de72 Merge pull request #2152 from Wallacoloo/MidiAlsaSeqFormatting
Fix bad tab-fomatting in MidiAlsaSeq.cpp
2015-07-06 11:09:47 -07:00
Oskar Wallgren
6888952fec recent files hide missing 2015-07-06 19:06:46 +02:00
Lukas W
f770164730 CMake: FindWine: Add aliases for finding winegcc 2015-07-06 17:40:10 +02:00
Colin Wallace
a91e7f72db Merge pull request #2160 from Wallacoloo/ConfigManagerFormattingFix
Fix formatting in ConfigManager.cpp
2015-07-04 22:56:39 -07:00
Colin Wallace
7b4946f79d Fix tabbing mistakes 2015-07-04 22:57:28 +00:00
Colin Wallace
ccc84494fd Merge pull request #2126 from Wallacoloo/MidiTimeRefactor
Refactor MidiTime implementation
2015-07-04 15:52:29 -07:00
Colin Wallace
ea7c96fa71 less repetitive setParameters logic 2015-07-04 01:33:33 +00:00
Colin Wallace
bc3e17eff8 default-initialize EqFilter parameters to 0 2015-07-04 01:29:04 +00:00
Colin Wallace
474b78cdf5 Fix bad tabbing 2015-07-03 04:19:35 +00:00
Colin Wallace
314623c157 fix race condition in TrackContainer::removeTrack 2015-07-03 03:48:49 +00:00
Colin Wallace
7eed8c63b4 fix atrocious formatting 2015-07-03 02:34:48 +00:00
Colin Wallace
d805302f06 Fix deadlock & use QWrite/ReadLockers instead of manually managing locks 2015-07-03 02:20:12 +00:00
Colin Wallace
122204e06b Merge pull request #2146 from michaelgregorius/2144-TrackNameInPianoRoll
Fixes #2144 ("Track name not shown in PianoRoll titlebar")
2015-07-01 20:23:08 -07:00
Michael Gregorius
a98534ac46 Fixes #2144 ("Track name not shown in PianoRoll titlebar")
Moves the code that sets the window title from
PianoRoll::setCurrentPattern to PianoRollWindow::setCurrentPattern which
is the widget that corresponds to the MDI window.
2015-07-01 23:39:51 +02:00
Colin Wallace
225f2c4551 Merge pull request #2142 from Wallacoloo/boopity-boppity
Map missing email to @tresf and 'support@lmms.io'
2015-06-30 08:15:42 -07:00
Colin Wallace
72253b31c8 map email address <ubuntu@ubuntu-1204.(none)> to @tresf & 'Locale Editor' to 'Anonymous' 2015-06-30 05:28:57 +00:00
Tres Finocchiaro
fea942e05d Merge pull request #2141 from midi-pascal/master
Add my second address to .mailmap
2015-06-29 23:01:46 -04:00
midi-pascal
6e4ac33661 Add my second address to .mailmap 2015-06-29 22:23:57 -04:00
Colin Wallace
ebcc837b99 Merge pull request #2127 from Wallacoloo/FxMixer_friends
Enforce tighter permissions in FxMixer
2015-06-29 18:46:51 -07:00
Colin Wallace
de7ad76de6 Merge pull request #2103 from Wallacoloo/git-2087b
Fix for #2087: Issues with saving projects in X11 when one subwindow is maximized
2015-06-29 18:37:56 -07:00
Umcaruje
c3e3271ea2 Merge pull request #2124 from Umcaruje/master-infiles
Update the man page and the windows installer info
2015-06-29 15:53:00 +02:00
Colin Wallace
16d782c1d9 Move MidiTime implementation into .cpp file 2015-06-28 19:25:24 +00:00
Michael Gregorius
5a8dce2650 Fixes most of stuff found in Wallacoloo's code review for #1600
Removal of a superfluous include in AudioAlsaSetupWidget.cpp

Removal of the function "bool hasCapabilities(char *device_name)" which
was not used anyway. It implemented a test for ALSA device capabilities
needed by LMMS (SND_PCM_ACCESS_RW_INTERLEAVED, SND_PCM_FORMAT_S16_LE,
etc.).

Corrected header name in AudioAlsaSetupWidget.h.

Created an implementation file for AudioDeviceSetupWidget to make more
clear that it's part of the GUI.

Fix build for builds that use Port Audio. The setup widget of
AudioPortAudio.h still inherited from AudioDevice::setupWidget instead
of the new AudioDeviceSetupWidget.
2015-06-28 00:24:23 +02:00
Michael Gregorius
37c4da81b5 Final version that lets the user select the ALSA device with a combo box
This version lets the user select the ALSA device to use with a combo
box. It does not check whether the device works for the parameters that
LMMS uses (SND_PCM_ACCESS_RW_INTERLEAVED, SND_PCM_FORMAT_S16_LE, etc.).
Doing these checks while compiling the list of available devices led to
strange effects which are likely caused by the fact that the PCM device
has to be opened to query its capabilities. This in turn led to error
messages a la "Resource or device busy" when testing the new
functionality repeatedly.

However, having a combo box to select devices from should be a good step
forward compared to a simple line edit. :)
2015-06-27 20:07:26 +02:00
Michael Gregorius
27653b713b Moves the probing code for available devices into the ALSA driver 2015-06-27 16:42:17 +02:00
Michael Gregorius
79cae31b5b Some refactoring to enable signals in audio driver setup dialogs
Moved AudioDevice::setupWidget into its own class AudioDeviceSetupWidget
which logically should belong to the GUI (unfortunately the include
structure does not make this obvious).

For the ALSA driver there is an implementation AudioAlsaSetupWidget
which provides a combo box for selection of the card and device.

All other driver widgets have been changed to inherit from
AudioAlsaSetupWidget but have not been changed otherwise.

SetupDialog has been adjusted to keep a map of AudioAlsaSetupWidgets
now.
2015-06-26 17:14:47 +02:00
Michael Gregorius
ad70c99d96 Populate and show a combo box of available ALSA cards and devices
Shows a combo box with the available ALSA cards and devices instead of a
line edit. The problem currently is that the widgets are nested classes
of AudioDevice and therefore the macro Q_OBJECT does not work which
means that its not possible to define slots that react to retrieved
signals.
2015-06-26 00:06:34 +02:00
Colin Wallace
d0c38960b8 Merge pull request #2133 from zonkmachine/knob-update
Update knob after changing response 'lin/log'
2015-06-24 19:32:41 -07:00
Oskar Wallgren
31e9ce2922 Update knob after changing response 'lin/log' 2015-06-25 00:09:08 +02:00
Colin Wallace
ce7c9a5b8c Merge pull request #2111 from Wallacoloo/git-2110
Fix wording inconsistency in View menu (~~Show/Hide~~ Controller Rack)
2015-06-22 19:11:08 -07:00
Umcaruje
dcde377fd4 Update the man page and the windows installer info 2015-06-22 15:43:40 +02:00
Colin Wallace
2e010141ad Remove FxMixer friendship privileges from FxMixerView and MixerWorkerThread 2015-06-22 03:01:49 +00:00
Colin Wallace
18e1d69cac Offload most Midi processing from Song into MidiTime class 2015-06-22 00:53:24 +00:00
Colin Wallace
8edfdc0543 Remove unused function 'isTempoAutomated()' 2015-06-22 00:17:17 +00:00
Colin Wallace
335b1c1c75 const-correctness for Song::getPlayPos() 2015-06-22 00:15:30 +00:00
Colin Wallace
546cb17e5f Simpler nextFullTact() algorithm 2015-06-21 22:55:14 +00:00
Lukas W
a6f74c2423 Readme: Remove section about latest release 2015-06-21 18:51:21 +02:00
Lukas W
31368699ec Merge pull request #2108 from LMMS/travis-qt5
Travis QT5
2015-06-21 16:22:27 +02:00
Lukas W
8b0b2df38e Fix compilation for Qt 5.0 2015-06-21 15:41:26 +02:00
Lukas W
baf883d808 Travis: Add Qt5 job 2015-06-21 14:15:42 +02:00
Colin Wallace
707c9cbb87 Put opening brace on its own line 2015-06-20 23:12:22 +00:00
Colin Wallace
9c392e918c Merge pull request #2119 from ThomasJClark/master
Check for valid pattern when focussing out pianoroll
2015-06-20 16:10:48 -07:00
Colin Wallace
dad4e8ef10 Merge pull request #2105 from Wallacoloo/doc_typos
Correct filenames within documentation strings
2015-06-20 15:28:55 -07:00
Thomas Clark
cdeba9c651 Check for valid pattern when focussing out pianoroll
This prevents a segmentation fault when closing an empty piano roll,
fixing issue #2050.
2015-06-19 21:21:38 -04:00
Lukas W
96a1d412dd Merge pull request #2116 from Wallacoloo/rm-legacy-friends
Removed legacy friend declarations
2015-06-18 10:00:26 +02:00
Colin Wallace
c112e50ddd Removed legacy friend declarations 2015-06-18 03:23:43 +00:00
Tres Finocchiaro
05d4b1398d Merge pull request #2006 from softrabbit/midi_import
Midi import: various small improvements
2015-06-17 15:48:27 -04:00
Colin Wallace
766c9d0cd5 Update outdated translation sources for View menu 2015-06-17 03:12:23 +00:00
Colin Wallace
67105307a4 Update source translations for changed View menu wording 2015-06-17 03:06:52 +00:00
Colin Wallace
71389bfc5a Fix wording consistency in View menu (~~Show/Hide~~ Controller Rack) 2015-06-17 02:54:25 +00:00
Lukas W
aaaa11c943 CMake: Add Qt5 include directories
Fixes #2107
2015-06-16 17:23:18 +02:00
Lukas W
4d4f0ed438 CMake proper version comparison 2015-06-16 16:55:38 +02:00
Lukas W
ca746e50f9 Merge pull request #2106 from Wallacoloo/remove-hasGUI
Replace 'Engine::hasGUI()' with 'gui != nullptr'
2015-06-16 14:26:08 +02:00
Colin Wallace
860d419c14 Replace 'Engine::hasGUI()' with 'gui != nullptr' 2015-06-16 05:40:05 +00:00
Colin Wallace
8a145b6baf Merge pull request #2097 from zonkmachine/mallets-spam
Stop mallet spamming the terminal
2015-06-15 17:00:06 -07:00
Colin Wallace
81164e91a9 Correct filenames within documentation strings 2015-06-15 23:52:13 +00:00
Colin Wallace
be564efb1e Add missing EXPORT directives for new SubWindow class 2015-06-15 23:41:08 +00:00
Lukas W
4f40583cfb Merge pull request #2102 from zonkmachine/organic-wave-lables
Fix Organic wave labels
2015-06-15 10:39:26 +02:00
Lukas W
61a9e9de02 Merge pull request #2104 from Wallacoloo/init_m_fb
Properly initialize InstrumentTrack::m_fb
2015-06-15 10:30:52 +02:00
Lukas W
44f8b24fb3 Merge branch 'stable-1.1'
# Conflicts:
#	include/PianoRoll.h
#	src/gui/editors/PianoRoll.cpp
2015-06-15 10:11:53 +02:00
Colin Wallace
eaf6ad35d8 Connect slots *after* initializing members 2015-06-15 06:48:04 +00:00
Colin Wallace
2616269b68 initialize m_fb to NULL 2015-06-15 06:33:41 +00:00
Colin Wallace
908591ba7d Have MainWindow and others make use of the new SubWindow class 2015-06-15 03:32:25 +00:00
Colin Wallace
7cc917cc06 Added SubWindow class to compensate for incorrect behavior of normalGeometry() method on X11 2015-06-15 03:29:59 +00:00
Lukas W
8b9868e0e5 Merge branch 'cmake_dist'
# Conflicts:
#	src/gui/FileBrowser.cpp
2015-06-14 21:38:12 +02:00
Oskar Wallgren
91aafceba5 Fix Organic wave labels 2015-06-14 09:23:39 +02:00
Dave
979fa2fb93 Merge pull request #2048 from Wallacoloo/issue-2015-4
Reorder Editor/Song destruction order to prevent bad memory accesses
2015-06-13 11:37:22 +01:00
Oskar Wallgren
5fabdfdb20 Stop mallet spamming the terminal 2015-06-13 00:55:27 +02:00
Dave
6c934d6aae Merge pull request #2096 from curlymorphic/i1660
Remove MessageBox warning of incomplete stk installation from mallets
2015-06-12 22:09:24 +01:00
Dave French
d6ff89af68 Remove MessageBox waring of incomplete stk instalation from mallets
The merge of stable 1.1 into master introduced the messagebox into the incorrect
place in the code. It is alrady present in the correct place in master,
 so simply removed the extra instance.

This stops the segfault and fixes #1660
2015-06-12 20:46:04 +01:00
Tres Finocchiaro
4142a55f5f Merge pull request #2095 from curlymorphic/i2094
No longer try to validate sf2 and gig files
2015-06-12 13:58:39 -04:00
Dave French
0c205ba504 Nolonger try to validate sf2 anf gig files
Removed trying to validate non lmms files when clicked in the file browser.
This had been the cause of erronus dialog box, and caused a bug, not allowing
drag and drop of sf2 files.

fixes #2094
2015-06-12 18:21:09 +01:00
Tres Finocchiaro
90dd8b2abb Merge pull request #2091 from softrabbit/issue1812
Don't save templates in "recently opened" list
2015-06-11 09:48:47 -04:00
Raine M. Ekman
d9193960fc Coding style fixup. 2015-06-11 10:27:09 +03:00
Raine M. Ekman
f896316de4 ConfigManager: Don't add templates to "recent files" list
Fixes #1812.
2015-06-11 10:19:48 +03:00
Tres Finocchiaro
ecbeaf788c Merge pull request #2065 from midi-pascal/master
Add and correct some French translation
2015-06-10 13:08:00 -04:00
Raine M. Ekman
222ce7ba23 Vocoder plugin: refactor for speed
Changing from arrays of structs to structs of arrays makes the
code a lot more optimizer-friendly, with possible speed gains of
2-3x when compiling for SSE systems.
2015-06-10 19:29:57 +03:00
midi-pascal
fa498caf5c Add and correct some French translation
The translation of the instrument plugins description does not work in Instruments pluginBrowser

Translation of the effect plugins description not showing in effects selector

Replace tabs with spaces in the fix indentation (as Tres request)

More French translations added

Remove the call to tr() inside the macro makeknob (DualFilterControlDialog.cpp) and tr() the strings before calling makeknob
Fix DualFilter description (was labeled as "A native amplifier plugin") (DualFilter.cpp)
Add French translation for the Dual filter knobs.

Move tr() out of macro's so lupdate find them for translation (extract litterals in "ts" file).
Full French translation of Monstro :-)

Make NES translatable (some tr() missing)
Remove tr() from macros (litterals not extracted by lupdate
Translate NES to French

Translate Watsyn Synth as others

Missing Q_OBJECT in DelayControlsDialog definition prevents its translation
Translate Delay plugin to French

Make EqControlsDialog translatable

Fix selected-note volume bug

Closes #2070

Fix a typo in French translation.

Add EqControlsDialog.h to the MOCFILES list in Eq CMakeLists.txt

Remove definition of slot updateVuMeters() in EqControlsDialog.h which is not implemented
2015-06-10 09:07:55 -04:00
Tres Finocchiaro
5265ec988f Merge pull request #2069 from BaraMGB/preset
Sets Focus to InstrumentTrackWindow
2015-06-02 13:43:44 -04:00
Lukas W
cc454b2b53 Fix pixmap discovery 2015-05-30 22:59:18 +02:00
Lukas W
422fbbc8d3 Merge branch 'master' into cmake_dist
# Conflicts:
#	include/ConfigManager.h
#	include/Engine.h
#	plugins/CMakeLists.txt
#	plugins/vst_base/CMakeLists.txt
#	plugins/vst_base/Win64/CMakeLists.txt
#	src/core/Engine.cpp
2015-05-30 22:59:06 +02:00
Tres Finocchiaro
f403299460 Fix selected-note volume bug
Closes #2070
2015-05-24 13:55:09 -04:00
Steffen Baranowsky
0e5c6aeaf8 Sets the Focus to the InstrumentTrackWindow if a preset or a sample droped to it. 2015-05-24 02:30:58 +02:00
Tres Finocchiaro
a644183a57 Merge pull request #2062 from midi-pascal/master
Issue #2061Sf2Player: Chorus tooltip assigned to reverb
2015-05-19 20:32:30 -04:00
pascal
46f72d97ce Issue #2061
Sf2Player: Chorus tooltip assigned to reverb
2015-05-19 19:26:58 -04:00
Raine M. Ekman
c4f4fe3657 MIDI import: i18n in default track names, control names for automation tracks 2015-05-18 21:54:21 +03:00
Colin Wallace
12f299bb9e Reorder Editor/Song destruction order to prevent bad memory accesses (issue #2015) 2015-05-12 18:56:58 +00:00
Raine M. Ekman
22b1e4fb4c Clarified the reason for qApp->processEvents(),
changed an odd type juggling into something slightly saner.
2015-05-05 22:21:33 +03:00
Raine M. Ekman
542250e127 MIDI import: set default pitch bend range to +/-2 semitones
AFAIK, this is how the General MIDI standard says it should be.
2015-05-05 12:25:13 +03:00
Raine M. Ekman
06d87174e4 MIDI import: call qApp->processEvents(); before creating tracks
This should keep LMMS responsive from the window managers POV, unless
the user selects a huge enough default sound font that loading it
takes too long.
2015-05-05 12:25:12 +03:00
Raine M. Ekman
61ab0ed093 MIDI import: add naming of AutomationTracks
Name the automation tracks like "[MIDI trackname] CC ##". And don't
call the automation track creation function for every CC event, as
it now will involve constructing a QString.
2015-05-05 12:25:12 +03:00
Raine M. Ekman
2a72d5f119 MIDI import: ensure minimum note length 1 tick
Too short notes had their duration rounded down to 0 on import,
as MIDI precision allows way shorter notes than LMMS, and
portsmf reports the duration as a double, where a beat == 1.0.

Was going to use ceil() first, but that might round some notes
up to a slightly longer duration.
2015-05-05 12:25:12 +03:00
Raine M. Ekman
ff44854cde MIDI import: don't call AutomationPattern::addObject all the time
Should be enough to add the object to the automation pattern only once,
as the objModel variable that is added will always be the same for the
same value of ccid, which indexes the ccs array.

This will speed up creation of automation tracks for MIDI CCs and pitch
bend.
2015-05-05 12:25:12 +03:00
Tres Finocchiaro
2f969c1e1c Merge pull request #2033 from michaelgregorius/2028-slow_midi_import
Solves issue #2028 (Slow MIDI import due to repeated message)
2015-05-05 00:31:08 -04:00
Michael Gregorius
cbf4e59691 Yet another tab correction
The wrong settings concerning tabs in QtCreator lead to bad display of
the code in other editors.
2015-05-04 19:37:54 +02:00
Michael Gregorius
3e72793465 Fixes the wrong tab spacing for #2028 2015-05-03 22:19:42 +02:00
Michael Gregorius
53f5ef1980 Solves issue #2028 (Slow MIDI import due to repeated message)
AutomationPattern::addObject now returns a boolean which indicates
whether the object was added or not. This change enables the removal of
the error message that is shown in the case that a model is already
connected from AutomationPattern::addObject. Instead all interactive
callers now check for the return value and show the message in case it
is needed.

This change set improves the import of MIDI files significantly. These
have been slowed down quite a lot due to the message being shown
repeatedly during the MIDI import.
2015-05-03 19:22:47 +02:00
Tres Finocchiaro
9f95c041b6 Merge pull request #1987 from Wallacoloo/instrument-nav-btns
Add instrument switcher buttons to InstrumentTrackWindow
2015-05-02 00:29:56 -04:00
Colin Wallace
26fc16b78b Implementation of next & previous instrument buttons in InstrumentTrackWindow 2015-05-02 02:09:57 +00:00
Tres Finocchiaro
388dfbc38c Merge pull request #2027 from BaraMGB/#1866
Add a focusOutEvent to PianoRoll as fix for Issue #1866
2015-04-30 10:26:19 -04:00
Steffen Baranowsky
aaed66eceb Add a focusOutEvent to PianoRoll as fix for Issue #1866 2015-04-29 14:11:37 +02:00
Tres Finocchiaro
9888cb9069 Merge pull request #2024 from Wallacoloo/browser-ctrl-f
Add ctrl+f shortcut to FileBrowser & default focus to filter widget when opened
2015-04-29 00:01:12 -04:00
Colin Wallace
c8a0d51a43 revert changes that caused FileBrowsers to steal focus when opened 2015-04-29 02:06:44 +00:00
Colin Wallace
fe3ca6aa76 Use QKeySequence::Find in place of Ctrl+F 2015-04-29 01:53:34 +00:00
Colin Wallace
616de244cc add ctrl+f shortcut to FileBrowser & default focus to filter widget when opened 2015-04-28 07:08:35 +00:00
Tres Finocchiaro
c35cfd2672 Merge pull request #2022 from Wallacoloo/os-shortcuts
Use OS-default shortcuts where applicable
2015-04-28 04:50:07 +00:00
Colin Wallace
9b6aaf058e Use OS-default shortcuts where applicable, but ensure both ctrl+y and ctrl+shift+z activate redo 2015-04-28 04:11:00 +00:00
Tres Finocchiaro
c9c26b1c69 Merge pull request #1975 from curlymorphic/delaywhine
Delay and Flanger, removed noise from delay when automating length
2015-04-27 19:20:10 +00:00
Tres Finocchiaro
6428c7a9c8 Merge pull request #1915 from Wallacoloo/master
Provide status messages on splash screen when loading (#1696)
2015-04-27 18:40:36 +00:00
Tres Finocchiaro
df9a1537b3 Merge pull request #2009 from Wallacoloo/undo-redo-greyout
Grey out edit->undo/redo actions if there's nothing left to undo/redo
2015-04-27 18:17:42 +00:00
Tres Finocchiaro
6c615dbcd4 Merge pull request #2021 from tresf/master
Minor formatting fixes in ConfigManager
2015-04-27 17:35:49 +00:00
Tres Finocchiaro
3eafcd0a58 Merge pull request #2020 from tresf/master
Remove Win32 GetSpecialFolderPath ; fix windows builds
2015-04-27 16:45:13 +00:00
Tres Finocchiaro
bdf7cce0d6 Merge pull request #2018 from softrabbit/denormal_refactor
Denormal protection refactoring
2015-04-27 12:54:47 +00:00
Tres Finocchiaro
a618f59418 Merge pull request #2017 from Wallacoloo/rm-song-playtrack
Remove unused code in Song.cpp
2015-04-27 12:46:50 +00:00
Raine M. Ekman
cb89750915 ...and add the new denormals.h file too. 2015-04-27 13:04:26 +03:00
Raine M. Ekman
dc67449175 Move the denormal protection routine to one place instead of 3 2015-04-27 13:02:07 +03:00
Colin Wallace
57cdfe1b66 Remove unused Mode_PlayTrack and m_trackToPlay 2015-04-27 06:33:22 +00:00
Colin Wallace
d9c2be73fa Remove unused function Song::playTrack 2015-04-27 06:24:47 +00:00
Tres Finocchiaro
b6643f83d4 Merge pull request #2010 from Wallacoloo/issue-1905
Fix behavior of shift+dragging note ends
2015-04-27 00:26:03 +00:00
Vesa
61c29ada2a fix merge oops 2015-04-26 17:07:27 +03:00
Vesa
d4ab23efef Merge branch 'stable-1.1'
Conflicts:
	.travis.yml
	CMakeLists.txt
	plugins/stk/mallets/mallets.cpp
	plugins/vst_base/CMakeLists.txt
2015-04-26 16:59:01 +03:00
Tres Finocchiaro
bbbe27d874 Merge pull request #2008 from Wallacoloo/recently-opened-project-typo
Fix plurality of 'recently opened project'
2015-04-26 12:37:49 +00:00
Colin Wallace
fd8123488a fix behavior of shift+dragging note ends (issue #1905) 2015-04-26 03:58:12 +00:00
Colin Wallace
035f48fb1d Grey out edit->undo/redo actions if there's nothing left to undo/redo 2015-04-25 22:15:12 +00:00
Colin Wallace
960c05bb32 Fix plurality of 'recently opened project' 2015-04-25 03:18:38 +00:00
Tres Finocchiaro
478bbbd4d0 Merge pull request #1984 from michaelgregorius/1981-midicrash
Might fix 1981 ("Midi Import crash in master branch")
2015-04-24 18:49:26 +00:00
Tres Finocchiaro
c57ba1b22c Merge pull request #1998 from tresf/master
Load file names with utf chars
2015-04-24 12:56:24 +00:00
Tres Finocchiaro
3189354760 Merge pull request #1928 from curlymorphic/1927
Model::isValueChanged correctly returns if sample exactness is used.
2015-04-24 12:55:43 +00:00
Tres Finocchiaro
48291a871e Minor formatting fixes ConfigManager dialog.
- Changed format to match that of surrounding code
 - Removed unecessary QDir() usage
 - Re-introduce `fromLocal8Bit`
2015-04-21 19:31:34 -04:00
Tres Finocchiaro
b19a9dc903 Remove Win32 SHGetKnownFolderPath; fix windows builds
Due to an upstream bug, mingw has issues building with shlobj.h.  This work-around fixes #1952 by falling back to a `getenv()` approach.
2015-04-21 18:09:50 -04:00
Tres Finocchiaro
13f7065b46 Load all file names with utf chars
Fixes #1995
2015-04-21 16:40:58 -04:00
Tres Finocchiaro
e96dff375b Merge pull request #1999 from Wallacoloo/muted-text
Display the 'muted' attribute as "mute" to match the wording of "solo"
2015-04-21 20:22:46 +00:00
Colin Wallace
85b6a92460 Display the 'muted' attribute as "mute" to match the wording of "solo" 2015-04-21 19:12:29 +00:00
Michael Gregorius
2d909462b6 Improved debugging output for unhandled MIDI data
Print as much debug info as possible for unhandled data.
2015-04-20 19:52:44 +02:00
Tres Finocchiaro
35b357f3ce Merge pull request #1988 from Wallacoloo/iph-unused-var
Remove unused m_instrumentTrack variable
2015-04-20 14:40:40 +00:00
Tres Finocchiaro
6e68eca6f8 Merge pull request #1704 from badosu/fix-cloned-track-position
Fix cloned track position
2015-04-20 14:30:09 +00:00
Tres Finocchiaro
f869b35217 Merge pull request #1985 from michaelgregorius/EffectSelectDialog
Show native plugin info in the effect selection dialog
2015-04-20 14:23:33 +00:00
Tres Finocchiaro
fa2cd22e5b Merge pull request #1980 from Wallacoloo/mixer-insert
Add <Insert> keyboard shortcut to create a new FX channel
2015-04-20 04:46:58 +00:00
Tres Finocchiaro
ad9fe1e27a Merge pull request #1989 from Wallacoloo/lfo-controller-dialog-cleanup
Remove unused var CF_LFO_GRAPH_X and outdated commented-out code
2015-04-20 04:43:22 +00:00
Tres Finocchiaro
3910629fc5 Merge pull request #1990 from Wallacoloo/track-unused-vars
remove unused vars: TRACK_OP_BTN_(WIDTH|HEIGHT)
2015-04-20 04:42:00 +00:00
Colin Wallace
954a61f0fc Remove unused var CF_LFO_GRAPH_X and outdated commented-out code 2015-04-20 03:47:49 +00:00
Colin Wallace
f12fa52a69 remove unused vars: TRACK_OP_BTN_(WIDTH|HEIGHT) 2015-04-20 03:37:55 +00:00
Colin Wallace
92d8950fd3 Remove unused m_instrumentTrack variable 2015-04-20 03:17:11 +00:00
Colin Wallace
75dd6fa3e7 Change new mixer channel shortcut to shift+insert 2015-04-20 03:06:41 +00:00
Tres Finocchiaro
8849c11b0a Merge pull request #1979 from curlymorphic/remotecc
ZynSubAddFx routed all MIDI cc messages to channel 0
2015-04-20 01:39:55 +00:00
Michael Gregorius
70b063ba05 Show native plugin info in the effect selection dialog
The effect selection dialog now also shows the information for the native
plugins. This included name, description, author as well as the plugin
icon.

Also removed the group box with the title "Plugin description" because
it should be rather obvious to the user that further information about
the plugin is shown. This removes some clutter from the dialog.
2015-04-19 22:02:13 +02:00
Michael Gregorius
19d641f6b4 Might fix 1981 ("Midi Import crash in master branch")
This commit adds checks for conditions that are asserted during calls to
get_atom_value.

It might fix a crash that is described in 1981. Unfortunately no files
have been attached to that issue. However, I was able to crash LMMS
using a local file and this crash is gone with this fix. So hopefully this
change also fixes the crashes described in 1981.
2015-04-19 17:11:03 +02:00
Tres Finocchiaro
d61075972d Merge pull request #1978 from Wallacoloo/pianorollfocus
Give focus to the PianoRoll widget when its window is opened
2015-04-19 15:06:27 +00:00
Colin Wallace
d146e6fb4a Add <Insert> keyboard shortcut to create a new FX channel 2015-04-18 22:22:35 +00:00
Dave French
2ac6d5df7a ZynSubAddFx routed all MIDI cc messages to channel 0
Lmms routes all midi notes to ZSAF on channel 0, however the CC messages
not routed, and could erronusoly be sent on other channels. This would
lead to ZSAF not acting on these midi commands

This pull request routes All Midi CC messages to channel 0

fixes #1953
2015-04-18 22:46:58 +01:00
Tres Finocchiaro
f9e37f779a Merge pull request #1976 from Wallacoloo/sfxrtypo
Fix 'Squre' typo in sfxr plugin
2015-04-18 21:34:36 +00:00
Colin Wallace
a27bf57d48 Fix typo in initialization progress message 2015-04-18 21:20:22 +00:00
Colin Wallace
382aec66f3 Give focus to the PianoRoll widget when its window is opened 2015-04-18 21:10:10 +00:00
Colin Wallace
eae30ce81f Fix 'Squre' typo in sfxr plugin 2015-04-18 20:17:20 +00:00
Dave French
68edb91fc6 Delay and Flanger updated formatting error 2015-04-18 18:53:11 +01:00
Dave French
4f76241e68 Delay and Flanger, removed noise from delay when automating length
The original delay code, was setting it read index relative to the length
of the delay. This fixes that, now when the length is changed the read
index stays in the correct place in the buffer.
2015-04-18 18:40:41 +01:00
Tres Finocchiaro
435a15d8bf Merge pull request #1938 from softrabbit/view_menu_note_names
View menu: added toggle for piano roll note labels
2015-04-17 21:27:39 +00:00
Tres Finocchiaro
a8da58ec21 Merge pull request #1884 from M374LX/songcomments
Song::processNextBuffer() - add more comments and rename variables
2015-04-17 19:48:32 +00:00
Tres Finocchiaro
ec2368fc5e Merge pull request #1678 from badosu/fix-moving-channels-segfault
Fix segfault when moving channels
2015-04-17 19:41:49 +00:00
Tres Finocchiaro
7c523e6325 Merge pull request #1874 from M374LX/pianoroll-refactor
PianoRoll::mouseReleaseEvent() refactoring
2015-04-17 19:03:49 +00:00
Tres Finocchiaro
6b9851261d Merge pull request #1970 from falkTX/master
Implement NATIVE_HOST_OPCODE_HOST_IDLE in carla plugin
2015-04-17 19:02:23 +00:00
falkTX
64b138b7ad Implement NATIVE_HOST_OPCODE_HOST_IDLE in carla plugin 2015-04-17 20:59:46 +02:00
Tres Finocchiaro
49dccf5a69 Merge pull request #1963 from Wallacoloo/pianorolldeselect
Add ctrl+shift+a to deselect all notes in piano roll (#1488)
2015-04-16 02:49:51 +00:00
Colin Wallace
7e1e506109 Add ctrl+shift+a to deselect all notes in piano roll (#1488) 2015-04-15 23:18:57 +00:00
Tres Finocchiaro
bf8eeaa9f8 Merge pull request #1933 from softrabbit/issue1325
StringPairDrag: encode data as UTF-8 instead of Latin-1.
2015-04-15 13:09:21 +00:00
Tres Finocchiaro
c270c7b701 Merge pull request #1957 from curlymorphic/1822
rebase of pr 1822 build fixes for freebsd
2015-04-15 04:52:54 +00:00
Dave French
e4a4dfd036 rebase of pr 1822 build fixes for freebsd
simply copied and pasted the changes from pr#1822
2015-04-14 20:00:55 +01:00
Tres Finocchiaro
d516c74b73 Merge pull request #1908 from curlymorphic/pathDialog
Re organizing of the user LMMS directory
2015-04-13 21:21:05 +00:00
Tres Finocchiaro
df0e6d6e9d Merge pull request #1897 from geedubess/bugfix_1888
LADSPA Multiband EQ (mbeq_1197) bugfix #1885
2015-04-13 20:33:57 +00:00
Tres Finocchiaro
d05c063b0c Merge pull request #1906 from softrabbit/midi_import_track_names
MIDI import: add support for track names
2015-04-13 20:26:47 +00:00
Tres Finocchiaro
5f8fb2262e Merge pull request #1902 from softrabbit/move_addplayhandles
Sf2player, OpulenZ: addPlayHandle moved to end of constructor.
2015-04-13 20:14:53 +00:00
Tres Finocchiaro
8db0700140 Merge pull request #1951 from tonychee7000/master
Update Chinese translation
2015-04-13 13:13:41 +00:00
TonyChyi
e6fc85230c Update Chinese translation 2015-04-13 10:47:57 +08:00
Lukas W
aae17dcf12 Merge pull request #1943 from curlymorphic/eqBandOn
EQ, Turn on all the bands by default.
2015-04-12 22:29:41 +02:00
Tres Finocchiaro
50a3b8dfee Merge pull request #1944 from Wallacoloo/knob-fix2
Properly initialize Knob lineWidth
2015-04-11 01:00:21 +00:00
Colin Wallace
3c76c4975b Properly initialize Knob lineWidth 2015-04-10 23:29:18 +00:00
Dave French
009a71484a EQ, Turn on all the bands by default. 2015-04-10 11:26:41 +01:00
Tres Finocchiaro
17e096b965 Merge pull request #1941 from curlymorphic/1939
AFP update parameters of wave display when loading sample
2015-04-09 02:12:11 +00:00
Dave French
bd5dfddfd4 AFP renamed updateFromTo() to updateSampleRange() 2015-04-09 02:13:31 +01:00
Dave French
43865ad283 AFP update parameters of wave display when loading sample
This is changing from opening a new wave display with each sample.
This fixes an issue where the play position cursor was not being drawn.
2015-04-09 00:00:09 +01:00
Raine M. Ekman
c56ebb2e48 View menu: Removed unnecessary ternary operators 2015-04-08 12:16:45 +03:00
Raine M. Ekman
d87a39d432 View menu: added toggle for piano roll note labels 2015-04-07 21:52:56 +03:00
Tres Finocchiaro
d5300aca70 Merge pull request #1934 from curlymorphic/1925
Removed Duplicate Entries in the File Browser
2015-04-07 16:11:10 +00:00
Dave French
ef1ab88342 Removed Duplicate Entries in the File Browser
4206705ed2 #1611 Improve search field ,
was incorrectly adding the files twice.

this rectifies my mistake.
2015-04-07 06:44:15 +01:00
Raine M. Ekman
c3687199ea StringPairDrag: encode data as UTF-8 instead of Latin-1.
Encoding Unicode data, like QStrings, as Latin-1 loses information.
UTF-8 is a better fit.
2015-04-06 21:44:57 +03:00
Dave French
589cd4fb59 Model::isValueChanged correctly returns if sample exactness is used.
The introduction of sample exactness introduced a bug, if The value was
changed using sample exactness Model::isValueChanged was incorectly returning
false.

This bug has shown its self in the BassBooster plugin.
2015-04-05 13:42:09 +01:00
Tres Finocchiaro
c87481ac81 Merge pull request #1922 from curlymorphic/1919
DualFilter corrected a bug introduced with sample exactness
2015-04-05 01:42:50 +00:00
Dave French
dca340e5e5 DualFilter corrected a bug introduced with sample exactness
fixed a bug where res1 was controled by res2
2015-04-05 02:19:05 +01:00
Colin Wallace
44c42d9d38 Provide status messages on splash screen when loading (#1696) 2015-04-02 08:23:14 +00:00
Tres Finocchiaro
77c6f5a2bf Merge pull request #1910 from Wallacoloo/master
Fix for #1907 - inconsistent clamping behavior in automation editor
2015-04-01 13:51:16 +00:00
Colin Wallace
6e8e696d3e Fix for #1907 - inconsistent clamping behavior in automation editor 2015-03-30 22:12:48 +00:00
Dave French
54ddfd3a2b Config manager. added a userVstDir function
Added a userVstDir function for consistancy
use the userVstDir() function to create new folder
2015-03-30 18:59:54 +01:00
falkTX
66086820ce Implement NATIVE_HOST_OPCODE_HOST_IDLE in carla plugin 2015-03-29 23:29:41 -04:00
Tres Finocchiaro
d5d0c53e5d Merge pull request #1887 from softrabbit/issue-1877-stable
SFXR: Avoid NaNs by making envelope length minimum 1 sample
2015-04-13 20:53:28 +00:00
Raine M. Ekman
4d1e8633e1 MIDI import: remove old non-functional track name code. 2015-03-29 17:26:02 +03:00
Raine M. Ekman
c1ad8d0ae2 MIDI import: add support for track names 2015-03-29 17:16:35 +03:00
Dave French
9516b7cf0e Added user Vst and ladspa folders
the user vst folder nowbecome the default vstfolder. this is configurable
in the setup dialog.

The user ladspa folder is added to the list of folder to search
2015-03-27 15:19:57 +00:00
Tres Finocchiaro
c1a2fde2ef Merge pull request #1791 from curlymorphic/i1702
Extend the creation of default lmms folder, and default template.
2015-03-27 14:27:48 +00:00
Dave French
345e05831d Change the location of the default template directory
Changed the location from lmms/projects/templates to
lmms/templates. This new location is used for loading and saving
of the default tempate default.mpt
2015-03-27 13:45:43 +00:00
Dave French
7335b98fdb Create User project template folder and default project template.
During the creation of the user directories, added the creation of
the projects/templates directory.

When creating a new song, if there is no default template create one.
2015-03-27 13:28:47 +00:00
Dave French
d9995f5548 Add default path for SF2
added a default path for sf
create folder
add folder to setup dialog
sf player now uses this location
2015-03-27 12:45:40 +00:00
Dave French
e9b15b51fb Path Dialog added icon artwork, minor ui tweek
added add_folder.png icon to use for adding addition folders.
this may need attention by others

changed layout to correctly display scroll bar
2015-03-27 12:45:40 +00:00
Dave French
2271af81c4 Added a Gig directory to user lmms folder
Added option to set gig folder in setup dialog
Gig player now opens at this location
2015-03-27 12:45:40 +00:00
Dave French
8dfa2cf7d0 Reorganised the paths dialog
Wrapped the path selection widgets in a Scroll Area, to allow for
the addition of addition paths.

Where multipue paths are allowed the icon has been changed to refect this.

Reordered the list.
2015-03-27 12:45:40 +00: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
Greg Simpson
6db4c9007e LADSPA Multiband EQ (mbeq_1197) bugfix #1885
Corrected Hann (raised cosine) window function.

Corrected output-windowing logic and recalculated correction factor
for window type. Tested against white noise & triple_osc output.
2015-03-23 17:44:55 -07:00
Lukas W
e0f077ba02 Merge branch 'master' into cmake_dist
# Conflicts:
#	include/Plugin.h
#	src/core/Plugin.cpp
2015-03-21 11:53:00 +01:00
Raine M. Ekman
0462be7afc SFXR: Removed conditional, moved ensuring env_length!=0 to initial calculation 2015-03-21 12:05:06 +02:00
Raine M. Ekman
898781484d SFXR: Avoid NaNs by making envelope length minimum 1 sample
(this time in the stable-1.1 branch)
2015-03-19 21:03:40 +02:00
Vesa V
de9f879dde Merge pull request #1804 from badosu/multiple-volume-changes
Change behaviour for changing volume/pan on Piano
2015-03-19 19:12:28 +02:00
Vesa V
b3b157d54c Merge pull request #1799 from curlymorphic/saControls
Updated the equalizer plugin to use sample exact controls
2015-03-19 19:11:00 +02:00
Vesa V
9b8a0b6322 Merge pull request #1861 from softrabbit/view_menu
Added toggle for smooth scrolling in song editor to view menu
2015-03-19 19:10:31 +02:00
Vesa V
fe77fa47b5 Merge pull request #1802 from curlymorphic/saBassBoost
Enable sample exact controls for BassBoost plugin
2015-03-19 19:09:52 +02:00
Tres Finocchiaro
5018199b57 Merge pull request #1886 from curlymorphic/1880
FileBrowser, revert to not loading xiz files into DataFile
2015-03-19 13:54:48 +00:00
Dave French
e00241ff5d FileBrowser, revert to not loading xiz files into DataFile
xiz files are again, correctly not passed into a DataFile. DataFile is for
LMMS xml files.
2015-03-19 13:03:03 +00:00
Alexandre Almeida
bf13859601 Remove unused variable 2015-03-18 22:57:27 -03:00
M374LX
d308a72f29 Song::processNextBuffer() - add more comments and rename variables with confusing names 2015-03-18 22:02:21 -03:00
Dave French
0f864682ff Equalizer refactored EqFilter to remove tick()
removed the tick() function, and replaced the invoking code with
direct calls to update().

fixed a bug, where the low shelf bandwidth was getting the incorrect data.
2015-03-16 15:52:33 +00:00
Dave French
c747c7a9ee BassBoost, seperated sample exact and regular process loops
This was done to increase performance when sample exactness
is not in use. This was a consern becasue of the 2 extra function
calls each frame introduced with SA.
2015-03-16 06:57:12 +00:00
M374LX
0a4e0a5d83 PianoRoll::mouseReleaseEvent() refactoring 2015-03-14 00:13:17 -03:00
Tres Finocchiaro
043a565919 Merge pull request #1870 from M374LX/templatemsg
Use the word "template" instead of "project" when appropriate
2015-03-13 12:42:26 +00:00
Vesa V
df66fdeab0 Merge pull request #1871 from M374LX/settings
Fix segfault
2015-03-13 13:26:40 +02:00
Vesa V
c01e4ca4a2 Merge pull request #1787 from curlymorphic/xydelay
smoothed the time parameter of the delay pluging
2015-03-13 13:25:53 +02:00
Vesa V
da66205f71 Merge pull request #1800 from curlymorphic/saDualFilter
Enabled the use of sample exact controls in Dual Filter
2015-03-13 07:38:06 +02:00
M374LX
693ffb586f Fix segfault 2015-03-13 00:12:51 -03:00
M374LX
9a8700cfae Use the word "template" instead of "project" when appropriate 2015-03-12 23:11:21 -03:00
Tres Finocchiaro
c155a5ec4d Merge pull request #1864 from softrabbit/24semitones2octaves
Triple Oscillator: crude translations for the CRS knob
2015-03-12 13:37:25 +00:00
Tres Finocchiaro
7676878c19 Merge pull request #1844 from curlymorphic/i457
Added option to duplicate first bar, in BBEditor
2015-03-12 05:17:08 +00:00
Tres Finocchiaro
c470bda019 Merge pull request #1863 from M374LX/pianorollmove
Fix song editor pattern view update bug
2015-03-12 05:09:26 +00:00
M374LX
da9e88e488 Fix song editor pattern update bug 2015-03-11 22:01:18 -03:00
Dave French
ca414dab10 Added option to duplicate first bar, in BBEditor
Added a new button to the action bar, using step_btn_duplicate.png

The new button, aswell as adding a bar to the patten, then
copies the first bar to the last.

fixes #457

BBEditor Duplicate Pattern. updated image, changed function name

Have updated the new image step_button_duplicate.png

Renamed the function from duplicateFirstBarAtEnd to duplicateSteps.

BBEditor renamed function duplicateSteps

renamed duplicateSteps() to cloneSteps() as requested

BBEditor rechange duplicateSteps to cloneSteps

BB Editor changed actionBtn text from duplicate to clone
2015-03-11 21:50:44 +00:00
Raine M. Ekman
881f008896 Crude translations for the CRS knob in Triple Oscillator. 2015-03-11 22:03:12 +02:00
Tres Finocchiaro
0c8307f963 Merge pull request #1859 from softrabbit/issue-878
Language update
2015-03-11 14:28:27 +00:00
Raine M. Ekman
07a099a0db Language update 2015-03-11 15:42:43 +02:00
Tres Finocchiaro
85d91a1159 Merge pull request #1858 from softrabbit/issue-878
Tripleoscillator: Change "what's this" text for CRS knob
2015-03-11 12:32:11 +00:00
Tres Finocchiaro
64328410bb Merge pull request #1855 from M374LX/pianorollmove
Fix piano roll select and move issue
2015-03-11 11:10:59 +00:00
Raine M. Ekman
a4ab8c1cda Tripleoscillator: Change "what's this" text for CRS knob to be in line with reality. 2015-03-11 10:11:57 +02:00
M374LX
733388a8ff Fix piano roll select and move issue 2015-03-10 22:45:54 -03:00
Tres Finocchiaro
19197d3481 Merge pull request #1851 from M374LX/settings
Fix issue #1848
2015-03-10 20:06:14 +00:00
Raine M. Ekman
bcd44ded5b Added smooth scrolling to view menu 2015-03-10 20:53:29 +02:00
Tres Finocchiaro
06e1415bbd Merge pull request #1852 from csimons/do-not-halt-playback-upon-open-dialog
Prevent playback from halting when 'Open Project' dialog is summoned.
2015-03-10 12:56:58 +00:00
Christopher L. Simons
95c7d72a90 Added 'bool stopPlayback' parameter to MainWindow::mayChangeProject() to preserve old behavior outside of 'Open project dialog' case; fixes #1384 2015-03-10 07:41:13 -04:00
Christopher L. Simons
393eacad7d Ensuring playback is halted once file selection is confirmed in 'Open project' dialog; fixes #1384 2015-03-10 07:05:10 -04:00
Christopher L. Simons
3f8cfbd7a8 No longer halting playback when 'Open project' dialog is summoned; fixes #1384 2015-03-10 06:47:05 -04:00
Alexandre
b3f60dde95 Update SetupDialog.cpp 2015-03-10 00:51:28 -03:00
Tres Finocchiaro
b2984e1f08 Merge pull request #1832 from M374LX/settings
Fix issue #1814
2015-03-10 00:26:57 +00:00
Tres Finocchiaro
559d0e9bcc Merge pull request #1846 from curlymorphic/i1052
Fixed bug where cross hairs were incorrectly draw in Automation Editor
2015-03-10 00:25:59 +00:00
Alexandre
42e2c8ff7e Fix issue of reverting settings
Fix issue of reverting settings

Delete file created accidentally

Delete SetupDialog.cpp
2015-03-09 19:52:27 -03:00
Dave French
51fa26ecb1 Fixed bug where cross hairs were incrorrectly draw in Automation Editor
The cross hairs in the automation editor were incorrectly drawn
when moving another window infront.
This change only draws the cross hairs when the window has focus.
2015-03-09 22:43:44 +00:00
Tres Finocchiaro
c5402075bc Merge pull request #1838 from curlymorphic/xmlChecker
Xml checker
2015-03-08 17:34:13 +00:00
Dave French
8e244a2e77 Corrected fileName typo 2015-03-08 17:17:21 +00:00
Dave French
8c7cdf359e Merge branch 'xmlChecker' of https://github.com/curlymorphic/lmms into xmlChecker 2015-03-08 16:44:21 +00:00
Dave French
f310a4066f Commented DataFile::validate in headder 2015-03-08 16:43:28 +00:00
Dave French
335711aac7 xml validation, removed redundant boxing, unknown files fail validation, caught a inverse logic error 2015-03-08 16:43:28 +00:00
Dave French
318260a7e2 Validates Xml files opened with the main menu 2015-03-08 16:43:28 +00:00
Dave French
ad9dfd853d Begginings of XML validation 2015-03-08 16:43:28 +00:00
Dave French
7037faedd3 Added Checking of filetypes from the xml. Added a static function fileTypeFromData to the DataFile class. This opens the given file and checks the xml for its file type, as oposed to relying on the file extension 2015-03-08 16:43:28 +00:00
Dave French
3829990e00 Commented DataFile::validate in headder 2015-03-08 14:48:23 +00:00
Vesa V
bf38b15d63 Merge pull request #1803 from curlymorphic/saWaveShaper
Enable sample exact controls for WaveShaper plugin
2015-03-08 10:55:57 +02:00
Vesa V
67199970a5 Merge pull request #1809 from curlymorphic/dataChanged
Added sample exactness to the Lfo controller controls
2015-03-08 10:55:05 +02:00
Tres Finocchiaro
d14f4511b2 Remove compiler optimizations for mingw, bump version
Fixes #1757
2015-03-07 21:47:14 -05:00
Dave French
de74760586 xml validation, removed redundant boxing, unknown files fail validation, caught a inverse logic error 2015-03-07 15:25:15 +00:00
Amadeus Folego
33893e51c4 Move cloned tracks under the original 2015-03-07 12:00:20 -03:00
Amadeus Folego
8e9d902fa0 Refactor moving track views up and down 2015-03-07 11:58:30 -03:00
Amadeus Folego
6e3d4f431d Change behaviour for changing volume/pan on Piano
All the selected notes are changed by default for the 3 possible events:

- Mouse dragging the volume/pan meter
- Rolling the mouse wheel over the meter
- Double-clicking the meter

The user can still change each note individually by holding alt before
performing the desired action
2015-03-07 11:55:36 -03:00
Tres Finocchiaro
07e422c66d Merge pull request #1827 from waddlesplash/master
General platform-logic refactoring & Haiku support.
2015-03-07 14:49:47 +00:00
Augustin Cavalier
14ba57a531 versioninfo: add Haiku. 2015-03-05 13:56:44 -05:00
Augustin Cavalier
582c9ee678 Refactor shared memory logic. 2015-03-05 13:56:37 -05:00
Augustin Cavalier
d6a5544233 lb302: remove unused MIN function. 2015-03-05 13:55:40 -05:00
Augustin Cavalier
9b0c602b65 LadspaEffect: use same cflags as Linux on Haiku. 2015-03-05 12:53:52 -05:00
Augustin Cavalier
946d8a1431 lmms_math: also enable workarounds on Haiku. 2015-03-05 12:41:59 -05:00
Augustin Cavalier
48ac1b02eb DetectMachine: de-convolute 'if' maze and add Haiku. 2015-03-05 12:39:35 -05:00
Augustin Cavalier
d8dce9605e zynaddsubfx: just don't build if FLTK is not found rather than hard-failing. 2015-03-05 12:34:21 -05:00
Tres Finocchiaro
ce282a4841 Merge pull request #1622 from M374LX/coding
Progressive coding conventions update (new branch)
2015-03-04 01:55:28 +00:00
Dave French
d15a1136de Added sample exactness to the Lfo controller controls
Added sample exactness to the amount control.
2015-03-02 22:28:18 +00:00
Tres Finocchiaro
e5d51d13e4 Merge pull request #1805 from Spekular/toolbars
Remove unused toolbar gradient images.
2015-03-02 16:55:26 +00:00
Spekular
2acfa0eeca Remove unused toolbar gradient images. 2015-03-02 08:15:08 +01:00
Alexandre Almeida
91ebba65f7 Adjust parentheses conventions 2015-03-01 23:15:55 -03:00
Alexandre Almeida
ecb4c636c8 Adjust parentheses conventions 2015-03-01 23:12:35 -03:00
Dave French
be6f25b7a1 Enable sample exact controls for WaveShaper plugin
Enabled sample exactness for the input and output control.
2015-03-01 22:54:06 +00:00
Dave French
1cb7336189 Enable sample exact controls for BassBoost plugin
Enabled the use of sample exactness on gain control.

After checking the m_bbfx_leftFX.getGain() function, It was found
that this functiomn only sets a member variable, and causes no other
over head, so decided that checking if the value had changed would take more
clock cycles, than the check to see if the value had changhed.
2015-03-01 20:33:04 +00:00
Alexandre
0a3ff51c7e Merge branch 'coding' of https://github.com/M374LX/lmms into coding
Conflicts:
	src/core/Track.cpp
2015-03-01 13:39:50 -03:00
Alexandre
3d46f8a290 Merge branch 'coding'
Conflicts:
	include/Note.h
	include/ProjectVersion.h
	include/TimeLineWidget.h
	include/Track.h
	src/core/Plugin.cpp
	src/core/ProjectVersion.cpp
	src/core/Song.cpp
	src/core/Track.cpp
	src/gui/TimeLineWidget.cpp
2015-03-01 12:55:58 -03:00
Tres Finocchiaro
a1ac1dd5e5 Merge pull request #1801 from curlymorphic/doubleSong
Reinstate Double Click opening the piano roll from song editor
2015-03-01 10:30:34 -05:00
Dave French
6ad5d88c08 Reinstate Double Click opening the piano roll from song editor
This fixes a bug introduced when removing double click from
BB patterns. It Now checks if we use fixedTCO's (bb tomb stones),
only disable double clikc if so, leaving it working correcly in the
song editor
2015-03-01 14:37:07 +00:00
Dave French
673ce6e17a Enabled the use of sample exact controls in Dual Filter
The following controls have sample exact enabled

Filter 1 Cutoff
Filter 1 res
Filter 1 gain

Filter 2 Cutoff
Filter 2 res
Filter 2 Gain

Model.isValueChanged() does not eveluate when recieving sample accurate
so added checks to see if the cutoff and res needed to be recalculated,
2015-03-01 11:42:54 +00:00
Dave French
8a588d4934 Delay added addional smoothing to the delay time parameter
The delay time paramter was responding very badly ui user input.
This now has a much more plesant sound, not dis simular to a
record being sped up or slowed down.
2015-03-01 00:03:24 +00:00
Dave French
e06c4bfa38 Updated the equliser plugin to use sample exact controls
For this i had to do some major refactoring within the processAudioBuffer()
function.
2015-02-28 23:05:55 +00:00
Dave French
9343cb7549 Optimised sample exactness in the Delay plugin
implemented a pointer increment system as suggested by diizy
2015-02-28 13:26:17 +00:00
Dave French
0d220b9584 Added the use of sample exact controls to the Delay plugin
Added Sample exactness to the following parameters

Delay time
Regen
Lfo time
Lfo amount

Did not add this to the output gain contol, This model is used in
a dbScale, and a much more pleaseing result was gained by using an
amplifier plugin.
2015-02-27 18:00:56 +00:00
Dave French
7f72be6f69 Validates Xml files opened with the main menu 2015-02-26 20:07:45 +00:00
Dave French
a0360d2a8e Delay effect, the delay time parameter now uses sample exact modeling 2015-02-26 18:05:34 +00:00
Tres Finocchiaro
fe797cb09f Merge pull request #1718 from curlymorphic/saveasextensiontranslation
Remove the file extensions from the translations in the saveAsDialog
2015-02-26 09:18:17 -05:00
Dave French
81f0b14465 smoothed the time parameter of the delay pluging 2015-02-25 22:12:22 +00:00
Dave French
09232ce6e8 Begginings of XML validation 2015-02-25 21:30:45 +00:00
Tres Finocchiaro
3230a69680 Merge pull request #1784 from tresf/master
Prevent running as root user
2015-02-25 00:22:54 -05:00
tresf
e1e91cecb2 Prevent running as root user 2015-02-24 23:46:00 -05:00
Tres Finocchiaro
b39174058c Merge pull request #1783 from curlymorphic/i1682_2
Removed Double click to open piano roll, in the BBeditor,
2015-02-24 21:09:54 -05:00
Dave French
448f5be350 Removed Double click to open piano roll, in the BBeditor, this is to stop notes being added in error 2015-02-24 22:08:46 +00:00
Dave French
7e2bb36104 Added Checking of filetypes from the xml. Added a static function fileTypeFromData to the DataFile class. This opens the given file and checks the xml for its file type, as oposed to relying on the file extension 2015-02-23 21:16:38 +00:00
Tres Finocchiaro
a4967700fd Merge pull request #1775 from curlymorphic/i1720
Stop quantizing copied notes, leaving them at there original timings.
2015-02-20 13:27:41 -05:00
Tres Finocchiaro
0dafb5a996 Merge pull request #1777 from curlymorphic/i1279
linearToLogScale and logToLinearScale return 0 rather than nan
2015-02-20 12:41:51 -05:00
Tres Finocchiaro
79f6869ac3 Merge pull request #1774 from curlymorphic/i1683
Delay the deleting of a track view until the next event loop, this stops...
2015-02-20 11:59:16 -05:00
Dave French
a6e37316f1 linearToLogScale and logToLinearScale return 0 rather than nan 2015-02-20 16:56:28 +00:00
grejppi
603965fcf4 Merge pull request #1771 from grejppi/master-jack
Remove semaphores from JACK backend
2015-02-20 18:10:03 +02:00
Dave French
6a70fbd724 Stop quantizing copied notes, leaving them at there original timings. Notes that were quantised remain so 2015-02-20 12:48:27 +00:00
Dave French
42e12e6b27 Delay the deleting of a track view until the next event loop, this stops the segfault when deleting BB tracks during playback 2015-02-20 11:55:51 +00:00
Tres Finocchiaro
b4c5c09f30 Merge pull request #1772 from Ododo/master
rythme and not ryhtme
2015-02-19 17:25:19 -05:00
Ododo
0d56067121 Update fr.ts 2015-02-19 22:30:53 +01:00
Dave French
d6a1a61b45 Removed trailing spaces form save as Translations 2015-02-19 16:20:55 +00:00
curlymorphic
c1272fb1c5 removed file extensions from translations for SaveAs dialog 2015-02-19 08:47:17 +00:00
Dave French
4f5f855e87 Remove the file extensions from the translations in the saveAsDialog 2015-02-19 07:48:58 +00:00
Tres Finocchiaro
1b2e97954e Merge pull request #1751 from tresf/master
Remove "(bad latency!)" warning from PulseAudio
2015-02-18 09:00:58 -05:00
Hannu Haahti
1dcacbb95e Remove semaphores from JACK backend 2015-02-18 13:24:28 +02:00
Raine M. Ekman
96882f44d5 Added view menu
To be reviewed and reverted if undesired.

Based on https://sourceforge.net/p/lmms/patches/38/

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2015-02-17 23:37:44 +01:00
Tres Finocchiaro
15e759b6d3 Update NSIS URLs
Closes #1766.
2015-02-16 15:13:02 -05:00
Tobias Doerffel
317b2f02a8 AutomatableModel: fix wrong comparison logic
We must not negate the float but instead test for inequality in order to
determine whether the linked model has to be updated.

Closes #1761.
2015-02-16 18:22:49 +01:00
Tobias Doerffel
7bd5317499 Fixed path to FLTK DLL
mingw-x-fltk >= 1.3.3 has the FLTK DLL inside the bin directory like all the
other library packages as well.
2015-02-15 20:05:00 +01:00
Tobias Doerffel
3cc2091620 Fixed path to FLTK DLL
mingw-x-fltk >= 1.3.3 has the FLTK DLL inside the bin directory like all the
other library packages as well.
2015-02-15 20:02:46 +01:00
Tres Finocchiaro
23065454b9 Merge pull request #1754 from curlymorphic/xydelay
Added an xy pad to the Delay effect
2015-02-11 15:30:50 -05:00
Tres Finocchiaro
946cee27b0 Merge pull request #1756 from Sti2nd/stable-1.1
Save and load the mute flag for automation patterns
2015-02-10 22:48:10 -05:00
Dave French
9312c92013 Save and load the mute flag for automation patterns 2015-02-10 21:00:01 +01:00
Alexandre Almeida
593fd1c36e Merge pull request #1 from teeberg/coding 2015-02-10 17:38:18 -02:00
Tres Finocchiaro
9e3f344c70 Bump version for stable-1.1 patch release 2015-02-10 10:19:05 -05:00
Dave French
ee3c9a1333 Added a XY pad to the Delay Pluging. also added a volume control, and smothed the delay time input changes, to improve audio. 2015-02-10 13:47:17 +00:00
Dave French
fde014b9a5 Delay plugin renamed files and folder to use CamelCase 2015-02-09 22:56:39 +00:00
tresf
afb0777a6e Remove "(bad latency!)" warning from PulseAudio 2015-02-08 18:22:14 -05:00
Vesa V
aea84602b2 Merge pull request #1747 from Fastigium/lockless-1.1
1.1-based RT-safe fix for race condition causing #1662
2015-02-08 10:24:54 +02:00
Fastigium
d64e93b41a RT-safe fix for race condition causing #1662 2015-02-07 15:21:01 +01:00
Vesa V
b1a007b41b Merge pull request #1686 from mohamed--abdel-maksoud/master
MIDI Export feature (issue #258)
2015-02-07 14:39:37 +02:00
Tres Finocchiaro
77b93a22d7 Merge pull request #1740 from oeai/master
russian translation update
2015-02-06 11:07:43 -05:00
Lukas W
94e9d5b137 Travis: no make verbose output [skip ci] 2015-02-05 17:48:51 +01:00
Lukas W
0a48b2f7bc Fix: Respect custom working directory whenw riting recovery file
Fixes #1726
2015-02-05 17:40:34 +01:00
Lukas W
35e1c4ed89 Refactor: Move plugin file support handling to PluginFactory 2015-02-05 17:22:23 +01:00
Lukas W
863df4e3e6 Add support for reading theme path from environment variable 2015-02-05 17:21:57 +01:00
Tres Finocchiaro
2380e30ddd Merge pull request #1738 from curlymorphic/1724
Changed the Song Editor time position line to correctly draw from under the timeline widget
2015-02-04 17:27:55 -05:00
mohamed
2260907285 adding exportProjectMidi method, internally uses midiexport plugin 2015-02-04 22:37:43 +01:00
mohamed
8d5077af96 adding menu entry file->export midi 2015-02-04 22:37:00 +01:00
mohamed
9b7ac3b3db cleaning up event ordering function 2015-02-04 22:36:34 +01:00
mohamed
826591817a adding midiexport plugin to the list 2015-02-04 22:36:03 +01:00
Ra
fd2efe0347 Russian translation update
Russian translation update
2015-02-05 01:08:20 +04:00
mohamed
af0f997af8 midi export plugin 2015-02-04 20:23:53 +01:00
mohamed
b25ed327e0 export filter for export plugins 2015-02-04 20:23:43 +01:00
Dave French
690995620a Changed the Song Editor time position line to correctly draw from underneath the timeline widget 2015-02-04 15:41:27 +00:00
Tres Finocchiaro
b48c392dce Merge pull request #1737 from Spekular/PVFix
Fix project version check on preset load.
2015-02-03 15:43:49 -05:00
Spekular
5f32c361e4 Fix project version check on preset load. 2015-02-03 20:43:42 +01:00
Tres Finocchiaro
cb874e65df Merge pull request #1730 from curlymorphic/i1631
Save and load the mute flag for automation patterns
2015-02-02 11:44:43 -05:00
Jonas Trappenberg
76ffbd6528 Merge branch 'master' into coding
Conflicts:
	include/Plugin.h
	src/core/Note.cpp
	src/core/Track.cpp
2015-01-31 19:11:33 -08:00
Dave French
5a92243db6 Save and load the mute flag for automation patterns 2015-01-31 12:43:14 +00:00
Ra
47774fb216 Merge pull request #1 from LMMS/master
update current version
2015-01-30 21:37:30 +03:00
Tres Finocchiaro
4deb0a15aa Merge pull request #1627 from badosu/add-assign-to-new-fx-spinner
Add "assign to new fx channel" on FX SpinBox
2015-01-30 13:34:05 -05:00
Tres Finocchiaro
4f5bdeb254 Merge pull request #1684 from Spekular/patch-1
Update Swedish Translation
2015-01-30 13:06:48 -05:00
Spekular
5504b3fe9c Remove ' type="unfinished" ' on translated strings
Also miscellaneous fixes.
2015-01-30 18:54:32 +01:00
Amadeus Folego
c99e47f581 Add "Assign to new FX Channel" action to FXSpinBox
Fix #604 #921
2015-01-30 13:25:10 -02:00
Amadeus Folego
06cb85b771 Move FX assignment/creation logic to InsTrackView 2015-01-30 13:25:10 -02:00
Spekular
fc11a09b0b Update Automation translations 2015-01-30 10:38:16 +01:00
Spekular
b1f0dd3099 ljud fil -> ljudfil & dialogvisas -> dialog visas 2015-01-30 08:39:11 +01:00
Tres Finocchiaro
e70c4017ea Merge pull request #1721 from badosu/fix-shift-resize-single-note
Fix Shift+Resize for single note should be sticky
2015-01-29 20:20:52 -05:00
Amadeus Folego
27762a9437 Fix Shift+Resize for single note should be sticky 2015-01-29 20:06:38 -02:00
Tres Finocchiaro
04bfbe0194 Merge pull request #1630 from softrabbit/midi_import_drums
Play imported MIDI drum tracks with a drum kit patch
2015-01-29 15:42:33 -05:00
Tres Finocchiaro
e2d98668ec Merge pull request #1699 from curlymorphic/bbundo
Song Editor and bbEditor undo.
2015-01-29 15:39:43 -05:00
Tres Finocchiaro
339a7c514c Merge pull request #1697 from curlymorphic/autoundo
Automation editor undo
2015-01-29 15:38:33 -05:00
Tres Finocchiaro
0f43b0a472 Merge pull request #1710 from curlymorphic/i1595
Proposed fix for #1595 Instrument track activity LED lights when muted.
2015-01-29 13:54:53 -05:00
Tres Finocchiaro
525e627fa4 Merge pull request #1709 from curlymorphic/i1695
Proposed fix for 1695 Cannot save templates
2015-01-29 13:50:22 -05:00
Tres Finocchiaro
af08470f66 Merge pull request #1711 from curlymorphic/i1692
Proposed fix for 1692 Missing CLI option for rendering
2015-01-29 13:49:25 -05:00
Lukas W
2a0c08afa2 Fix windows build 2015-01-29 16:37:10 +01:00
Lukas W
54e64f406e Merge remote-tracking branch 'upstream/master' into cmake_dist 2015-01-29 14:02:40 +01:00
Lukas W
c28b0b5407 PluginFactory: Map plugins by type 2015-01-29 14:00:29 +01:00
Lukas W
dc1f8dc365 Add data search path support
Also add LMMS_DATA_DIR env var to "data:" search paths.
When lmms is launched from its build directory (without `make install`ing),
LMMS_DATA_DIR can be passed to point lmms to the "data" directory in the
source tree.
2015-01-29 13:54:09 +01:00
Lukas W
7be47230e3 Introduce PluginFactory class
This singleton class handles management of plugin search paths and plugin
discovery. Search paths are (if they exist):
  * <lmms-exe-dir>/../lib/lmms: This is the common location on Unixoids
    (Not included in Windows builds)
  * <lmms-exe-dir>/plugins: For portable and Windows installations
  * The path given by the compile define LMMS_PLUGIN_DIR
  * Environment variable LMMS_PLUGIN_DIR if given

This commit also tweaks the build script to output built plugins to
"${CMAKE_BINARY_DIR}/plugins". This way lmms can find plugins during
development without the need to use `make install`.

Plugin::getDescriptorsOfAvailPlugins and ConfigManager::pluginDir were
removed.
2015-01-29 13:48:52 +01:00
Dave French
1ebbe31fae Changed commandline flag to render in 32bit float from -32 to -a 2015-01-29 11:36:21 +00:00
Dave French
efa75b0151 Checks for .mpt extension, before adding extension when saving project templates 2015-01-29 10:38:19 +00:00
Dave French
5ce1bd874d renamed muteHasChanged to muteChanged in InstrumentTrackView 2015-01-29 10:13:25 +00:00
Dave French
968d0215df Moved Setting of activity indicator color from InstrumentTrack to InstrumentTrackView 2015-01-29 09:49:20 +00:00
Tres Finocchiaro
96fd0815a3 Merge pull request #1708 from badosu/fix-crash-when-removing-last-channel
Fix crash when removing last channel
2015-01-28 23:16:50 -05:00
Tres Finocchiaro
e906056173 Merge pull request #1687 from SecondFlight/master
Added a song to data/projects/CoolSongs
2015-01-28 22:37:27 -05:00
Tres Finocchiaro
d0adb2ddef Merge pull request #1716 from badosu/change-resizing-notes-on-piano-roll
Change Shift+Resize selected notes on Piano Roll
2015-01-28 22:11:05 -05:00
Tres Finocchiaro
824f7fa706 Merge pull request #1712 from curlymorphic/i1532
Proposed fix for #1532 Tracks in song editor cannot be moved in pattern ...
2015-01-28 20:37:03 -05:00
Amadeus Folego
dae0c05061 Change Shift+Resize selected notes on Piano Roll
Selected notes: when resized would offset posterior, non-selected notes
to mantain some kind of melodic structure. This is referred to
as *sticky* behaviour.

It also assumes some kind of intention that may not be the case.
Also adds complexity to a simple feature.

This commit makes only the the selected notes be offset. It also adds a
new shortcut to the old behaviour <Shift-Ctrl-drag to the note tip>.

Fixes #1666
2015-01-28 23:22:29 -02:00
Dave French
c02f043b3f Changed color of InstrumentTrack activity indicators mute color to use the color defined in style.css as highlight 2015-01-29 00:27:30 +00:00
Dave French
fa6dd6da8b Change color of muted activity indicator from red to grey 2015-01-28 22:12:59 +00:00
Dave French
406bc40ddd fix 1692 reformat conditional statement to be consistant 2015-01-28 17:06:19 +00:00
Dave French
dd80301cee Proposed fix for #1532 Tracks in song editor cannot be moved in pattern select mode. 2015-01-28 15:35:01 +00:00
SecondFlight
ad1dc2268f Changed the license to CC (BY)
Seems more reasonable based on the discussion.
2015-01-28 09:46:26 -05:00
Dave French
f9eb128b46 Proposed fix for 1692 Missing CLI option for rendering 2015-01-28 13:39:35 +00:00
Dave French
9fee116fa7 1595 removed accidental blank line 2015-01-28 12:21:57 +00:00
Dave French
7c0ab622f1 Proposed fix for 1595 Instrument track activity LED lights when muted 2015-01-28 12:16:21 +00:00
Dave French
56635c1fcf Proposed fix for 1695 Cannot save templates 2015-01-28 06:35:52 +00:00
Amadeus Folego
ff2617b0bd Fix crash when removing last channel
Sometimes the last channel still had processing to do when it got
deleted
2015-01-28 00:52:17 -02:00
Tres Finocchiaro
8e2e17ab84 Merge pull request #1701 from curlymorphic/i710
Proposed fix 710
2015-01-27 11:53:54 -05:00
Tres Finocchiaro
0faeb2bddc Merge pull request #1667 from Spekular/PVCheck
Project Version Check
2015-01-27 11:50:03 -05:00
Dave French
9b1e89ae21 Proposed fix 710 2015-01-27 11:18:25 +00:00
Spekular
6ec2ece4a4 Update code style for project version check. 2015-01-27 11:32:39 +01:00
Spekular
0847919214 Adds GUI check around GUI calls in DataFile.cpp 2015-01-27 11:22:46 +01:00
Spekular
ea80d01f8b Adds dialog when project is opened that was made with a different version of LMMS
Remove Commented Out Code

Update DataFile.cpp

Update DataFile.cpp

Update DataFile.cpp

Changes per tresf's advice, adds comments

Git???

Please work :/

Update DataFile.cpp

Adds dialog when project is opened that was made with a different version of LMMS

Remove Commented Out Code

Update DataFile.cpp

Update DataFile.cpp

Update DataFile.cpp

Changes per tresf's advice, adds comments

Git???

Please work :/

Update DataFile.cpp
2015-01-27 11:22:45 +01:00
Tres Finocchiaro
cdf6b3e01f Merge pull request #1689 from curlymorphic/i1685
Proposed fix 1685 Automation Copy/Paste from Context Menu
2015-01-26 22:07:08 -05:00
Dave French
57460c91c3 bb patern 2015-01-27 00:28:40 +00:00
Dave French
a30c32f8d8 Undo of TCO changes in song editor 2015-01-27 00:11:23 +00:00
Dave French
e51da26a1a Automation editior undo 2015-01-26 22:23:19 +00:00
Lukas W
7b5084c53b Merge pull request #1690 from curlymorphic/821
Renamed parameters on selectRegionFromPixels
2015-01-26 14:17:25 +01:00
Dave French
cebf8bfd59 Renamed parameters on selectRegionFromPixels 2015-01-25 20:37:00 +00:00
Dave French
0fe2ab5533 Proposed fix 1685 Automation Copy/Paste from Context Menu 2015-01-25 20:07:53 +00:00
Spekular
fccc36113c Update sv.ts 2015-01-25 16:10:22 +01:00
SecondFlight
91c76f342b Added a song to data/projects/CoolSongs
The song that will (hopefully) be added:
https://soundcloud.com/second_flight/krem-kaakkuja-remix
2015-01-24 20:09:07 -05:00
Lukas W
0e778d042b Merge pull request #1674 from curlymorphic/i446
Proposed fix for 446, select notes in piano roll using timeline
2015-01-24 11:19:58 +01:00
Dave French
e2a2d27bba 446 change parameter names 2015-01-24 06:30:23 +00:00
Spekular
28a51968a3 Gain: Volym>Föstärkning Amplification: Volym>Amplifiering 2015-01-23 23:00:26 +01:00
Spekular
d4d15ea567 Update Swedish Translation 2015-01-23 22:37:12 +01:00
Tres Finocchiaro
1a7e30eb87 Merge pull request #1677 from curlymorphic/1416
Proposed fix 1416 Drag-and-drop of automatables to Automation Editor
2015-01-23 16:14:43 -05:00
Dave French
f6792d991c 1416 refresh window 2015-01-23 19:46:09 +00:00
Dave French
f8120cd2fe Tidy up and remove clearing 1416 2015-01-23 18:15:03 +00:00
Amadeus Folego
e91991216d Fix segfault when moving channels
This commit addresses a lot of issues, namely:

1. When the "Move left/right" action was selected on a mixer channel
menu sometimes it would segfault due to the fxline object being
deleted before it returned to a method inside itself

2. The Fader was declaring a new variable for the model whereas it
should used the inherited model from FloatModelView < AutomatableModelView

3. Some methods were doing more things than they should be and
performing unnecessary actions. A little cleanup/refactor was made

Please notice that a bug of the same class as the one referred at point 1
still exists: clicking on "Remove channel". This commit does not
addresses this issue.

Fixes #1584
2015-01-23 05:35:59 -02:00
Dave French
dfbbcfd38b 1416 tidy up 2015-01-23 02:38:17 +00:00
Dave French
c201a41c05 Proposed fix 1416 Drag-and-drop of automatables to Automation Editor 2015-01-23 02:16:30 +00:00
Tobias Doerffel
ffe7e8b8fa Travis: updated name of PPA with MinGW-X packages for Precise 2015-01-22 22:24:23 +01:00
Tobias Doerffel
d569015273 Travis: updated name of PPA with MinGW-X packages for Precise 2015-01-22 22:22:57 +01:00
Dave French
2be8eaa4db Proposed fix for 446, select notes in piano roll using timeline 2015-01-22 20:16:00 +00:00
Tres Finocchiaro
f6176921c6 Merge pull request #1672 from badosu/fix-add-steps-on-melody-patterns
Fix beat pattern actions on melodies
2015-01-22 14:27:06 -05:00
Amadeus Folego
8267ac6316 Fix beat pattern actions on melodies 2015-01-22 17:18:42 -02:00
Tres Finocchiaro
786e7dd389 Merge pull request #1671 from curlymorphic/i1634
fix for 1668 now checks if safe to load song
2015-01-22 13:52:56 -05:00
Dave French
3db3711dcf fix for 1668 now checks if save to load song 2015-01-22 18:31:09 +00:00
Lukas W
df9d495571 Some #include cleanups 2015-01-22 16:28:41 +01:00
Lukas W
ebd531e69f Merge pull request #1652 from curlymorphic/821
proposed fix 821 Range-select in Song Editor
2015-01-22 13:16:40 +01:00
Lukas W
4dd40e1755 Fix missed rename note->Note
Fixes #1464
Bug introduced in aaeb5216ad
2015-01-22 12:53:38 +01:00
Lukas W
9cc1a5931c Make -Werror optional 2015-01-22 12:39:41 +01:00
Lukas W
e63bd848d0 PianoRoll: Fix faulty rename
Fix a renaming mistake made in 1d07a91a83
2015-01-22 11:30:57 +01:00
Tres Finocchiaro
9b26c5bb68 Merge pull request #1668 from curlymorphic/i1634
Proposed fix 1643 Allow drag-and-drop of project files
2015-01-21 08:48:15 -05:00
Lukas W
d41d816b57 Merge pull request #1661 from teeberg/style
Work on codestyle and readability
2015-01-21 14:19:45 +01:00
Dave French
9460fdec9b Proposed fix 1643 Allow drag-and-drop of project files 2015-01-21 13:18:01 +00:00
Lukas W
d6ff1a7086 Fix BB Editor project load
Closes #1621
2015-01-21 13:33:57 +01:00
Dave French
1cf9300f72 821 changed to use sockets/ slots 2015-01-21 11:55:30 +00:00
Jonas Trappenberg
52ec4722fb Add explanation to acronym variable 2015-01-20 20:37:58 -08:00
Jonas Trappenberg
a74ff27d35 Remove usage of 'auto' 2015-01-20 20:37:32 -08:00
Jonas Trappenberg
deb3e45791 More code style fixes 2015-01-20 20:26:33 -08:00
Jonas Trappenberg
8c76af1806 Remove premature optimization in float comparison 2015-01-20 20:26:11 -08:00
Jonas Trappenberg
f148fc34b4 Don't access deleted memory 2015-01-20 20:24:18 -08:00
Jonas Trappenberg
7777fc7342 Remove unused variable 2015-01-20 19:44:23 -08:00
Jonas Trappenberg
71bab17233 Work on codestyle and readability 2015-01-19 19:54:06 -08:00
Alexandre
2834bd17f4 Coding conventions update 2015-01-20 00:00:58 -02:00
Alexandre Almeida
a34faeca71 Update ProjectVersion.cpp 2015-01-19 23:25:05 -02:00
Alexandre Almeida
2e7732a7f5 Update ProjectVersion.h 2015-01-19 23:20:54 -02:00
Alexandre Almeida
38799f80af Update Plugin.h 2015-01-19 23:19:18 -02:00
Alexandre Almeida
9e370ff121 Update Plugin.cpp 2015-01-19 23:19:18 -02:00
Alexandre Almeida
4d6d937cf2 Update Timeline.h 2015-01-19 23:18:30 -02:00
Alexandre Almeida
77ceda9385 Update Song.h 2015-01-19 23:16:41 -02:00
Alexandre Almeida
9e1a35e327 Update ProjectRenderer.cpp 2015-01-19 23:16:41 -02:00
Alexandre Almeida
92f9fd92ec Update Timeline.cpp 2015-01-19 23:16:41 -02:00
Alexandre Almeida
abe05af49a Update Mixer.cpp 2015-01-19 23:14:48 -02:00
Alexandre Almeida
21425e3477 Update Song.cpp 2015-01-19 23:14:48 -02:00
Alexandre Almeida
c398769020 Update coding conventions 2015-01-19 23:11:02 -02:00
Alexandre Almeida
118127a3bc Update coding conventions 2015-01-19 23:09:46 -02:00
Alexandre Almeida
d04076f44d Update coding conventions on Note.h 2015-01-19 23:08:19 -02:00
Alexandre Almeida
b0cf5ba289 Update coding conventions on Note.cpp 2015-01-19 22:59:15 -02:00
Tres Finocchiaro
c13d111bc2 Merge pull request #1657 from DanWin/songeditor
Fix SongEditorWindow resize when a project loads
2015-01-19 11:53:40 -05:00
Daniel Winzen
a3e5a65957 Fix SongEditorWindow resize when a project loads 2015-01-19 15:32:16 +01:00
Tres Finocchiaro
ee25db797d Merge pull request #1656 from curlymorphic/111649
Proposed fix for 1649 for stable-1.1
2015-01-19 09:15:19 -05:00
Dave French
1ba3088554 Proposed fix for 1649 for stable-1.1 2015-01-19 14:04:57 +00:00
Tres Finocchiaro
ce0b258d5e Merge pull request #1653 from teeberg/master
Format and reword README
2015-01-19 08:55:23 -05:00
Tres Finocchiaro
d9b81bc9e2 Merge pull request #1654 from curlymorphic/i818
Proposed fix 818 Merge file name and preset name. Remove double naming
2015-01-19 08:44:49 -05:00
Jonas Trappenberg
4e92243508 Update copyright year 2015-01-18 14:08:13 -08:00
Dave French
746ea39afb Proposed fix 818 Merge file name and preset name. Remove double naming 2015-01-18 21:39:09 +00:00
Jonas Trappenberg
a4536c43a5 Format and slightly reword READMEs 2015-01-18 12:48:03 -08:00
Jonas Trappenberg
018457340e Bump version number in README 2015-01-18 12:47:43 -08:00
Dave French
b3d943920c proposed fix 821 Range-select in Song Editor 2015-01-18 19:16:43 +00:00
Tres Finocchiaro
9f75aabf65 Merge pull request #1646 from DanWin/delete
Use delete[] instead of delete for sampleFrame
2015-01-16 15:16:39 -05:00
Daniel Winzen
9c8e2b195c Use delete[] instead of delete for sampleFrame
Fixes warning: 'delete' applied to a pointer-to-array type 'sampleFrame *' (aka 'sample_t (*)[2]') treated as delete[] in mac os build
2015-01-16 20:24:24 +01:00
Lukas W
2257a06422 Fix a segfault 2015-01-16 19:57:31 +01:00
Lukas W
4953a9da60 Merge pull request #1637 from LMMS/travis-osx
Travis OSX
2015-01-16 01:15:47 +01:00
Lukas W
f492a8ab0e Detect failed tests 2015-01-16 01:15:02 +01:00
Lukas W
59513f9a49 Fix that CMake version check again 2015-01-16 00:25:10 +01:00
Lukas W
b5019e53d1 Travis: Re-enable linux builds 2015-01-16 00:04:09 +01:00
Lukas W
85d7843c98 Tests: Fix CMake version check 2015-01-15 23:10:28 +01:00
Tres Finocchiaro
c5773c41b0 Merge pull request #1639 from DanWin/stable-1.1
Fix calcSlope1 was not declared errors
2015-01-15 16:59:24 -05:00
Lukas W
fb2df20095 Merge branch 'master' into travis-osx 2015-01-15 22:47:58 +01:00
Lukas W
7e43541fe5 Travis: Fix script path error 2015-01-15 22:34:51 +01:00
Lukas W
eea616f080 Travis: Disable linux builds (temporarily) 2015-01-15 22:26:04 +01:00
Lukas W
4c0705359a OSX fix try #2 2015-01-15 22:23:26 +01:00
Daniel Winzen
d8e552de80 Fix calcSlope1 was not declared errors 2015-01-15 22:15:04 +01:00
Lukas W
bd4a93c1d7 Travis: Outsource build scripts 2015-01-15 22:05:10 +01:00
Lukas W
d4d26a6138 OSX fix 2015-01-15 21:35:46 +01:00
Tres Finocchiaro
523e5d048b Bump version for stable-1.1 patch release 2015-01-15 15:32:55 -05:00
Lukas W
c7e3ab3d46 Don't use QList's initializer_list constructor (compat commit) 2015-01-15 21:24:23 +01:00
Lukas W
4cfba53f71 Travis update
Try removing that unnecessary linux job
2015-01-15 21:22:33 +01:00
Tres Finocchiaro
57876fead2 Merge pull request #1611 from curlymorphic/i760
Proposed fix 760  Improve search field
2015-01-15 15:03:43 -05:00
Lukas W
f15f8ce3df Travis: Fix brew 2015-01-15 20:51:15 +01:00
Lukas W
bb24f61042 Travis: Fix yml syntax errors 2015-01-15 20:44:56 +01:00
Lukas W
b862b34a9a Travis: Enable OSX 2015-01-15 20:38:53 +01:00
Lukas W
ebf68d57a9 ProjectVersion: Some refactoring 2015-01-15 17:27:58 +01:00
Lukas W
a18f86bde7 ProjectVersion: Clean up a bit, add a test 2015-01-15 17:27:58 +01:00
Lukas W
a52e4724cf Some small SongEditor fixes 2015-01-15 17:27:57 +01:00
Lukas W
b720ec5537 Merge pull request #1618 from teeberg/master
More minor code style cleanup
2015-01-15 17:20:22 +01:00
Vesa
89e8e328e6 Merge branch 'stable-1.1' 2015-01-15 17:18:03 +02:00
Vesa
e33645f9ab Fix monstro slopes 2015-01-15 17:17:33 +02:00
Vesa V
9cff69cb78 Merge pull request #1635 from diizy/master
Fix monstro slopes properly
2015-01-15 17:15:06 +02:00
Vesa
c0932bd75e Fix monstro slopes properly 2015-01-15 17:14:50 +02:00
Lukas W
7ac591fdfe Merge pull request #1626 from LMMS/cmake_tests
CMake: Change the way tests links lmms
2015-01-15 16:13:49 +01:00
Vesa V
663dcbf98f Merge pull request #1624 from dnl-music/patch-4
Update Monstro.h
2015-01-15 17:08:12 +02:00
Vesa V
fe73f0991f Merge pull request #1623 from dnl-music/patch-3
Update Monstro.cpp
2015-01-15 17:08:03 +02:00
Lukas W
b90ee93d0c Travis: Upgrade CMake from PPA 2015-01-15 16:03:52 +01:00
Lukas W
ff882e021e Disable tests for CMake <2.8.8 2015-01-15 15:57:50 +01:00
Jonas Trappenberg
7f38a51f9d Merge remote-tracking branch 'upstream/master' 2015-01-14 21:07:36 -08:00
Tres Finocchiaro
d6e98499d0 Merge pull request #1629 from tresf/master
Add CPU prioritization support for Windows
2015-01-14 22:31:42 -05:00
Raine M. Ekman
26a84837c2 Switch track imported from MIDI channel 10 to bank 128, patch 0 in SF2 player.
(aka. import drum tracks)
2015-01-14 22:01:42 +02:00
Tres Finocchiaro
d89b54d768 Add CPU prioritization support for Windows 2015-01-14 14:33:21 -05:00
Lukas W
030292cbad Merge pull request #1582 from tresf/master
ProjectVersion: Expose major/minor/release/build info
2015-01-14 20:26:43 +01:00
Lukas W
2f7820a6d9 CMake: Change the way tests links lmms 2015-01-14 19:54:48 +01:00
dnl-music
e3ebef08a9 Update Monstro.h 2015-01-14 17:09:38 +05:00
dnl-music
26592907e6 Update Monstro.cpp 2015-01-14 17:06:07 +05:00
Jonas Trappenberg
d27d43ac42 Merge remote-tracking branch 'upstream/master' 2015-01-13 21:36:41 -08:00
Jonas Trappenberg
0dcd293ce1 Undo some pointer declaration changes. 2015-01-13 21:33:51 -08:00
Lukas W
c5fbd3e643 Travis: Fix .travis.yml typo 2015-01-13 18:31:18 +01:00
Lukas W
37d89720c8 Travis: Disable tests on Windows 2015-01-13 18:19:10 +01:00
Lukas W
e3a29d0ad7 Fix Travis build 2015-01-13 18:04:13 +01:00
Tres Finocchiaro
697fc4dd0f Fix typo in comments 2015-01-13 11:50:11 -05:00
Tres Finocchiaro
17f32f344f Better switching of comparators, char[] constructor 2015-01-13 11:38:17 -05:00
Tres Finocchiaro
260694077d Misc ProjectVersion improvments 2015-01-13 11:35:46 -05:00
Lukas W
05d21e0b57 Travis: Run test binary 2015-01-13 17:34:17 +01:00
Lukas W
f640769ff0 SongEditor and BBEditor: Accept drops in toolbar 2015-01-13 17:29:19 +01:00
Locale updater
85fb0aca82 Update locales 2015-01-13 16:06:36 +01:00
Lukas W
300e6d8000 Merge commit 'ebad5296f55747d03c714a66de04245dbad85a35' 2015-01-13 16:02:59 +01:00
Lukas W
72c0620d1f Merge pull request #1612 from LMMS/tests
Add a testing framework
2015-01-13 15:40:21 +01:00
Lukas W
8e42b5ec01 Merge pull request #1616 from badosu/fix-cli-export-crashes
Fix export crashes adding gui checks
2015-01-13 10:32:17 +01:00
Jonas Trappenberg
293bb93173 Match code style of other declaration further down 2015-01-12 22:01:56 -08:00
Jonas Trappenberg
75cd1f4f38 More minor refactorings 2015-01-12 21:53:49 -08:00
Jonas Trappenberg
ddfc3b3ee3 Remove redundant switch breaks. 2015-01-12 20:33:03 -08:00
Jonas Trappenberg
4107572115 Put on one line what comfortably fits into 80 chars. 2015-01-12 20:29:58 -08:00
Vesa V
fd33c26696 Merge pull request #1617 from LMMS/stable-1.1
Stable 1.1
2015-01-13 06:22:39 +02:00
Tres Finocchiaro
377cf68ee7 Make QMenu::separator visible.
Fixes #1615
2015-01-12 23:13:11 -05:00
Amadeus Folego
f0b2d8b0af Fix export crashes adding gui checks 2015-01-13 01:51:27 -02:00
Tres Finocchiaro
6e899d3993 Merge pull request #1572 from badosu/assign-instrument-to-fx-channel
Add "Assign to FX Channel" context button to track
2015-01-12 22:02:31 -05:00
Amadeus Folego
2eb420cb92 Add "Assign to FX Channel" context button to track 2015-01-13 00:45:48 -02:00
Tres Finocchiaro
21f5bb0b93 Merge pull request #1525 from badosu/show-errors-on-cli
[WIP] Refactor errors notification system
2015-01-12 21:45:23 -05:00
Tres Finocchiaro
db2e7febf7 Merge pull request #1553 from leeavital/1429-pattern-switch
Implement 1429 -- move to next and previous pattern
2015-01-12 21:23:00 -05:00
Amadeus Folego
edebf5d7da Refactor loading song errors notification 2015-01-13 00:18:36 -02:00
Amadeus Folego
3dd1da4e25 Collect effects errors to show on summary window 2015-01-12 23:51:32 -02:00
Lee Avital
7da4efda0f Implement 1429 -- move to next and previous pattern 2015-01-12 20:28:13 -05:00
Lukas W
1459be1a2c Merge pull request #1613 from LMMS/cmake
Clean BuildPlugin.cmake
2015-01-13 01:28:42 +01:00
Lukas W
ce5398414c Clean BuildPlugin.cmake 2015-01-13 01:22:31 +01:00
Lukas W
cb10b5aabe Try fixing windows build 2015-01-13 01:13:14 +01:00
Lukas W
5641465a3a Add a testing framework 2015-01-12 23:59:14 +01:00
Lukas W
ebad5296f5 Fix cmake locale update 2015-01-12 23:38:27 +01:00
Lukas W
227a1c0e87 Rename Project menu to File, rearrange save actions
Closes #1608
2015-01-12 23:28:50 +01:00
Lukas W
a94ccb8515 Fix blank AutomationEditor on loading projects 2015-01-12 23:22:21 +01:00
Dave French
4206705ed2 Proposed fix 760 Improve search field 2015-01-12 22:10:15 +00:00
Lukas W
30bc86e2e7 Fix opening automation patterns per context menu 2015-01-12 22:45:47 +01:00
Lukas W
854f1d1132 Merge pull request #1609 from curlymorphic/i1502
proposed fix 1502 incorrect slash in windows
2015-01-12 20:23:32 +01:00
Vesa V
24f869c379 Merge pull request #1599 from curlymorphic/i1526
Proposed fix 1526 Watsyn shows wrong Osc
2015-01-12 21:20:40 +02:00
Vesa V
f40e92f31a Merge pull request #1598 from softrabbit/opulenz2015
Opulenz: small updates
2015-01-12 21:06:33 +02:00
Vesa V
1abb37529d Merge pull request #1601 from curlymorphic/i1492
Proposed fix 1492 Nescaline crash when playing very high note
2015-01-12 21:04:58 +02:00
Dave French
22f51eefb6 proposed fix 1502 incorrect slash in windows 2015-01-12 16:40:42 +00:00
Lukas W
3e0e5d36bf Merge pull request #1606 from DanWin/locale
Fix locale generation
2015-01-12 14:31:30 +01:00
Daniel Winzen
b90bacab6e Fix locale generation 2015-01-12 13:09:10 +01:00
Lukas W
58507c28ec Fix piano roll detuning redraw 2015-01-12 11:04:04 +01:00
Lukas W
ae0ff4c65b Merge pull request #1604 from teeberg/cmake
Generate manpage as part of a build
2015-01-12 10:42:11 +01:00
Tres Finocchiaro
4f03575786 Fix more typos 2015-01-12 01:14:31 -05:00
Tres Finocchiaro
8e5af67ec0 Fix typo in .cpp, remove unecessary changes 2015-01-12 01:00:02 -05:00
Tres Finocchiaro
300e44620a Remove address for CompareType 2015-01-12 00:38:17 -05:00
Tres Finocchiaro
a363e7a16a More comparitors 2015-01-12 00:22:50 -05:00
Jonas Trappenberg
7dd086cde7 Generate manpage as part of a build 2015-01-11 21:14:32 -08:00
Lukas W
a4b039e1c2 Merge pull request #1602 from LMMS/win_make_threaded
Travis Win: Multithreaded make
2015-01-12 00:53:59 +01:00
Lukas W
807c59d3b3 Travis: Simplify .travis.yml 2015-01-12 00:53:35 +01:00
Tres Finocchiaro
23ed8673c1 Merge pull request #1597 from curlymorphic/i1345
updated 1345 Exclude tracks from master pitch
2015-01-11 18:49:32 -05:00
Lukas W
95ee5d0b90 Travis Win: Multithreaded make 2015-01-12 00:46:36 +01:00
Lukas W
0d06ce7cdc Merge pull request #1497 from DanWin/language
Add choose language option
2015-01-12 00:15:32 +01:00
Lukas W
c7ecd9cbba Merge pull request #1596 from LMMS/cmake
CMake use explicit source file specifying
2015-01-11 23:58:15 +01:00
Lukas W
572a989e95 Bump CMake version to 2.8.7 2015-01-11 23:57:50 +01:00
Lukas W
38f544f9a0 Fix embedded resources 2015-01-11 22:59:27 +01:00
Dave French
49b3f36a57 1492 fixed type on line 313 2015-01-11 21:23:30 +00:00
Dave French
a1dce66ca8 Proposed fix 1492 Nescaline crash when playing very high note 2015-01-11 21:10:32 +00:00
Dave French
ffde891cfb Proposed fix 1526 Watsyn shows wrong Osc 2015-01-11 20:15:30 +00: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
Lukas W
f3b0c8091f Fix build again 2015-01-11 18:33:55 +01: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
Lukas W
9b25c5adbb Try to fix win build 2015-01-11 17:41:09 +01:00
Tres Finocchiaro
d0c8e7b307 Merge pull request #1593 from curlymorphic/i1345
Proposed fix for 1345 Exclude tracks from master pitch
2015-01-11 11:00:06 -05:00
Lukas W
ee3a99853b CMake use explicit source file specifying 2015-01-11 16:33:57 +01:00
Dave French
94ede26496 1345 redesigned Misc tab using GroupBox 2015-01-11 14:33:41 +00:00
Lukas W
384a48f121 Merge pull request #1426 from LMMS/ed_refac
Editor Refactoring
2015-01-11 13:28:32 +01:00
Lukas W
56055b36b0 Merge branch 'master' into ed_refac
Conflicts:
	src/gui/editors/PianoRoll.cpp
2015-01-11 13:25:55 +01:00
Lukas W
23dbe95e80 Stop on second space key press 2015-01-11 13:05:44 +01:00
Lukas W
a52626bb15 Merge pull request #1591 from DanWin/win_gigplayer
Enable GigPlayer Windows build
2015-01-11 12:41:43 +01:00
Lukas W
1a7cc5ecf8 Merge pull request #1594 from teeberg/master
Minor refactoring
2015-01-11 12:40:15 +01:00
Jonas Trappenberg
87e597510c Minor refactorings and codestyle cleanup. 2015-01-11 00:05:25 -08:00
Jonas Trappenberg
60f34788fb Remove unused variable 2015-01-10 23:52:57 -08: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
Dave French
83baea6605 1345 moved LedCheckBox to MISC tab 2015-01-10 19:05:40 +00:00
Dave French
af22d39612 Proposed fix for 1345 Exclude Tracks from master pitch 2015-01-10 17:11:17 +00:00
Daniel Winzen
1444902a2d Enable GigPlayer Windows build 2015-01-10 17:43:32 +01:00
Tres Finocchiaro
afa55cae89 Merge pull request #1557 from curlymorphic/i1352
Proposed fix for 1352 Mk2, move the loaded instrument to the parent thre...
2015-01-10 09:40:48 -05:00
Tres Finocchiaro
9ffbef6f6e Merge pull request #1558 from curlymorphic/i1522
Proposed fix for 1522 Noise at the end of Sample previews
2015-01-10 09:33:07 -05:00
Tres Finocchiaro
86c2673398 Merge pull request #1563 from DanWin/resize-cursor
Don't display resize cursor for non-resizable TCOs
2015-01-10 09:32:09 -05:00
Tres Finocchiaro
6e94cc9e5f Merge pull request #1570 from curlymorphic/i888
Proposed fix 888 Bar, Beat and Tick should follow dragged timeline
2015-01-10 09:25:15 -05:00
Tres Finocchiaro
ce689cfa6c Merge pull request #1590 from curlymorphic/i1211
update 1211 solo nolonger mutes master
2015-01-10 09:21:45 -05:00
Dave French
5178ecd3a2 update 1211 solo nolonger mutes master 2015-01-10 12:40:53 +00:00
Tres Finocchiaro
e61a0d14f0 Merge pull request #1505 from curlymorphic/i1150
Proposed fix for 1150 Preset Browser: division between factory and user ...
2015-01-09 21:30:45 -05:00
Tres Finocchiaro
5455457591 Merge pull request #1555 from softrabbit/bug1544
Lock SF2 player mutex around pitch-related calls
2015-01-09 21:28:08 -05:00
Tres Finocchiaro
fa3767e9d1 Merge pull request #1588 from Umcaruje/master
Update README
2015-01-09 19:00:47 -05:00
Umcaruje
1284b6e900 Update README 2015-01-10 00:57:48 +01:00
Tres Finocchiaro
25448d3f21 Add explanation for #1587 changes 2015-01-09 18:12:46 -05:00
Tres Finocchiaro
360d2db98a Merge pull request #1585 from DanWin/performance
Performance and other fixes
2015-01-09 18:07:00 -05:00
Tres Finocchiaro
c210df4752 Merge pull request #1587 from curlymorphic/i300
Proposed fix for issue 300, preview vst crashes
2015-01-09 17:49:10 -05:00
Dave French
180c02aedc Proposed fix for issue 300, preview vst crashes 2015-01-09 21:25:41 +00:00
Tres Finocchiaro
21c532adc0 Add internal support for major/minor/build comparator 2015-01-09 16:25:07 -05:00
Lukas W
d442b674b5 Merge pull request #1586 from curlymorphic/cppcheck
Eq fix incorrect memory allocation
2015-01-09 20:32:17 +01:00
Dave French
4ad1cd607b Eq fix incorrect memory allocation 2015-01-09 19:28:26 +00:00
Daniel Winzen
4a55e1c46a Performance and other fixes 2015-01-09 20:17:07 +01:00
Tres Finocchiaro
baa57fb662 Merge pull request #1583 from badosu/fix-windows-build
Fix exporting class for windows build
2015-01-09 07:16:00 -05:00
Amadeus Folego
d20e83e2f7 Fix exporting class for windows build 2015-01-09 04:27:18 -02:00
tresf
407fc18d82 Remove unused import 2015-01-09 00:12:19 -05:00
tresf
d192df081d Formatting cleanup 2015-01-09 00:05:13 -05:00
tresf
f0e7ea6fd1 Expose major, minor, release and build values parsed from a project version 2015-01-08 23:53:19 -05:00
Tres Finocchiaro
1b91b30658 Merge pull request #1578 from badosu/refactor-redundant-color-assignment
Refactor redundant pattern color assignment
2015-01-08 15:01:57 -05:00
Tres Finocchiaro
b9a0e0f391 Merge pull request #1580 from badosu/fix-error-collection
Fix error collection on Song instead of MainWindow
2015-01-08 14:58:02 -05:00
Amadeus Folego
fc9efc6f58 Fix error collection on Song instead of MainWindow 2015-01-08 17:47:39 -02:00
Tres Finocchiaro
4f44c71a9f Merge pull request #1579 from badosu/notify-non-existing-samples
Collect error for non existing samples
2015-01-08 14:33:06 -05:00
Amadeus Folego
d5c9b78178 Collect error for non existing samples 2015-01-08 16:13:15 -02:00
Amadeus Folego
1dbc44a7f0 Refactor redundant pattern color assignment
Instead of creating a new QColor for each condition just use the
`setRgb` method or fix the conditions order.
2015-01-08 14:37:10 -02:00
Tres Finocchiaro
86d7e24eb1 Merge pull request #1574 from curlymorphic/i1388
Proposed fix 1388 Remove auto-naming of copied blocks
2015-01-08 10:52:42 -05:00
Lukas W
7f2f9f2685 Merge branch 'master' into ed_refac 2015-01-08 10:49:09 +01:00
Raine M. Ekman
471cb04dc9 Removed #ifdefs around assert()s. 2015-01-08 10:28:29 +01:00
Raine M. Ekman
94a779f3c6 Add -DLMMS_DEBUG to CMAKE_CXX_FLAGS_DEBUG 2015-01-08 10:28:29 +01:00
Lukas W
b5da3bf1ee Mailmap entries 2015-01-08 10:28:29 +01:00
Raine M. Ekman
2954ea3b43 ...and prefer "debug.h" to a straight include of <assert.h> 2015-01-08 10:28:29 +01:00
Raine M. Ekman
78350045a2 Fix things that won't build if -DLMMS_DEBUG is in CXX_FLAGS. 2015-01-08 10:28:29 +01:00
Lukas W
a43a6bb3ba Travis: Make verbose output 2015-01-08 10:07:27 +01:00
Dave French
736c44ab8d 888 changed 48 to DefaultTicksPerTact/4 2015-01-08 08:37:07 +00:00
Dave French
7b3e4265b8 Proposed fix 1388 Remove auto-naming of copied blocks 2015-01-08 06:15:18 +00:00
Tres Finocchiaro
5bdc6a8818 Merge pull request #1573 from tresf/master
Seems to fix #1565.  Merging.  If you know a more elegant way to fix this, please do! 👍
2015-01-07 23:51:00 -05:00
tresf
db6f3e6e50 Fix nes array bounds error 2015-01-07 23:28:16 -05:00
Lukas W
b7aaeaa009 Merge pull request #1554 from Spekular/master
Removes unnecessary cleanObject() calls and commented out code in automation flipping
2015-01-08 01:14:18 +01:00
Alexandre Almeida
c799500f31 Update ProjectVersion.cpp 2015-01-07 21:50:57 -02:00
Alexandre Almeida
bd9cb12294 Update ProjectVersion.h 2015-01-07 21:50:26 -02:00
Alexandre Almeida
9199d3e8c3 Update Plugin.h 2015-01-07 21:46:02 -02:00
Alexandre Almeida
d0e0d9a632 Update Plugin.cpp 2015-01-07 21:44:48 -02:00
Alexandre Almeida
918eea1063 Update Timeline.h 2015-01-07 21:14:55 -02:00
Alexandre Almeida
35b954741b Update Song.h 2015-01-07 21:14:29 -02:00
Alexandre Almeida
4ae194cd8b Update ProjectRenderer.cpp 2015-01-07 21:13:27 -02:00
Alexandre Almeida
06518054b2 Update Timeline.cpp 2015-01-07 21:12:50 -02:00
Alexandre Almeida
6c49c88bfd Update Mixer.cpp 2015-01-07 21:12:17 -02:00
Alexandre Almeida
ffb16b80c9 Update Song.cpp 2015-01-07 21:11:42 -02:00
Tres Finocchiaro
181dad5e3c Merge pull request #1568 from badosu/master
Fix muted track not highlighted on selection
2015-01-07 16:24:38 -05:00
Dave French
c0fc56eaea Proposed fix 888 Bar, Beat and Tick should follow dragged timeline 2015-01-07 20:08:18 +00:00
Amadeus Folego
421c071ab0 Fix muted track not highlighted on selection
Fix #1239
2015-01-07 15:55:58 -02:00
Vesa V
13bdfb4b13 Merge pull request #1551 from curlymorphic/eq
EQ Removed DBvModel
2015-01-07 15:27:01 +02:00
Lukas W
e0dbfa696e Remove Engine's has_gui option 2015-01-07 00:22:40 +01:00
Lukas W
748cccd266 Merge branch 'gui_application' into ed_refac
Conflicts:
	src/core/Song.cpp
	src/gui/MainWindow.cpp
2015-01-07 00:03:32 +01:00
Lukas W
0c4833ca4a Adjust automation editor flip implementation 2015-01-06 23:40:14 +01:00
Lukas W
13357e57c4 Change default build type
* Remove hard-coded compile flags (-O2 and -g)
* Make Release the default build type

Fixes #1552
2015-01-06 23:07:28 +01:00
Lukas W
23e0e0fb8e Merge branch 'master' into ed_refac
Conflicts:
	include/AutomationEditor.h
	include/SongEditor.h
	plugins/delay/delaycontrols.cpp
	plugins/delay/delaycontrolsdialog.cpp
	src/gui/editors/AutomationEditor.cpp
	src/gui/editors/BBEditor.cpp
	src/gui/editors/PianoRoll.cpp
2015-01-06 23:05:13 +01:00
Daniel Winzen
01fac0d342 Add default behaviour to switch 2015-01-06 18:50:51 +01:00
Daniel Winzen
7440794597 Don't display resize cursor for non-resizable TCOs 2015-01-06 18:18:16 +01:00
Lukas W
068066929f Merge commit 'b5538c7da818cbcdde5ff1c885ce4eee5b626f3b' into ed_refac
Conflicts:
	plugins/audio_file_processor/audio_file_processor.cpp
	plugins/delay/delaycontrols.cpp
	plugins/delay/delaycontrolsdialog.cpp
	plugins/delay/delayeffect.cpp
	src/gui/MainWindow.cpp
2015-01-06 16:33:41 +01:00
Lukas W
1706279ed1 Merge commit '25ab7260f5cc57075360c976826e13434ade058c' into ed_refac 2015-01-06 16:13:16 +01:00
Lukas W
834be948ee Merge commit 'f7741f184f83e6b9e2f081d39efffb2c499962f6' into ed_refac 2015-01-06 16:11:39 +01:00
Tres Finocchiaro
e2e8537b1d Merge pull request #1546 from DanWin/disbackup
Make saving of .bak files configurable
2015-01-06 10:02:14 -05:00
Lukas W
0df3998f95 Move some gui initialization to GuiApplication's constructor 2015-01-06 15:59:15 +01:00
Tres Finocchiaro
814aba053e Merge pull request #1560 from curlymorphic/i1350
Proposed fix for 1350 Minimized Song_Editor & BB_Editor tracks should no...
2015-01-05 21:04:21 -05:00
Alexandre Almeida
65ff9171de Update coding conventions 2015-01-05 22:11:23 -02:00
Alexandre Almeida
ba20c99a51 Update coding conventions 2015-01-05 22:10:09 -02:00
Dave French
f57d98fb0b Proposed fix for 1350 Minimized Song_Editor & BB_Editor tracks should not allow graphics to be cut off. 2015-01-06 00:09:08 +00:00
Alexandre Almeida
87f6dd0a03 Update coding conventions on Note.h 2015-01-05 20:45:46 -02:00
Alexandre Almeida
ce972c5e50 Update coding conventions on Note.cpp 2015-01-05 20:45:07 -02:00
Dave French
3c44012def Proposed fix for 1522 Noise at the end of Sample previews 2015-01-05 21:41:48 +00:00
Dave French
7588f235ee Proposed fix for 1352 Mk2, move the loaded instrument to the parent thread 2015-01-05 18:39:44 +00:00
Raine M. Ekman
2818bd736a Looks like locking the mutex in SF2 player is needed around a few more
operations than before, at least while importing MIDI. Should fix #1544
2015-01-05 17:40:14 +02:00
Spekular
6e1e73b41f Removes unnecessary cleanObject() calls and commented out code 2015-01-05 16:07:25 +01:00
Dave French
8b83dad22c EQ Removed DBvModel 2015-01-04 17:19:32 +00:00
Vesa V
e5c4df372e Merge pull request #1550 from LMMS/revert-1519-i1352
Revert "Proposed fix for 1352  Ifreeze when adding instruments or moving...
2015-01-04 18:49:15 +02:00
Vesa V
1bb6fa072f Revert "Proposed fix for 1352 Ifreeze when adding instruments or moving mixer tracks" 2015-01-04 18:48:12 +02:00
Vesa V
9a98adaaed Merge pull request #1549 from diizy/master
Fix preview crash caused by earlier commit
2015-01-04 18:47:53 +02:00
Vesa
0cbb506f50 Fix preview crash caused by earlier commit 2015-01-04 18:47:05 +02:00
Vesa V
a9de1160eb Merge pull request #1528 from curlymorphic/eq
Eq 1443 updates
2015-01-04 18:14:33 +02:00
Vesa V
b874d3fa2e Merge pull request #1545 from DanWin/channel
Add "Remove unused channels" option to FX-Mixer
2015-01-04 18:08:04 +02:00
Vesa
5ae9adc9c2 Merge branch 'stable-1.1' 2015-01-04 17:33:20 +02:00
Daniel Winzen
5e4752e041 Adjust coding style 2015-01-04 16:33:19 +01:00
Vesa V
d01c8f2ece Merge pull request #1495 from DanWin/window
Hide windows instead of closing them when clicking on close
2015-01-04 17:20:03 +02:00
Vesa V
469cb98be0 Merge pull request #1506 from curlymorphic/i1255
Proposed fix for 1255 Segment/clip not showing whole last note in Song E...
2015-01-04 17:17:25 +02:00
Vesa V
146577d34b Merge pull request #1516 from grejppi/master-mute
attempt to fix #1512
2015-01-04 17:15:17 +02:00
Vesa V
5fdc452476 Merge pull request #1542 from DanWin/export
Fix export for some locales
2015-01-04 17:05:14 +02:00
Tres Finocchiaro
545853cf06 Merge pull request #1548 from DanWin/scroll
Get correct value for scrollbar width
2015-01-04 08:41:43 -05:00
Daniel Winzen
c11a15d0d0 Get correct value for scrollbar width 2015-01-04 12:38:44 +01:00
Daniel Winzen
74bd58162e Make saving of .bak files configurable 2015-01-03 13:53:49 +01:00
Daniel Winzen
e6e8f28fc8 Don't count channels reveiving input from another channel as unused 2015-01-03 06:52:05 +01:00
Daniel Winzen
4043868992 Add "Remove unused channels" option to FX-Mixer
This makes it easier to delete all FX-Channels that are not in use.
2015-01-02 21:40:49 +01:00
Tres Finocchiaro
ebb2f75458 Merge pull request #1543 from rgwan/master
locale: Fixed some ugly translation in Chinese locale
2015-01-02 14:08:11 -05:00
rgwan
7789d64632 locale: Fixed some ugly translation in Chinese locale 2015-01-03 03:00:13 +08:00
Daniel Winzen
44f72b0f13 Added const 2015-01-02 14:21:39 +01:00
Daniel Winzen
93b6888394 Fix export for some locales 2015-01-02 13:08:11 +01:00
Daniel Winzen
25a3bc63ee Fallback to system default or English, if language unset 2015-01-01 00:06:32 +01:00
Dave French
420bc1b7ed Eq Gain Faders using dBv scale 2014-12-31 12:27:40 +00:00
Dave French
f67eaaced7 EQ changed gain faders to use dB 2014-12-31 00:14:44 +00:00
Vesa V
22c31008d4 Merge pull request #1529 from curlymorphic/i1527
Proposed fix 1527 Channel note on indicator doesn't fire when a very high note is played.
2014-12-30 16:27:39 +02:00
Dave French
1e25b91410 1527 removed socket slot for indicator activation 2014-12-30 14:07:28 +00:00
Dave French
6d4d958ec6 Proposed fix 1527 Not all Played Notes shows the indicator on the InstrumentTrackView 2014-12-29 22:48:54 +00:00
Dave French
22a603c9fd Eq Peak filters now use bandwidth instead of resonance 2014-12-29 21:45:54 +00:00
Dave French
89b3f8f98c Eq FloatText in widget display frequency 2014-12-29 19:46:12 +00:00
Dave French
76eba6456e EQ Seperate in out analysing toggle 2014-12-29 18:11:16 +00:00
Vesa V
6045c2c2bc Merge pull request #1519 from curlymorphic/i1352
Proposed fix for 1352  Ifreeze when adding instruments or moving mixer tracks
2014-12-29 12:39:48 +02:00
Tres Finocchiaro
f03702d4f4 Merge pull request #1513 from DanWin/cmd
Make command line project export working again
2014-12-28 22:08:37 -05:00
Tres Finocchiaro
23ec0e71c1 Merge pull request #1503 from badosu/master
Fix PianoRoll changing editMode outside window
2014-12-28 19:33:40 -05:00
Dave French
c203a5de3b Eq remove oversample and antialysing filter 2014-12-28 17:07:40 +00:00
Dave French
a485e9127e EQ increase shelfing filters minimum resonace. to make stable 2014-12-28 16:00:04 +00:00
Lukas W
b27a5f8d90 Merge pull request #1517 from grejppi/master-selectbox
clear brush for selection box
2014-12-27 23:36:05 +02:00
Lukas W
589ebdb8f3 Merge pull request #1498 from DanWin/translate
Generate translation files automatically
2014-12-27 22:27:45 +02:00
Dave French
d68f8d7302 Proposed fix for 1352 Instrument crash on loading 2014-12-27 17:47:31 +00:00
Hannu Haahti
1b688dc80b clear brush for selection box
(also get rid of some whitespace)
2014-12-27 13:30:01 +02:00
Hannu Haahti
bbbe515e58 attempt to fix #1512 2014-12-27 11:46:19 +02:00
Daniel Winzen
011dee2564 Fix some memory access issues 2014-12-26 19:06:03 +01:00
Daniel Winzen
21bd57b629 Make command line project export working again 2014-12-26 19:04:50 +01:00
Dave French
a42d8a04ea fix for 1255 added 1 pixel margin between border and top note 2014-12-26 17:57:05 +00:00
Vesa V
1cd8c0e2c4 Merge pull request #1510 from LMMS/stable-1.1
Stable 1.1
2014-12-26 19:40:35 +02:00
Vesa V
e503875a28 Merge pull request #1469 from DanWin/mem
Fix various memory leaks
2014-12-26 19:39:43 +02:00
Vesa V
22a2bf97ab Merge pull request #1509 from diizy/master
Some improvements in lmms_math
2014-12-26 19:35:13 +02:00
Vesa
44a2455429 Correct type in macros 2014-12-26 19:33:48 +02:00
Vesa
1a5c085aa2 Faster dbv/linear conversions, separate safe functions for when the extra safety (0/inf handling) is needed 2014-12-26 19:31:16 +02:00
Vesa V
86bb9daa63 Merge pull request #1507 from badosu/pianoroll-rouded-rect
Use rounded rectangles to draw notes
2014-12-26 19:25:49 +02:00
Amadeus Folego
34d28ebe63 Use rounded rectangles to draw notes 2014-12-26 15:07:19 -02:00
Dave French
8c2ebf287d Proposed fix for 1255 Segment/clip not showing whole last note in Song Editor 2014-12-26 12:33:00 +00:00
Dave French
cee287116b Proposed fix for 1150 Preset Browser: division between factory and user files fails if factory has folders 2014-12-26 11:00:26 +00:00
Amadeus Folego
2e1bfb47a5 Fix PianoRoll changing editMode outside window
If an user Ctrl+Clicked on a track, e.g. copying/muting it, but the
focus was still on the PianoRoll window the mode would change

Fix #1501
2014-12-26 07:14:27 -02:00
Daniel Winzen
df79601348 Generate translation files automatically
Instead of updating the binary translation files manually, update them automatically.
Now we only need to sync the *.ts files.
2014-12-25 21:55:38 +01:00
Daniel Winzen
41b756776f Add choose language option 2014-12-25 20:54:18 +01:00
Daniel Winzen
5bf095b6b9 Revert Zynaddsubfx changes 2014-12-24 20:08:14 +01:00
Vesa V
9e4db1417a Merge pull request #1486 from Spekular/master
Adds automation flipping.
2014-12-24 20:34:35 +02:00
Vesa
56ba799404 Use input signal to measure levels for autoquit in FX that can potentially mute the signal 2014-12-24 20:07:04 +02:00
Vesa
a34c6a1c58 Merge branch 'stable-1.1'
Conflicts:
	plugins/Amplifier/Amplifier.cpp
	plugins/audio_file_processor/audio_file_processor.cpp
2014-12-24 19:59:12 +02:00
Vesa
62df768896 Autoquit improvement: On effect plugins where it's possible for the FX to silence the output, measure the levels of the input signal for autoquit
This so that the effect won't be turned off when there's input that the effect is muting (eg. when you use the Amplifier to temporarily mute a signal)
2014-12-24 19:53:05 +02:00
Daniel Winzen
c353f81d59 Hide windows instead of closing them when clicking on close 2014-12-24 17:11:36 +01:00
Tres Finocchiaro
58d864a630 Merge pull request #1491 from curlymorphic/i929n2
Proposed fix for 929 AFP wave display
2014-12-24 08:59:27 -05:00
Tres Finocchiaro
3a126333f8 Merge pull request #1494 from DanWin/window
Fix size reset for maximized windows
2014-12-24 08:53:05 -05:00
Daniel Winzen
2921af35f5 Fix size reset for maximized windows 2014-12-24 10:59:22 +01:00
Vesa V
7c376a610b Merge pull request #1493 from curlymorphic/eq
EQ Fixes for 1443
2014-12-24 11:28:07 +02:00
Dave French
b5538c7da8 used newWaveView in constructor, to remove redundancy 2014-12-23 22:26:36 +00:00
Dave French
7527976804 EQ Fixes
analyser now disabled when not in view.
band vu meters now disable when analyser is disabled.
display nema changed to Equalizer.
set sample rate before frequency on LinkWitzRiley filters.
Grouped the setting of filterparameters into one function, and calc coefficent
 once if needed.
Made suitable function inline.
in and out vu meters now using both stereo channels
2014-12-23 21:57:20 +00:00
Spekular
ddbf9cd264 Fixes flipping visiblesegment horizontally 2014-12-23 19:29:51 +01:00
Spekular
bfeced7140 Code Cleanup 2014-12-23 19:29:51 +01:00
Spekular
eb0b0f5277 Adds automation flipping. 2014-12-23 19:29:50 +01:00
Tres Finocchiaro
122b845105 Bump version for stable-1.1 2014-12-23 12:48:41 -05:00
Vesa V
89d31629c8 Merge pull request #1470 from ranft/bugfix-brush-initialization
Bugfix brush initialization
2014-12-23 19:26:16 +02:00
Vesa V
28db09aca6 Merge pull request #1482 from curlymorphic/renderLoop
Render between loop markers
2014-12-23 19:20:55 +02:00
Dave French
76a1b8c2b6 Proposed fix for 929 AFP wave display 2014-12-23 16:29:04 +00:00
Dave
ee39cbe94d Merge pull request #16 from LMMS/stable-1.1
Stable 1.1
2014-12-23 16:15:28 +00:00
Tres Finocchiaro
e24b8d6a47 Merge pull request #1490 from curlymorphic/i1408
Proposed fix for #1408 Window Size in windowed and full screen modes.
2014-12-23 08:31:21 -05:00
Dave French
1945ed43be Proposed fox for 1408 Window size in window and full-screen modes 2014-12-23 12:57:19 +00:00
Vesa V
c8eb336ab2 Merge pull request #1489 from diizy/master
Remove moc
2014-12-23 13:24:30 +02:00
Vesa
a3ec5b7600 Remove moc 2014-12-23 13:23:58 +02:00
Vesa
a203ee4650 Merge branch 'stable-1.1'
Conflicts:
	plugins/delay/delaycontrols.cpp
	plugins/delay/delaycontrolsdialog.cpp
	plugins/delay/delayeffect.cpp
2014-12-23 13:21:03 +02:00
Dave
68835335d0 Merge pull request #13 from LMMS/master
From master
2014-12-23 10:15:48 +00:00
Vesa V
d261a5af15 Merge pull request #1487 from curlymorphic/flanger
Flanger correct calculation,
2014-12-23 11:39:24 +02:00
Dave French
dd27dc688a updated as per 1474 2014-12-23 09:33:13 +00:00
Vesa V
af66303fc4 Merge pull request #1485 from curlymorphic/delay-1.1
Delay effect   Clear buffer on load, correct use of interpolation, reformat
2014-12-23 11:31:41 +02:00
Dave French
6aae0e6897 change as of issue 1474 2014-12-23 09:17:16 +00:00
Dave French
eca59c30eb Flanger change Filenames to CamelCase 2014-12-22 22:52:47 +00:00
Dave French
7f47fc955d Flanger reformat, convert spaces to tabs 2014-12-22 22:25:55 +00:00
Dave French
b982fa4b4c Flanger correct interpolate calculation 2014-12-22 22:22:51 +00:00
Dave
27b822f30d Merge pull request #12 from LMMS/master
from master
2014-12-22 21:34:46 +00:00
Tres Finocchiaro
ef7d3ff328 Merge pull request #1479 from DanWin/title
reset window title every time we change the state of a subwindow to show...
2014-12-22 16:17:32 -05:00
Dave French
8529f6a0a4 Added Export between loop markers as a checkbox, to the Export Project dialog 2014-12-22 20:55:09 +00:00
Dave French
a0d07db8f1 Delay Clear buffer on load, correct use of interpolation, reformat 2014-12-22 19:29:41 +00:00
Tres Finocchiaro
a7ebc70f07 Merge pull request #1443 from curlymorphic/eq
Eq plugin
2014-12-22 08:16:50 -05:00
Vesa V
c7e3dc716c Merge pull request #1483 from diizy/master
Delay.h fix
2014-12-22 14:45:33 +02:00
Vesa
13b1220d16 Delay.h fix 2014-12-22 14:45:17 +02:00
Vesa V
afa30c300a Merge pull request #1462 from diizy/crossovereq
Changes to interpolation (explicitly use fma more), some new DSP buildin...
2014-12-22 14:41:53 +02:00
Vesa
6a89615d33 Merge branch 'stable-1.1' 2014-12-22 14:36:54 +02:00
Daniel Winzen
36d02b9887 Fix memory leaks in Audio setup tab in the settings dialog 2014-12-22 11:42:35 +01:00
Lukas W
25ab7260f5 Merge pull request #1461 from DanWin/stable-1.1
German translation update
2014-12-22 11:53:45 +02:00
Tres Finocchiaro
dd053b99d2 Fix whitespace 2014-12-22 00:31:50 -05:00
Tres Finocchiaro
3886cd43a9 Merge pull request #1478 from curlymorphic/i856
Proposed fix for 856 Recursive VST Effect Enhancement Request
2014-12-22 00:27:57 -05:00
Dave French
5fc1b36f6f 856 reformat 2014-12-22 05:17:53 +00:00
Dave French
5172acb1e3 Proposed fix for 1049 VST knobs won't remember settings 2014-12-21 23:34:08 -05:00
Tres Finocchiaro
c4b43061bd Merge pull request #1480 from curlymorphic/i1049
Proposed fix for 1049 VST knobs won't remember settings
2014-12-21 23:20:22 -05:00
Tres Finocchiaro
6d8472433c Merge pull request #1481 from curlymorphic/i1080
Proposed fix 1080 Panning Sample tracks
2014-12-21 23:16:20 -05:00
Dave French
a4359ec584 1080 save and load pan settings 2014-12-21 23:36:42 +00:00
Dave French
8f12d483a7 Render between loop markers 2014-12-21 19:59:29 +00:00
Dave
0bbc963ee2 Merge pull request #11 from LMMS/master
from LMMS:master
2014-12-21 16:43:45 +00:00
Dave French
188f3714d7 Proposed fix 1080 Panning Sample tracks 2014-12-21 16:10:43 +00:00
Dave French
cc74273f60 Proposed fix for 1049 VST knobs won't remember settings 2014-12-21 14:19:48 +00:00
Dave French
f54540dea7 856 now loads absolute and relative paths correctly 2014-12-21 10:51:11 +00:00
Daniel Winzen
2ee8f1445c reset window title every time we change the state of a subwindow to show the correct title
When maximizing a subwindow it remembers the title the mainwindow had before and resets it after unmaximizing/closing.
As the title might have changed due to a project switch, we have to reset the title again as it would else show an incorrect/old title.
2014-12-21 10:18:55 +01:00
Dave French
0d44dc6ac5 Proposed fix for 856 Recursive VST Effect Enhancement Request 2014-12-21 03:38:11 +00:00
Tres Finocchiaro
635e92ab50 Merge pull request #1476 from curlymorphic/i1194
Proposed fix for Render from beginning (not play head)
2014-12-20 22:19:00 -05:00
Dave French
5f5d405552 Render from start of track. 2014-12-20 22:33:29 +00:00
Daniel Winzen
e0f7ea57ac Check if object already exists instead of deleting and recreating it 2014-12-20 16:30:28 +01:00
Daniel Winzen
0a732fbc04 Fix mismatched free() / delete / delete [] in RmsHelper.h 2014-12-20 09:07:21 +01:00
Daniel Winzen
b59a50133a Fix memory leaks in ZynAddSubFX 2014-12-19 21:35:43 +01:00
Daniel Winzen
ddbb180800 Fix memory leaks in LADSPA plugins 2014-12-19 21:33:49 +01:00
Rüdiger Ranft
91124495eb Merge upstream changes. 2014-12-19 17:21:16 +01:00
Rüdiger Ranft
7cc080efbd Added the initialization of the active mixer brush. 2014-12-19 17:13:29 +01:00
Rüdiger Ranft
8d6a17a047 Merge Brush-Bugfix 2014-12-19 17:00:09 +01:00
Rüdiger Ranft
17df759e59 Fixed the brush initialization.
The brushes are now initialized as solid colored, in order to fix drawing
problems.
2014-12-19 16:54:37 +01:00
Vesa
c0415ce3b3 Changes to interpolation (explicitly use fma more), some new DSP building blocks
New file: Delay.h - contains some simple delay effects for use in DSP - perhaps for designing reverbs or similar. All are in double precision because why not.
2014-12-18 22:36:39 +02:00
Daniel Winzen
f7741f184f German translation update 2014-12-18 20:58:12 +01:00
Vesa V
3ad6d6ca7a Merge pull request #1459 from DanWin/stable-1.1
More memory fixes
2014-12-18 04:02:59 +02:00
Lukas W
1ee93409d1 Move Engine' GUI code to new GuiApplication class 2014-12-17 23:25:55 +01:00
Daniel Winzen
0891c53582 More memory fixes
This fixes memory leaks in ZASF and Controller. It also sets an uninitalised variable in audio_file_processor.
2014-12-17 21:01:26 +01:00
Tres Finocchiaro
3c5d940561 Fix ifdef typo leftover from clang fix 2014-12-17 14:20:58 -05:00
tresf
448b783e8b Fix compilation on Xcode 4.6 2014-12-17 13:43:14 -05:00
Tres Finocchiaro
85da25fe2a better naming consistency with windows builds
i.e. `LMMS 1.1.0.dmg` will now be `lmms-1.1.0-mac10.7.dmg`
2014-12-17 12:59:36 -05:00
Dave
0084dc461f Merge pull request #10 from curlymorphic/eqFix
Eq fix
2014-12-17 13:07:34 +00:00
Dave French
fae0c8c74e EQ 2014-12-17 12:44:22 +00:00
Dave French
01c8cbcde0 EQ remove EXPORT from EqFader 2014-12-17 12:28:03 +00:00
Lukas W
eb79701acc Merge branch 'master' into ed_refac 2014-12-17 11:35:42 +01:00
Lukas W
657fb06c49 More Automation refactoring 2014-12-17 11:34:57 +01:00
Tres Finocchiaro
db551b9f43 Merge pull request #1457 from curlymorphic/fader
Added EXPORT macro to Fader, to allow use in plugins on windows
2014-12-17 00:20:00 -05:00
Dave French
bac22e9607 EQ tidy up, 2014-12-17 02:57:49 +00:00
Dave French
43ad2d52bd added EXPORT to Fader to allow use in plugins in windows builds 2014-12-17 01:32:10 +00:00
Dave
6df00fffdf Merge pull request #8 from LMMS/master
merge from master
2014-12-17 01:17:15 +00:00
Dave French
2a448e9242 EQ cleaning up memory management 2014-12-16 23:02:45 +00:00
Vesa V
28ec70decd Merge pull request #1456 from diizy/crossovereq
LR filter -> direct form 2
2014-12-17 00:59:10 +02:00
Vesa V
fa86a2cdac Merge pull request #1455 from LMMS/stable-1.1
Stable 1.1
2014-12-17 00:49:14 +02:00
Vesa V
de56c989e9 Merge pull request #1454 from DanWin/stable-1.1
Remove RackView widget before deleting the ChannelView (Rebase for stable-1.1 of #1448 )
2014-12-17 00:48:47 +02:00
Vesa
8402bcb525 LR filter -> direct form 2 2014-12-16 23:49:39 +02:00
Daniel Winzen
d21f0a7114 Remove RackView widget before deleting the ChannelView
Fixes the following two errors I spotted using valgrind:
When deleting a channel;
==936== Invalid read of size 8
==936==    at 0x56FA1D: FxMixerView::deleteChannel(int) (FxMixerView.cpp:374)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==    by 0x5216BF1: QAction::triggered(bool) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==936==    by 0x52185C2: QAction::activate(QAction::ActionEvent) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)
==936==  Address 0x14d51b90 is 32 bytes inside a block of size 40 free'd
==936==    at 0x4C2C2E0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==936==    by 0x56F9ED: FxMixerView::deleteChannel(int) (FxMixerView.cpp:370)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==    by 0x5216BF1: QAction::triggered(bool) (in /usr/lib/x86_64-linux-gnu/libQtGui.so.4.8.6)

When loading a new project after adding some channels:
==936== Invalid read of size 8
==936==    at 0x570785: FxMixerView::refreshDisplay() (FxMixerView.cpp:202)
==936==    by 0x4B590E: Song::clearProject() (Song.cpp:740)
==936==    by 0x4B7885: Song::createNewProject() (Song.cpp:817)
==936==    by 0x60E9A79: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6)
==936==  Address 0x56a12ab0 is 32 bytes inside a block of size 40 free'd
==936==    at 0x4C2C2E0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==936==    by 0x57075B: FxMixerView::refreshDisplay() (FxMixerView.cpp:201)
==936==    by 0x4B590E: Song::clearProject() (Song.cpp:740)
==936==    by 0x4B7885: Song::createNewProject() (Song.cpp:817)
2014-12-16 22:46:37 +01: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
347b5a121d Update papu_instrument.cpp 2014-12-16 23:02:00 +02:00
Vesa V
da6fd6ef5c Update opl2instrument.cpp 2014-12-16 23:00:14 +02:00
Tres Finocchiaro
ed0dc6770d Merge pull request #1453 from falkTX/stable-1.1
Fix for updated Carla API, and fix build on old linux systems
2014-12-16 15:49:01 -05:00
falkTX
f2ab783db9 Fix build when using old linux systems 2014-12-16 19:40:31 +00:00
falkTX
91063ab7d2 Update Carla plugin to latest API 2014-12-16 19:40:02 +00:00
Dave French
6fb8df486f EQ changed file and directory names to CamelCase 2014-12-16 14:25:56 +00:00
Tres Finocchiaro
5e8e52ff27 Merge pull request #1447 from curlymorphic/1411
Proposed fix for #1411 Crash on LB302 preset preview .
2014-12-16 08:53:59 -05:00
Dave French
f357bc7291 Proposed fix for #1411 Crash on LB302 preset preview . 2014-12-15 15:54:05 +00:00
Dave
b00906983b Merge pull request #3 from LMMS/master
Merge from master, for updated LR4 filters
2014-12-15 12:50:49 +00:00
Dave French
47e6f3b614 EQ Change colors used, to be more accessable. 2014-12-15 12:38:51 +00:00
Vesa V
24f8bd4c20 Merge pull request #1445 from diizy/crossovereq
Crossover EQ initial commit, also fix bugs in LR4 filter and Fader
2014-12-15 10:45:00 +02:00
Vesa
0789bae53a Crossover EQ initial commit, also fix bugs in LR4 filter and Fader 2014-12-15 10:41:43 +02:00
Dave French
b595d432d9 EQ Fixed so builds on win, Changed display colors, made res lines thinner 2014-12-14 21:13:20 +00:00
Dave French
c5c9b59167 EQ
changed makefile to allow windows build on travis
2014-12-14 00:09:30 +00:00
Dave French
7536584386 EQ
remove unused files
2014-12-13 22:03:15 +00:00
Dave French
f64ca3ff45 EQ
Clean up of code
2014-12-13 21:54:50 +00:00
Dave French
77fd245c48 EQ updates to UI, Initial Ui complete 2014-12-13 20:35:50 +00:00
Dave
0f6a2e5732 Merge pull request #2 from curlymorphic/master
rebase from master
2014-12-13 16:10:20 +00:00
Dave
a774e5dabe Merge pull request #1 from LMMS/master
rebase from master
2014-12-13 16:08:12 +00:00
Dave French
08821a7290 EQ update
filters before downsampling changed
ignore wet dry knob
scale lines on widget
filter type switch loading correctly
analyser code all move to one location
implment analyze button
remove redundant code
analyser display omprovments
2014-12-13 15:55:28 +00:00
Vesa V
7b61c54f3a Merge pull request #1441 from diizy/master
More fixes (Bitcrush, Linkwitz-Riley filter)
2014-12-13 16:29:52 +02:00
Vesa
4266de7830 More fixes (Bitcrush, Linkwitz-Riley filter) 2014-12-13 16:28:44 +02:00
Vesa V
0da847f943 Merge pull request #1440 from LMMS/stable-1.1
Update FxMixer.cpp
2014-12-13 13:06:28 +02:00
Vesa V
46d9b594e8 Merge pull request #1439 from diizy/master
Bitcrush: small improvement, also add some stuff to math & constants
2014-12-13 11:48:56 +02:00
Vesa
1ad5ef22d7 Bitcrush: small improvement, also add some stuff to math & constants
Constants:
- calculate all in long double so as to improve the accuracy of our pre-calculated constants
- add some possibly useful constants: reciprocal of pi, square of pi, and reciprocal of e
Math:
- new math convenience functions: absMax, absMin
2014-12-13 11:26:15 +02:00
Lukas W
11cb8b5d68 Automation Editor tension fix 2014-12-12 10:51:15 +01:00
dave
a7831a7cca Draw grid lines on widget 2014-12-11 16:52:06 +00:00
Lukas W
787788870b Introduce ActionGroup subclass 2014-12-11 12:56:51 +01:00
Lukas W
02869b13dd Editors: Some cleanups 2014-12-11 11:24:26 +01:00
Lukas W
9b6612c396 PianoRoll rename fix 2014-12-11 10:38:04 +01:00
Vesa V
57691c9c3f Merge pull request #1434 from curlymorphic/fader
updated Fader to use setHintText
2014-12-11 08:20:43 +02:00
Lukas W
ebbec2f270 Editor: Add edit mode support 2014-12-11 02:39:04 +01:00
Lukas W
1d07a91a83 PianoRoll: Coding style updates 2014-12-11 01:49:59 +01:00
dave
9c9e9db164 spectrum analysis implemented 2014-12-11 00:08:42 +00:00
dave
4710360ce5 updated Fader to use setHintText
enables setting of the display text.
2014-12-10 23:47:07 +00:00
dave
1595c2728e re initial, no working fft, faders, checkboxes 2014-12-10 08:44:25 +00:00
Vesa V
d20b1e9bb6 Merge pull request #1431 from diizy/master
Fader: add a way to disable the x100 display conversion so the fader wid...
2014-12-10 06:58:17 +02:00
Vesa
170f60c8e0 Fader: add a way to disable the x100 display conversion so the fader widget can be used with arbitrary values
Also it can now be used with alternate pixmaps
2014-12-10 06:55:59 +02:00
Vesa
150b16bd15 Merge branch 'stable-1.1'
Conflicts:
	include/lmms_math.h
	plugins/delay/delaycontrolsdialog.cpp
	src/core/FxMixer.cpp
	src/gui/FxMixerView.cpp
2014-12-10 01:38:17 +02:00
Vesa V
ebc519c296 Merge pull request #1430 from diizy/master
Fix master channel peak display
2014-12-10 01:30:31 +02:00
Vesa
fbc6de857a Fix master channel peak display
Fix #1427
2014-12-10 01:28:14 +02:00
Lukas W
b39225ac6a Merge pull request #1422 from curlymorphic/removewhitespace
Remove white space from Knob::setHintText calls
2014-12-09 02:32:16 +02:00
dave
2295545ac6 Remove whitespace from setHintText, change spaces to tabs 2014-12-08 23:48:44 +00:00
Lukas W
7c508f7900 Merge master into ed_refac 2014-12-09 00:20:28 +01:00
Lukas W
b25765ddb8 Move Editors to src/gui/editors subdirectory 2014-12-08 23:43:31 +01:00
Lukas W
51f59293ce Rename Timeline to TimeLineWidget 2014-12-08 23:38:38 +01:00
Lukas W
409e8f2700 AutomationEditor style updates 2014-12-08 23:36:02 +01:00
Lukas W
47cbc9e7f9 AutomationEditor + PianoRoll: Move Copy/Paste shortcuts 2014-12-08 22:58:11 +01:00
Lukas W
b661e0871b PianoRoll: Slot renames 2014-12-08 22:33:37 +01:00
Lukas W
968e581844 Editors: Don't use ToolButton 2014-12-08 22:25:52 +01:00
Lukas W
32da8cb677 Editor: Don't use ToolButton 2014-12-08 21:22:52 +01:00
Lukas W
ed8e30b4ee Small const fix 2014-12-08 20:19:51 +01:00
Lukas W
f131fbd877 Editors: Add to workspace in MainWindow class, not in themselves 2014-12-08 19:22:52 +01:00
Lukas W
7a21d699ea SongEditor: Some renames 2014-12-08 18:46:10 +01:00
Lukas W
11898a5162 Move Timeline.cpp to gui directory 2014-12-08 18:25:10 +01:00
Lukas W
d029c8513a BBEditor: Use Editor superclass 2014-12-08 18:23:01 +01:00
Lukas W
4b275693b6 ToolBar css fixes 2014-12-08 17:12:38 +01:00
Lukas W
e9d841dec1 Migrate Timeline::addToolButtons to QToolBar 2014-12-08 16:53:31 +01:00
Lukas W
ec9158cda9 PianoRoll: Use Editor superclass 2014-12-08 16:48:10 +01:00
Lukas W
d8db8948a8 Editor: Don't delete on close 2014-12-08 14:47:58 +01:00
dave
c997da29db missed a couple of + " ", all sored now 2014-12-08 11:02:41 +00:00
dave
4993eba3c1 Remove unused and unnessary +" " in all knob.setHintText calls 2014-12-08 10:57:21 +00:00
Vesa V
77f2b56221 Merge pull request #1420 from diizy/master
Fix FX mixer race condition
2014-12-07 22:31:09 +02:00
Vesa
dbc404cca1 Fix FX mixer race condition 2014-12-07 22:29:23 +02:00
Vesa V
567f6de349 Merge pull request #1419 from diizy/master
Remove distortion from sv filters
2014-12-07 21:11:45 +02:00
Vesa
e7b7cf54bb Remove distortion from sv filters 2014-12-07 21:11:11 +02:00
Lukas W
86f2c866b6 Move play, record and stop signals to superclass 2014-12-07 18:50:40 +01:00
Lukas W
3e9cc61042 SongEditor: Use Editor superclass 2014-12-07 17:37:22 +01:00
Lukas W
02006f9855 Use Editor superclass in AutomationEditor
Split AutomationEditor -> AutomationEditor + AutomationEditorWindow
2014-12-07 12:48:49 +01:00
Lukas W
c6ee614012 Clean up ToolButton class 2014-12-07 11:53:32 +01:00
Lukas W
44b52ebd99 Add Editor superclass
Provides a toolbar with play, record and stop buttons.
2014-12-07 11:53:20 +01:00
Vesa V
6b7ff58886 Merge pull request #1417 from diizy/bitcrush
Bitcrush effect plugin
2014-12-07 00:37:53 +02:00
Vesa V
68f5ccce64 Update lmms_math.h
oops, extra f
2014-12-07 00:12:19 +02:00
Vesa
f742854642 Bitcrush effect plugin 2014-12-07 00:07:30 +02:00
Dave
10ca77b31c Merge pull request #1 from LMMS/master
Rebase from original
2014-12-06 21:22:19 +00:00
Vesa V
fd6e49c906 Merge pull request #1406 from csimons/unbind-keys
Removing focus from child windows upon hiding them.
2014-12-06 11:46:06 +02:00
Vesa V
0a839f8309 Merge pull request #1414 from csimons/dialog-titles
Adopt "Title Case" for dialog titles and menu text.
2014-12-06 11:42:20 +02:00
Christopher L. Simons
ca973b9369 Upon toggling off a window, now attempting to focus SongEditor, then any other visible editors, or finally the parent window if all editors are hidden. 2014-12-06 03:46:41 -05:00
Christopher L. Simons
38b3279cf0 Setting menu titles in Title Case. 2014-12-05 20:40:22 -05:00
Christopher L. Simons
4ec1920b79 Setting dialog titles in Title Case. 2014-12-05 20:05:37 -05:00
Christopher L. Simons
5675b1a373 Removing focus from hidden windows upon hiding them. 2014-12-04 23:39:53 -05:00
Tres Finocchiaro
ee1b9ba7bc Merge pull request #1403 from csimons/vim-comments
Remove personal vim-config comments from source files.
2014-12-04 19:12:21 -05:00
Christopher L. Simons
63b353e07c Removed vim-config comment from SongEditor.cpp. 2014-12-04 16:03:45 -05:00
Christopher L. Simons
2425366b58 Removed vim-config comment from ExportProjectDialog.cpp. 2014-12-04 16:03:35 -05:00
Christopher L. Simons
809cad1b62 Removed vim-config comment from main.cpp. 2014-12-04 16:03:21 -05:00
Christopher L. Simons
3b2316e242 Removed vim-config comment from SampleBuffer.cpp. 2014-12-04 16:03:12 -05:00
Vesa V
e61476df04 Merge pull request #1400 from diizy/master
Transposed form of Linkwitz-Riley
2014-12-04 20:45:57 +02:00
Vesa
dcd0e81d86 Transposed form of Linkwitz-Riley 2014-12-04 20:43:37 +02:00
Vesa V
2b7df9d259 Merge pull request #1399 from diizy/master
Added 4th-order Linkwitz-Riley filter object to BasicFilters.h
2014-12-04 18:49:33 +02:00
Vesa
79bbe72055 Added 4th-order Linkwitz-Riley filter object to BasicFilters.h 2014-12-04 18:48:58 +02:00
Lukas W
d17b6c5328 LmmsStyle: Remove legacy code 2014-12-04 17:16:50 +01:00
Vesa V
31c7e36b72 Merge pull request #1386 from csimons/cleanup-null-pointer-deallocation-warnings
Cleaning up null-pointer-deallocation warnings.
2014-12-03 06:30:18 +02:00
Christopher L. Simons
b1414eba23 Cleaning up null-pointer-deallocation warnings. 2014-12-02 18:07:56 -05:00
Vesa V
1d929d6ce7 Merge pull request #1377 from diizy/multitap
Fix time
2014-12-01 09:47:25 +02:00
Vesa
4f62be89ed Fix time 2014-12-01 09:33:54 +02:00
Vesa V
e660f479b9 Merge pull request #1355 from curlymorphic/flanger
Flanger
2014-11-30 17:18:02 +02:00
Vesa V
0c69872067 Merge pull request #1375 from diizy/multitap
Multitap, filters, updates
2014-11-30 17:07:48 +02:00
Vesa
a9d0ba11d6 Multitap, filters, updates 2014-11-30 17:06:43 +02:00
Vesa
2a78769078 Merge branch 'stable-1.1' 2014-11-30 15:08:14 +02:00
Vesa V
d907aa1cba Merge pull request #1372 from diizy/multitap
Separate BiQuad, OnePole filters as their own classes in BasicFilters.h
2014-11-30 14:35:24 +02:00
Vesa
be04040ae8 Separate BiQuad, OnePole filters as their own classes in BasicFilters.h
Might do the same for other filter types, but these two are kind of "basic building blocks" for many effects so it makes most sense for them
2014-11-30 14:33:04 +02:00
Vesa V
5352293813 Update lmms_math.h
forgot inline
2014-11-30 02:26:10 +02:00
Vesa V
42ae62d757 Update lmms_math.h
fix fastSqrt
2014-11-30 02:22:23 +02:00
Vesa V
5e6482e17b Update lmms_math.h
better sqrt
2014-11-30 00:42:35 +02:00
Vesa V
1421631f26 Update lmms_math.h
add fast sqrt method
2014-11-29 23:22:39 +02:00
Vesa V
64d90066d9 Merge pull request #1370 from curlymorphic/issue1242
Fix for issue 1242 Buffer size frame rate should not cause a delay/latency at the start of rendered audio file.
2014-11-29 23:08:40 +02:00
dave
550d310a49 issue 1242
Skips first empty period,

  Engine::mixer()->nextBuffer(); is called in ProjectRenderer::run()
2014-11-29 20:44:34 +00:00
Vesa V
599046cc0f Merge pull request #1363 from diizy/multitap
Improve gfx
2014-11-28 08:18:53 +02:00
Vesa
920064fef9 Improve gfx 2014-11-28 08:18:16 +02:00
Vesa V
6324c18ec2 Merge pull request #1362 from diizy/multitap
Multitap Echo Delay
2014-11-28 03:59:12 +02:00
Vesa
13543bbf53 multitap.. 2014-11-28 03:56:46 +02:00
Vesa
7410174c8b Multitap 2014-11-28 03:19:21 +02:00
Vesa
13393900d2 Multitap initial 2014-11-28 00:35:14 +02:00
Vesa V
fb349ea386 Merge pull request #1361 from diizy/master
Fixed missed rename
2014-11-28 00:34:39 +02:00
Vesa
eaf4d80206 Fixed missed rename 2014-11-28 00:33:56 +02:00
dave
59641a43a3 Using fast_rand, FAST_MAX_RAND
Stopped accessing value() inside process loop
2014-11-27 19:30:40 +00:00
Vesa
06e5250628 Merge branch 'master' of github.com:LMMS/lmms 2014-11-27 21:16:04 +02:00
Vesa
cc4cf1c233 Pick ringbuffer updates from 2.0 2014-11-27 21:15:26 +02:00
dave
94047beffe Remove old code 2014-11-26 21:08:26 +00:00
dave
5b8514af73 Made lfo ammount control absolute 2014-11-26 21:04:42 +00:00
dave
bc8896b4ef inital commit, with new lmms class names 2014-11-26 19:59:57 +00:00
Lukas W
ad1e495557 Reflect renames in style.css 2014-11-26 13:54:26 +01:00
Lukas W
90b7afc136 Remove unused class TransformableAutoModel
Also remove .svnignore (I've always wanted to do this!)
And a file I accidentally committed
2014-11-26 13:37:52 +01:00
Vesa
ccf095a857 Merge branch 'stable-1.1'
Conflicts:
	plugins/delay/delaycontrolsdialog.cpp
	plugins/delay/delayeffect.cpp
2014-11-26 14:10:00 +02:00
Vesa V
bdbedaddb9 Merge pull request #1353 from LMMS/rename
Rename old style classes and files [wip]
2014-11-26 13:59:45 +02:00
Lukas W
5f4cdac802 Merge branch 'master' into rename
Conflicts:
	src/core/Song.cpp
	src/gui/LfoControllerDialog.cpp
	src/tracks/InstrumentTrack.cpp
2014-11-26 11:45:55 +01:00
Lukas W
3f172c5a4c Rename tranformable_auto_model to TransformableAutoModel
I think this class isn't even used, probably safe to remove?
2014-11-26 11:33:01 +01:00
Lukas W
497c792871 Rename tabButton/tab_button 2014-11-26 11:03:35 +01:00
Lukas W
d57b51142d Rename basicFilters/basic_filters.h 2014-11-26 10:59:35 +01:00
Lukas W
6d4a6ed9cd Rename bbTrack, trackContentObject and friends 2014-11-26 10:53:47 +01:00
Lukas W
95798da9d0 Rename a lot of classes
* aboutDialog -> AboutDialog
* bbEditor -> BBEditor
* exportProjectDialog -> ExportProjectDialog
* setupDialog -> SetupDialog
* stringPairDrag -> StringPairDrag
2014-11-26 10:39:02 +01:00
Lukas W
7d4f179b4b Rename a lot of files
* about_dialog -> AboutDialog
* bb_editor -> BBEditor
* export_project_dialog -> ExportProjectDialog
* setup_dialog -> SetupDialog
* string_pair_drag -> StringPairDrag
2014-11-26 10:27:25 +01:00
Lukas W
1bbf7455a4 Rename a lot… 2014-11-26 10:09:49 +01:00
Lukas W
5b77abd9a5 Rename fixes 2014-11-26 01:46:12 +01:00
Lukas W
35d880a4ce Rename caption_menu to CaptionMenu 2014-11-26 01:26:38 +01:00
Lukas W
58ec27ef75 Rename automatable_slider to AutomatableSlider 2014-11-26 01:23:04 +01:00
Lukas W
c33bef346a Rename automatable_button to AutomatableButton 2014-11-26 01:21:42 +01:00
Lukas W
ac95123d41 Rename timeLine to Timeline 2014-11-26 01:18:07 +01:00
Lukas W
fec779ff70 Rename project_version to ProjectVersion 2014-11-26 01:16:26 +01:00
Lukas W
aaeb5216ad Rename note to Note 2014-11-26 01:14:52 +01:00
Lukas W
e045f1dd19 Rename fixes 2014-11-26 01:12:57 +01:00
Lukas W
178eadeb35 Rename ladspa_manager to LadspaManager 2014-11-26 01:12:22 +01:00
Lukas W
5b306ea845 Rename ladspa_2_lmms to Ladspa2LMMS 2014-11-26 00:52:25 +01:00
Lukas W
968909c07c Rename engine to Engine 2014-11-26 00:49:55 +01:00
Lukas W
84d9215880 Rename drumsynth to DrumSynth 2014-11-26 00:47:55 +01:00
Lukas W
c2360f593c Rename bb_track_container to BBTrackContainer 2014-11-26 00:46:49 +01:00
Lukas W
7d0e3945e5 Rename song to Song 2014-11-26 00:44:41 +01:00
Vesa
ed11ccbf50 Fix conflict 2014-11-25 21:29:00 +02:00
Vesa
eea784ce71 Merge branch 'master' of github.com:LMMS/lmms 2014-11-25 21:24:21 +02:00
Vesa
33665a2848 Merge branch 'stable-1.1'
Conflicts:
	include/Effect.h
	include/Plugin.h
2014-11-25 21:23:57 +02:00
Vesa V
435c64cc70 Merge pull request #1285 from grindhold/issue_55
Issue 55
2014-11-25 21:20:21 +02:00
Lukas W
14eb54d53e Piano Roll: Don't switch to select mode when pressing Ctrl+A
Or don't act like we did. Fixes #431
2014-11-25 20:18:35 +01:00
Lukas W
ed2cd2dda5 Instrument view: Restrict mouse wheel tab switching
Only switch the view's tab when the mouse pointer is hovering over the tabs. Closes #712.
2014-11-25 18:42:41 +01:00
Lukas W
d318cbb1e7 Move track.h -> Track.h, track.cpp -> Track.cpp 2014-11-25 17:10:49 +01:00
Lukas W
9dfb1385cd Rename track class to Track 2014-11-25 17:03:39 +01:00
Lukas W
5d258cedf2 When removing a track, remove its solo state
Fixes #1103
2014-11-25 16:47:11 +01:00
Vesa V
79f71a932d Merge pull request #1349 from LMMS/stable-1.1
Stable 1.1
2014-11-25 13:17:46 +02:00
Lukas W
e935cb046e Fix header guards
Closes #177
2014-11-25 11:25:30 +01:00
Vesa V
334a567620 Merge pull request #1234 from floft/master
GIG Player Plugin
2014-11-25 07:03:12 +02:00
Lukas W
f231465e05 Rename plugin_browser to PluginBrowser 2014-11-25 01:10:59 +01:00
Lukas W
3a206071b1 Fix merge conflicts 2014-11-25 01:07:39 +01:00
Lukas W
02cbc89f0f Merge branch 'stable-1.1' of git@github.com:LMMS/lmms.git
Conflicts:
	src/gui/MainWindow.cpp
	src/gui/plugin_browser.cpp
2014-11-25 01:01:47 +01:00
Garrett
205056621c Fixed release samples never being deleted
I removed code in a previous commit that deleted ended samples since
that sometimes caused issues when the samples had loop points. However,
removing the code caused issues with the release samples. Thus, now it
removes ended samples only if they are release samples. Otherwise, the
keyup event and ADSR handle ending the note.
2014-11-23 14:24:51 -08:00
Garrett
366e799791 More What's This messages 2014-11-23 10:31:18 -08:00
grindhold
61a380a2d4 renamed method logError to collectErrorForUI 2014-11-21 19:02:27 +01:00
Lukas W
9e245f7ca0 PianoRoll arrow key behaviour tweaks
* Ctrl + Left/Right moves selected notes by one bar
  (Old behaviour was to move the playnote)
  Closes #811
* Shift + Up/Down moves selected nodes by one semitone
  (Old behaviour was to ignore the Shift key and move the viewport)
  Closes #810
2014-11-21 14:42:11 +01:00
Vesa
af34230346 Merge branch 'stable-1.1'
Conflicts:
	data/locale/zh.ts
2014-11-21 14:06:12 +02:00
Lukas W
1b2966dc37 CMakeLists.txt indentation 2014-11-21 11:48:40 +01:00
Lukas W
b3e30392f7 Remove some legacy code for Qt<4.4 2014-11-21 11:48:40 +01:00
grindhold
f954b07958 rudimentary errormessage for missing sf2-plugins 2014-11-20 22:27:19 +01:00
Vesa
00cb2b1b67 Sync 2014-11-20 18:58:56 +02:00
grindhold
69bf4b4a24 implemented proper behaviour for VST plugins 2014-11-20 01:47:13 +01:00
Tres Finocchiaro
e9db4f7152 Merge pull request #1330 from grindhold/issue_1328
Merged anyway. :)  Thanks again @grindhold.
2014-11-19 14:31:29 -05:00
grindhold
4509bdcec6 adjusted height of setup dialog 2014-11-19 16:52:24 +01:00
Garrett
76e182e586 Release only one note on keyup
Previously if you release a C4 then all C4 notes would be released. Now
it stores the pointer to the plugin data which is unique for each key
press and determines which to release based on the matching pointers.
2014-11-18 09:02:50 -08:00
Garrett
3f641c2c55 Make it work with MemoryManager 2014-11-18 08:30:31 -08:00
Garrett
702e2a1ee3 Added loop support and fixed fine tunings
Now it'll honor the loop regions specified in the file and it'll
properly use the fine tuning for the samples if specified. Also,
modified the exponential decay code again since it was glitching at the
end of some notes for some reason.
2014-11-18 08:05:28 -08:00
Garrett
71b6814729 Change pitch of notes if PitchTrack is set
Now if a Gig file provides a few samples per octave, it'll change the
pitch of the sample specified for a note instead of just assuming it is
the right pitch.

Also, fixed issue where if attack length was zero the note would never
sound.
2014-11-18 08:05:28 -08:00
Garrett
2c0b1ef4b0 Use stack array for buffer instead of gig::buffer_t 2014-11-18 08:05:28 -08:00
Garrett
8693623758 Fixed resampling glitches when deleting notes
Moving the code to detect the sample rates of the currently used samples
after the code deleting notes seemed to fix these glitches. Also, fixed a
few ADSR issues that could have resulted in clipping in the attack or
glitching after the release.
2014-11-18 08:05:27 -08:00
Garrett
a251391249 Always use linear interpolation for resampling 2014-11-18 08:05:27 -08:00
Garrett
4e8508b8a3 Exponential decay for release instead of linear
It now sounds much more like the release in Linux Sampler.
2014-11-18 08:05:27 -08:00
Garrett
822a3c52bb Convert 24-bit data if on big endian system
This is needed since libgig returns 24-bit data in a little endian.
Note: untested as I don't have a big endian system.
2014-11-18 08:05:27 -08:00
Garrett
c0ad77dfca Stack buffers instead of allocating on the heap 2014-11-18 08:05:27 -08:00
Garrett
d1bf19ef4a Don't use "note" as a variable name 2014-11-18 08:05:27 -08:00
Garrett
d0a821947a Fixed resampling issues
When providing extra frames, libsamplerate stores the extras internally
and outputs them in the next period. But, when it has enough internally
to output a whole period, it just outputs the internal buffer while not
using any more input frames. Now I provide some extra frames, check to
see how many frames we used actually used, and update the sample
positions and ADSR accordingly.
2014-11-18 08:05:27 -08:00
Garrett
a679e4e938 Fixed detuned resampling
Apparently the most noticeable detuning issues were caused by rounding
error by integer division.
2014-11-18 08:05:27 -08:00
Garrett
07032260e8 configManager to ConfigManager rename 2014-11-18 08:05:27 -08:00
Garrett
3aaa7ac6c4 Coding style fixes 2014-11-18 08:05:27 -08:00
Garrett
5a3b8d3da1 Restructured into GigNotes which contain GigSamples
Now notes are added/removed by locking only a note mutex when pressing
or releasing a note. Then, while processing we actually find and play
the samples using libgig.
2014-11-18 08:05:27 -08:00
Garrett
74ded6b7ef Switched from std::list to QList 2014-11-18 08:05:26 -08:00
Garrett
0ae048b7a4 Added libgig-dev to Travis build 2014-11-18 08:05:26 -08:00
Garrett
473fda505a Removed unused images, replaced logo and background
They aren't all that great, but at least now it doesn't say that it's a
soundfont player.
2014-11-18 08:05:26 -08:00
Garrett
95726eafed Better ADSR support, fixed some segfaults
Now it supports a simple envelope using attack, decay1, sustain, and
release from the GIG file. I couldn't figure out what amplitude it
should go to after decay2 (if set), so currently that is unused.

It would segfault if you had notes being played and then switched the
instrument since the samples no longer exited. Now it'll delete all
notes when you switch GIG files.
2014-11-18 08:05:26 -08:00
Garrett
641be31d66 No more reference counts for GIG file instances
Since libgig can't really be used in a multithreaded way unless it was
somewhat rewritten, just use a separate instance of the file for each
new GIG file regardless of if we already have one open in the current
file. Since it's fast now, you can easily have quite a few very large
GIG files open and still have low latency.

Also removed C++11 requirement since I no longer need a move
constructor.
2014-11-18 08:05:26 -08:00
Garrett
96194bcee2 Stream instead of loading all into memory
Now, when you press a note, it won't have to load the entire sample into
memory before playing the note. This means that now you can play many
more notes without it glitching. Frequently, the entire note sample
isn't played, so before there was a lot of wasted processing time
converting the sample into float and doing sample rate conversions if
needed.

Also, perform sample rate conversion on the final rendered-out version
of all the combined notes for a period. This drastically decreases
processing time.

Note: currently having more than one instance causes glitching
2014-11-18 08:05:26 -08:00
Garrett
337cc833dd Multiple references load samples from one instance without segfault
Now it doesn't appear to segfault when multiple references to the same
instance try accessing samples at the same time. In libgig it said I
just have to create another decompression buffer for each thread. This
doesn't quite make the whole addNotes function thread safe since I still
hear missing notes. But, it's getting closer.
2014-11-18 08:05:26 -08:00
Garrett
261b436f08 Fixed second instance no name
Previously if you created a second instance of a certain GIG file, it
would set the name to an empty string since it didn't create a new
instance, only increased a reference count. Though, it still seg faults
eventually when the reference count is greater than one.
2014-11-18 08:05:26 -08:00
Garrett
85998a7b78 Rebased on master, minor changes 2014-11-18 08:05:26 -08:00
Garrett
d9b4511321 Mutex for note output, delete note after fade out
Hopefully the separate mutex for playing the samples reduces the
glitching. Deleting notes after fading out instead of after the entire
sample finished playing (with many zeros after the fade out) will reduce
the number of notes playing at the same time which should allow for more
actually-heard notes to be played.

Also, moved delete note code from release function into the rendering
the notes to the output function. This seemed to fix notes occasionally
not being released.
2014-11-18 08:05:26 -08:00
Garrett
5b7eb30756 Use release time as linear fade out time
This makes it sound better than before, so that pianos fade out like
expected and synths abruptly stop as intended. It's not the fully
implemented ADSR of the format, but it's better.
2014-11-18 08:05:26 -08:00
Garrett
f544caf18b Key changing dimension, 24-bit samples, locking
Support for 24-bit samples. It just so happens that the only GIG file I
have that is 24-bit also has the key changing dimension set, so I
implemented that so I could compare the output sound with that of Linux
Sampler. It still sounds different, brighter in LMMS. Not sure if that
has to do with gain, ADSR, or incorrect 24-bit decoding. I'm guessing
ADSR.

There were many crashing issues when playing notes when changing
patches/instruments. More locking, less crashing. However, this also
means that it is quite slow when playing a lot of notes with large
samples and converting sample rates. Linux Sampler amazingly can handle
36 or so keys being pressed at once whereas LMMS nowhere near that many
at the moment.
2014-11-18 08:05:26 -08:00
Garrett
cc59313ad9 Release samples, move constructors, attenuation
An initial implementation of playing release samples on key up. It seems
a bit messy at the moment. Wrote a move constructor since there's quite
a bit of passing around the gigNote class. Use attenuation so that notes
set their gain properly based on the information in the GIG file,
quite noticeable on some release samples.

Note that to support move constructors I enabled building the plugin
with the C++11 standard.
2014-11-18 08:05:25 -08:00
Garrett
a18061bdab GIG Player now uses correct velocity and changes sample rate properly
Fixed crashes when loading invalid file, but this required exceptions
since libgig throws exceptions, hence the changes to CMakeLists.txt.

If the sample rate is changed (e.g. on exporting at 48k when the samples
are at 44.1k), when playing the note convert each note individually to
the correct sample rate instead of converting the output from the notes
to the correct sample rate.

Save the instrument so we don't have to search the entire GIG file every
time we play a note. This should make it work better on computers that
don't have tons of RAM.

Currently there is a 0.5 second fade out time when the note is released.
I still have to implement the release-triggered samples.
2014-11-18 08:05:25 -08:00
Garrett
d4adf8cc31 Initial version of the GIG Player
It currently loads 16-bit mono and stereo GIG files. It plays the whole
note (no attack/delay/release), doesn't resample when exporting as a
different sample rate, and it doesn't do anything different based on
velocity.
2014-11-18 08:05:25 -08:00
Vesa V
dec3185d88 Merge pull request #1088 from diizy/memmgr
LMMS Memory Manager
2014-11-18 14:00:29 +02:00
Vesa
815a70a682 Sync 2014-11-18 13:58:41 +02:00
Vesa
ba05b7523d More peak controller changes:
Add treshold knob to peak controller
This causes the peak controller to react only when the measured peaks are above the set treshold
Might be useful for finetuning your sidechains
2014-11-18 13:58:41 +02:00
Vesa
b441bdae15 Freeverb3: make it work properly on all samplerates 2014-11-18 13:58:41 +02:00
Vesa
f207613d5f Some attention on peak controller 2014-11-18 13:58:40 +02:00
Vesa
8a596b0898 Sanitize output of all effects when exporting 2014-11-18 13:58:40 +02:00
Vesa
50bfed7180 Fix Carla in memmgr branch 2014-11-18 13:58:40 +02:00
Vesa
f25da35c24 Sanitize all channel outputs when exporting 2014-11-18 13:58:40 +02:00
Vesa
dc4bfdc60d Various fixes and precautions
Samplebuffer: reload all samples when samplerate changes. This is because of the way LMMS uses samples: we always resample all samples t$
LadspaEffect: some safeguards for the non-inplacebroken plugins which use the same buffer for input and output. Theoretically, if some p$
FxMixer: fix effect processing in multichannel-chains
2014-11-18 13:58:40 +02:00
Vesa
9fe55161a8 Remove base64.h again (was re-added accidentally at merge resolution) 2014-11-18 13:58:40 +02:00
Tobias Doerffel
68b5a21d14 Initialize BufferManager from within Mixer
Avoid crashes caused by worker threads accessing the buffer manager
before it is initialized. Therefore initialize it from within the
Mixer constructor which has the side effect that it gets initialized
in console-only rendering mode as well.
2014-11-18 13:58:40 +02:00
Vesa
7bc97f5d5b Fixes 2014-11-18 13:58:39 +02:00
Vesa
9a3d3cb306 Fix windows compiling 2014-11-18 13:58:39 +02:00
Vesa
1864dcfaa1 Fix bugs 2014-11-18 13:58:39 +02:00
Vesa
1deb80acc3 Finish audioport rehaul, get vol/pan knobs working again, also some bugfixes
We're now doing the vol/pan stuff in audioport, since this way we avoid the pointless repetition of doing it in the playhandles
2014-11-18 13:58:39 +02: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
Vesa
311d33d648 Implement BufferManager
Also, apply things learned while writing BufferManager to the similar NotePlayHandleManager
2014-11-18 13:58:38 +02:00
Vesa
af60402078 Make it possible to use sample-exact controls in LADSPA plugins
I don't think we currently have any that would support this functionality, but in case someone has a LADSPA plugin that has audiorate control ports, this allows them to be used with the new sample-exact models
Again... not strictly related to memory management, but since I was in that part of the codebase already...
2014-11-18 13:58:38 +02:00
Vesa
daa5f6c26d Use memory management in LADSPA effects
Also optimize non-inplacebroken plugins by using the same buffer for input/output
2014-11-18 13:58:38 +02:00
Vesa
f3ed39a9fe Fix weird issue with remotevstplugin 2014-11-18 13:58:38 +02:00
Vesa
3d9a7fbf75 remove tr.whitespace 2014-11-18 13:58:37 +02:00
Vesa
a8211873b5 Fix arpeggio to work better with the new way to handle note offsets
Ok, not really related to memory management, but was something that needed doing and it's easier to test things when things work properly
2014-11-18 13:58:37 +02:00
Vesa
3a9e9cc075 Use ReadWriteLock for the pools container instead of Mutex 2014-11-18 13:58:37 +02:00
Vesa
8fb8c683f9 Changing and fixing some stuff
- QHash is better to use than QMap in MemoryManager: faster lookups, able to reserve memory in advance
- Also: reserve memory in advance for the QVector and QHash, so we don't get needles allocs for them
- No need to do cleanup for the nph manager, as it uses the generic manager for allocs, and that already gets cleaned up
2014-11-18 13:58:37 +02:00
Vesa
42e67d27a1 Add dedicated manager for noteplayhandles
This caches and reuses nph's independently of the generic memory manager.
2014-11-18 13:58:37 +02:00
Vesa
5e4308507b More fixes 2014-11-18 13:58:37 +02:00
Vesa
9972cb3d4d Fixes 2014-11-18 13:58:37 +02:00
Vesa
75770b4d2e Fix 64 bit, increase mm usage 2014-11-18 13:58:36 +02:00
Vesa
9c25be1bde LMMS Memory Manager 2014-11-18 13:58:36 +02:00
Vesa
6f963159df Merge branch 'stable-1.1'
Conflicts:
	data/locale/zh.ts
2014-11-18 10:52:40 +02:00
Vesa
e6938994cd Merge branch 'stable-1.1' 2014-11-18 09:22:25 +02:00
Vesa
dfb89c8c92 Merge branch 'stable-1.1'
Conflicts:
	data/locale/de.qm
	data/locale/de.ts
	src/gui/FxMixerView.cpp
2014-11-17 13:25:45 +02:00
Vesa
cd509b707b Merge branch 'stable-1.1'
Conflicts:
	src/core/main.cpp
2014-11-16 22:22:48 +02:00
Lukas W
a99ea9fa6b Merge remote-tracking branch 'upstream/stable-1.1' 2014-11-16 16:41:17 +01:00
Lukas W
f4f0d947ea Merge pull request #1308 from Lukas-W/ci-win
Travis CI Windows builds
2014-11-16 16:10:38 +02:00
Vesa
c75f4e8dd3 Oops, unfixed merge conflict 2014-11-16 16:08:22 +02:00
Lukas W
43189492d0 Remove M_PI definition, use F_PI 2014-11-16 15:01:15 +01:00
Lukas W
564fb38998 Automatic deployment for Windows builds 2014-11-16 14:51:20 +01:00
Vesa
e62e2f3889 Add denormals stripping to the main thread as well as workerthreads 2014-11-16 15:19:54 +02:00
Vesa
740a7e6850 Merge branch 'stable-1.1'
Conflicts:
	include/AutomatableModel.h
	include/FxMixer.h
	src/core/FxMixer.cpp
	src/gui/widgets/caption_menu.cpp
	src/tracks/InstrumentTrack.cpp
2014-11-16 15:16:40 +02:00
Lukas W
cc3b1f0aea Fix win64 build 2014-11-16 11:15:37 +01:00
Lukas W
60d10f2461 Travis: No multithreading make for windows builds 2014-11-16 02:23:29 +01:00
Lukas W
ee9b92ca81 Travis: Enable multithreading, Linux, Win64 2014-11-16 02:15:15 +01:00
Lukas W
4d6ac1f85d Fix compile errors 2014-11-16 01:51:29 +01:00
Lukas W
2f2f27ab0c Travis CI: Add win32 target os
Temporarily disable Linux builds
2014-11-16 01:21:54 +01:00
Vesa V
6e027ae929 Merge pull request #1302 from diizy/master
More filter stuff
2014-11-14 22:18:39 +02:00
Vesa
a5d95f0bdd Oops #3... 2014-11-14 22:15:18 +02:00
Vesa
47f3eabb8c Oops again 2014-11-14 21:53:27 +02:00
Vesa
8576b586ff Oops 2014-11-14 21:35:34 +02:00
Vesa
5b8f92e757 More filter optimizations 2014-11-14 21:32:22 +02:00
Vesa V
7c9ccf59db Merge pull request #1301 from diizy/master
Strip denormals
2014-11-14 20:44:57 +02:00
Vesa
16302fc4ab Strip denormals 2014-11-14 20:43:49 +02:00
Vesa V
87003ee84c Merge pull request #1295 from diizy/filters
Bit of optimizing
2014-11-14 02:02:05 +02:00
Vesa
7c682316b3 Bit of optimizing 2014-11-14 02:00:51 +02:00
Vesa V
14d4c37bab Merge pull request #1291 from diizy/filters
Even More Filters
2014-11-13 20:45:56 +02:00
Vesa
4aaeb73f71 Some further optimizations 2014-11-13 20:12:36 +02:00
Vesa
002d2cb2ff Wrong branch stuff got in by accident 2014-11-13 20:06:43 +02:00
Vesa
53dd1e4257 Add filters to dualfilter 2014-11-13 20:03:53 +02:00
Vesa
a3cce23d6d Even more filters 2014-11-13 19:11:34 +02:00
Vesa
bb821d685b More filters 2014-11-13 18:10:53 +02:00
Vesa
16fb09fb94 Merge branch 'stable-1.1' 2014-11-10 20:33:02 +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
grindhold
cf29c8b97f fixed wrong visibility of Plugin::logError 2014-11-10 11:55:36 +01:00
grindhold
ec457ac69b fixed argument being passed into errormessage of vsteffect 2014-11-10 10:45:38 +01:00
grindhold
f746db27f0 unexpected codestyle fixes 2014-11-10 10:35:36 +01:00
grindhold
27a136fe03 added capability to collect multiple errormessages and display them at once 2014-11-10 10:35:07 +01:00
Vesa V
2c7036edd6 Merge pull request #1258 from grindhold/brokenproject
attempt to open broken project does not clear currently open project
2014-11-08 12:21:31 +02:00
Vesa V
d10eecbf5f Merge pull request #1277 from LMMS/c++11
Enable C++11
2014-11-08 12:16:01 +02:00
Lukas W
9d395ac0c1 Enable C++11 2014-11-08 10:26:10 +01:00
Vesa V
8f7593f82e Merge pull request #1256 from grindhold/metronome
first metronome click of a tact now has a higher pitch #1254
2014-11-05 01:50:13 +02:00
Vesa V
d3ae2e5721 Merge pull request #1264 from floft/configrename
Last configManager to ConfigManager rename
2014-11-03 22:36:38 +02:00
Garrett
6c91679de4 Last configManager to ConfigManager rename 2014-11-03 08:21:30 -08:00
Vesa
fa9674521e Merge branch 'stable-1.1'
Conflicts:
	src/core/main.cpp
	src/gui/MainWindow.cpp
2014-11-02 07:46:32 +02:00
Vesa V
671833a1dd Merge pull request #1260 from LMMS/master-configmgr
Config Manager updates
2014-11-02 07:36:25 +02:00
Lukas W
f6f44d0c5c Rename ConfigManager files (3) 2014-11-02 01:26:46 +01:00
Lukas W
47831c99c5 Rename ConfigManager files (2) 2014-11-02 01:08:27 +01:00
Lukas W
c9c8bf1c77 Rename ConfigManager files (1) 2014-11-02 01:06:13 +01:00
Lukas W
100a67cd3c Rename configManager to ConfigManager 2014-11-02 01:02:33 +01:00
Lukas W
d68671a6c2 Code style updates 2014-11-02 00:57:19 +01:00
Lukas W
2e66c88edf Store recovery file path in configManager 2014-11-02 00:51:24 +01:00
grindhold
f67e363532 attempt to open broken project does not clear currently open project. fixing #781 2014-11-01 17:36:00 +01:00
grindhold
eea294b8d6 use trimmed metronome sound of @mikobuntu 2014-11-01 12:56:18 +01:00
grindhold
e9174b275a first metronome click of a tact now has a higher pitch #1254 2014-11-01 12:18:27 +01:00
Vesa V
9d3b14e298 Merge pull request #1248 from grindhold/fxmixersolo
implemented solo-buttons for FxMixer - resolving #1211
2014-10-31 01:15:34 +02:00
grindhold
865dcc5685 coding style fixes 2014-10-31 00:03:27 +01:00
grindhold
8fe009114d implemented solo-buttons for FxMixer - resolving #1211 2014-10-30 23:43:43 +01:00
Vesa V
431eaa16dc Merge pull request #1243 from grindhold/master
Fixed hotspot of hand-cursor
2014-10-28 17:49:07 +02:00
grindhold
05c15dff0c fixed other occurences of hand cursor than beat-editor 2014-10-28 15:32:35 +01:00
grindhold
2c447a32e7 fixed hotspot of hand-cursor 2014-10-28 15:21:22 +01:00
Vesa V
c6f3962a87 Merge pull request #1230 from diizy/newfilter
New filters: SV Lowpass, SV Bandpass, SV Highpass, DoubleMoog
2014-10-22 16:23:41 +03:00
Vesa
e9ab240558 Add more filters! 2014-10-22 16:17:28 +03:00
Vesa
eb86428f10 Correct samplerate-agnostic behaviour 2014-10-22 15:12:58 +03:00
Vesa
8e3908e785 Initial commit: new filter - SV Lowpass
Adds a state-variant 4-pole lowpass filter into LMMS, which I swiped from Nekobee and slightly adapted to work in LMMS
It is possible that with some adjustments a highpass version could also be produced (will have to look into that)
It sounds really cool, kind of like the moog filter but has more character, esp. on high Q values
2014-10-22 07:05:53 +03:00
Vesa
b084e91345 Merge branch 'stable-1.1'
Conflicts:
	data/locale/de.qm
	data/locale/zh.qm
	data/locale/zh.ts
2014-10-19 14:58:23 +03:00
Vesa
886bf2b16e Revert "Adjust Carla for master branch"
This reverts commit 30e0140ecb.
2014-10-18 22:11:47 +03:00
Vesa
95eaa86a6f Revert "Revert "Make carla compile in master""
This reverts commit b12e6b773c.
2014-10-18 22:11:17 +03:00
Vesa
b12e6b773c Revert "Make carla compile in master"
This reverts commit 633609fdc7.
2014-10-18 22:07:07 +03:00
Vesa
633609fdc7 Make carla compile in master 2014-10-15 20:43:47 +03:00
Vesa
30e0140ecb Adjust Carla for master branch 2014-10-15 20:36:50 +03:00
Vesa
5dfb17df14 Merge branch 'stable-1.1' 2014-10-15 20:29:41 +03:00
Tobias Doerffel
2da7804c82 Merge remote-tracking branch 'origin/stable-1.1' 2014-09-30 23:00:09 +02:00
Tobias Doerffel
71cdf06923 Refreshed localization files 2014-09-30 22:56:27 +02:00
Tobias Doerffel
f2876ea650 Merge remote-tracking branch 'origin/stable-1.1'
Conflicts:
	data/locale/zh.ts
	src/tracks/Pattern.cpp
2014-09-30 22:53:24 +02:00
Tobias Doerffel
606879421b Merge remote-tracking branch 'origin/stable-1.1'
Conflicts:
	README.md
2014-09-28 18:12:04 +02:00
Tobias Doerffel
534c9c1668 Merge pull request #1174 from DaAwesomeP/master
Update Readme
2014-09-28 18:07:53 +02:00
P THE AWESOME
f505c31af4 Fix SF Wiki name in Readme
Changed to "Artist & User Wiki."
2014-09-28 10:56:21 -05:00
P THE AWESOME
1ace719ab7 Update Readme 2014-09-25 20:39:05 -05:00
Vesa V
2bd722f7c1 Merge pull request #1169 from diizy/master
Oops..
2014-09-21 22:29:22 +03:00
Vesa
412c477ddc Oops.. 2014-09-21 22:28:29 +03:00
Vesa V
06926bfeee Merge pull request #1168 from diizy/master
Fix LFO phase
2014-09-21 22:21:52 +03:00
Vesa
da6c2ed04b Fix LFO phase 2014-09-21 22:20:34 +03:00
Vesa
463f926d4e Remove the mocfile inclusion in FileBrowser.cpp since it seems to break compiling for some reason 2014-09-12 19:31:19 +03:00
Vesa V
1c500376bb Merge pull request #1158 from diizy/master
Remove the mocfile inclusion in FileBrowser.cpp since it seems to break ...
2014-09-12 19:30:59 +03:00
Vesa
498d939e76 Merge branch 'stable-1.1' 2014-09-10 00:43:32 +03:00
Vesa
bf6659fbb1 Merge branch 'stable-1.1'
Conflicts:
	src/gui/FileBrowser.cpp
2014-09-09 23:55:39 +03:00
Vesa
c2d7cf787e Merge branch 'stable-1.1'
Conflicts:
	include/Plugin.h
	src/core/Plugin.cpp
2014-09-02 16:59:04 +03:00
Vesa V
23f720f81b Merge pull request #1115 from LMMS/stable-1.1
sync
2014-08-30 01:46:52 +03:00
Vesa V
52c18dc3c1 Merge pull request #1107 from LMMS/stable-1.1
sync
2014-08-28 06:28:36 +03:00
Vesa V
6304104506 Merge pull request #1095 from LMMS/stable-1.1
sync
2014-08-24 17:15:28 +03:00
Vesa V
ffa86dbc60 Merge pull request #1086 from diizy/master
LadspaEffect: use stack for downsampling
2014-08-21 18:53:13 +03:00
Vesa
ba1c15f0fa LadspaEffect: use stack for downsampling
Not likely to be an issue currently, but if(when) we at some point allow >44.1k samplerates for playback, we may run in a situation where we have to downsample audio for processing, and thus we'd be doing heap allocation every period - it's best to fix this in advance so we're using stack for it for now (may be replaced with memory management later though)
2014-08-21 18:50:20 +03:00
Vesa V
05fbd5a6b6 Merge pull request #1085 from LMMS/stable-1.1
sync
2014-08-21 18:44:36 +03:00
Vesa
d8cc0cc2cc Merge branch 'stable-1.1'
Skipped the chinese translation files because of merge conflict, those should be re-submitted for master

Conflicts:
	data/locale/zh.qm
	data/locale/zh.ts
2014-08-19 09:10:19 +03:00
Tobias Doerffel
311d290b32 Added support for building for Win32/Win64 with Qt5 2014-08-16 17:20:00 +02:00
Vesa V
8ac71f7000 Merge pull request #1075 from LMMS/stable-1.1
sync
2014-08-16 09:59:48 +03:00
Vesa V
128a3ec927 Merge pull request #1053 from diizy/banish-all-locks
Banish all locks
2014-08-16 09:58:52 +03:00
Vesa
7a7c7c9467 Fix crash at track adding: don't play instrumentTracks when instrument is null 2014-08-16 09:36:29 +03: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
f2eca0aaa3 More fixes, stuff 2014-08-12 23:39:16 +03:00
Vesa V
dea2631035 Merge pull request #1061 from LMMS/stable-1.1
sync
2014-08-07 11:39:35 +03:00
Vesa
079a54e159 More fixing of teh playhandles 2014-08-03 22:09:27 +03:00
Vesa
9e1cdd0441 Start work on replacing/removing global locks 2014-08-03 14:49:45 +03:00
Vesa V
3bbb81cf24 Merge pull request #1036 from LMMS/stable-1.1
sync
2014-07-27 19:36:37 +03:00
Vesa V
50038983ed Merge pull request #1033 from diizy/master
Optimize autoquit check in effect
2014-07-27 03:48:14 +03:00
Vesa
945ee12311 Optimize autoquit check in effect 2014-07-27 03:47:02 +03:00
Vesa V
90b5686bed Merge pull request #1032 from diizy/master
Fix "disable autoquit" option
2014-07-27 01:15:16 +03:00
Vesa
f2d88d1fc2 Fix "disable autoquit" option
Wasn't getting saved/loaded properly, fixed that
TODO: disable autoquit causes some effects to keep running even when the song is stopped... this should be addressed at some point
2014-07-27 01:10:34 +03:00
Vesa V
07a0f46c82 Merge pull request #1030 from LMMS/stable-1.1
sync
2014-07-26 16:28:01 +03:00
Vesa V
1934879109 Merge pull request #1026 from LMMS/stable-1.1
sync
2014-07-26 00:31:03 +03:00
Vesa V
953ea983be Merge pull request #1024 from tonychee7000/master
Add Chinese translation by TonyChyi
2014-07-25 20:58:24 +03:00
TonyChyi
124df27ece Add Chinese translation 2014-07-25 23:48:13 +08:00
Vesa V
cb3dc7b8c3 Merge pull request #1000 from grejppi/master-disableautoquit
Add option to keep effects running even without input
2014-07-17 16:22:47 +03:00
Hannu Haahti
932768dac0 add option to keep effects running even without input 2014-07-17 16:19:00 +03:00
Vesa
88c60f5f94 Merge branch 'stable-1.1'
Conflicts:
	src/core/NotePlayHandle.cpp
2014-07-17 02:06:01 +03:00
Vesa V
16a81faef2 Merge pull request #994 from grejppi/master-sampletrack
SamplePlayHandle: increment the right buffer
2014-07-15 11:31:48 +03:00
Hannu Haahti
5fef919c4a SamplePlayHandle: clear unused frames from buffer 2014-07-15 11:28:53 +03:00
Hannu Haahti
37a90cabcf SamplePlayHandle: increment the right buffer 2014-07-15 11:12:04 +03:00
Vesa V
86c8fc55e1 Merge pull request #993 from diizy/master
NPH fix: prevent offsets from going over period limit
2014-07-14 23:50:22 +03:00
Vesa
768cc9cb81 Forgot to remove qdebug 2014-07-14 23:49:37 +03:00
Vesa V
2e480c948a Merge pull request #992 from LMMS/stable-1.1
sync
2014-07-14 23:48:55 +03:00
Vesa
fcf3242b7e NPH fix: prevent offsets from going over period limit 2014-07-14 23:47:41 +03:00
Vesa
921943bce1 Merge branch 'stable-1.1'
Conflicts:
	include/MixHelpers.h
	src/core/FxMixer.cpp
2014-07-13 22:20:10 +03:00
Vesa V
00aba44251 Merge pull request #961 from diizy/master-atomic
Improve RT-safety by eliminating some global locks
2014-07-12 19:12:58 +03:00
Vesa V
43d246df20 Merge pull request #979 from diizy/master
Peak Controller: improve envelope calculation
2014-07-12 05:29:47 +03:00
Vesa
6f8c910f5c Peak Controller: improve envelope calculation 2014-07-12 05:27:05 +03:00
Vesa V
0bad69adc8 Merge pull request #976 from diizy/master
SF2: Fix crash with stacking/arp
2014-07-11 21:36:19 +03:00
Vesa
d7f922da75 SF2: Fix crash with stacking/arp 2014-07-11 21:35:26 +03:00
Vesa V
6dab6a7285 Merge pull request #965 from LMMS/stable-1.1
Stable 1.1
2014-07-10 12:42:42 +03:00
Tobias Doerffel
5a28f4ada0 Merge remote-tracking branch 'origin/stable-1.1' 2014-07-09 23:02:28 +02:00
Vesa
cacb27d12f Move playhandle-adding to the correct spot so playhandles won't get delayed 2014-07-09 21:39:04 +03:00
Vesa
e6582fcd17 InstrumentTrack.h: Remove unneeded includes 2014-07-09 21:24:10 +03:00
Vesa
b8d4ee3047 visualization_widget: remove unnecessary global locks 2014-07-09 21:22:46 +03:00
Vesa
4d321516e9 file_browser: remove unnecessary global locks 2014-07-09 21:20:22 +03:00
Vesa
4be118162f TrackContainerView: remove unnecessary global locks (improve rt safety) 2014-07-09 21:14:47 +03:00
Vesa
a4c4ea90dc Pattern.cpp: Remove unnecessary global locks (improve rt safety) 2014-07-09 21:02:50 +03:00
Vesa
ae5e0c3202 Rebase on master to fix older bugs 2014-07-09 20:45:19 +03:00
Vesa
f33d1f4972 Instrument track, mixer... 2014-07-09 20:42:54 +03:00
Vesa
4eb486be1e Attempt to remove mutex calls from instrumenttrack::processinevent 2014-07-09 20:39:41 +03:00
Vesa V
d4b0cc126d Merge pull request #960 from diizy/master
Fix erroneous note offset in instrumenttrack
2014-07-09 20:37:49 +03:00
Vesa
2d93e19f72 Fix erroneous note offset in instrumenttrack 2014-07-09 20:36:49 +03:00
Vesa V
c1ccc8173e Merge pull request #957 from raboof/addRecentlyOpenedShortcut
Add 'Recently opened project' menu hotkey
2014-07-08 21:27:10 +03:00
Arnout Engelen
2cb458a958 Add 'Recently opened project' menu hotkey 2014-07-08 20:24:03 +02:00
Vesa V
3774d95317 Merge pull request #955 from raboof/configure
Point ./configure users to the INSTALL file
2014-07-08 20:58:44 +03:00
Arnout Engelen
01fc05b251 Point ./configure users to the INSTALL file
Previously the instructions did not match
2014-07-08 19:56:14 +02:00
Vesa V
833fdaab13 Merge pull request #953 from LMMS/stable-1.1
Stable 1.1
2014-07-08 19:46:24 +03:00
Vesa V
2f983e0ed3 Merge pull request #938 from diizy/master-sf2-accurate
SF2: Make timing more accurate, also some fixes
2014-07-06 16:21:22 +03:00
Vesa
ff0c9beadd SF2: Make timing more accurate, also some fixes
I'm not saying sample-accurate, because it turns out, Fluidsynth has an internal buffer size and thus timing granularity of 64 frames. So 64 frames is the max. accuracy attainable for SF2. But it's better than nothing. Big thanks to David Henningsson of the Fluidsynth dev team, who very helpfully answered questions. A great guy.
In addition, there are some fixes to earlier commits here, which I ran into while working on the SF2 timing.
2014-07-06 16:11:35 +03:00
Tobias Doerffel
e12daf6bae Merge remote-tracking branch 'origin/stable-1.1' 2014-07-06 13:57:54 +02:00
Vesa V
8407427c4b Merge pull request #933 from LMMS/stable-1.1
Stable 1.1
2014-07-05 16:34:34 +03:00
Vesa V
6ffcc0e799 Merge pull request #911 from diizy/master-nph
Revision of handling of frameoffset for NPH, SPH
2014-06-30 12:52:44 +03:00
Vesa V
9c8c80683b Merge pull request #913 from LMMS/stable-1.1
Syncing...
2014-06-30 12:49:02 +03:00
Vesa
23433a70b5 Sample-exact models: improve
- Remove the redundant hasSampleExactData() function. Instead, signal lack of s.ex.data by returning a NULL in valueBuffer()
- Cache s.ex.buffers and only update them once per period
- Make valueBuffer() in AutomatableModel threadsafe so that it can be used for NPH's sharing the same model
- Add sample-exactness to instrumenttrack's vol & pan knobs
2014-06-30 01:59:18 +03:00
Vesa
71217c0d85 Addition to earlier: Fix monstro 2014-06-29 23:28:51 +03:00
Vesa
270af579b8 Revision of handling of frameoffset for NPH, SPH
Change in handling of frameoffset for multistreamed instruments and sampletracks.
- Instead of holding the offset for the lifetime of the playhandle, negate the offset in the first period
- Multistream-instruments require some small changes: they have to now check for the offset and accordingly leave empty space in the start of the period (already done in this commit)
- There are possibly optimizations that can be done later
- This change is necessary so that we can have sample-exact models, and sample-exact vol/pan knobs for all instruments. Earlier multistream instruments were always rendering some frames ahead-of-time, so applying sample-exact data for them would have been impossible, since we don't have the future-values yet...
2014-06-29 23:13:00 +03:00
Vesa
a7bb31159e Merge branch 'stable-1.1'
Conflicts:
	include/basic_filters.h
	src/core/FxMixer.cpp
2014-06-28 17:24:23 +03:00
Tobias Doerffel
9a313e485a Merge pull request #887 from softrabbit/svg-loading
Add loading of artwork in other formats as well as .png
2014-06-28 11:56:10 +02:00
Raine M. Ekman
7921a326f7 Add loading of artwork in other formats as well as .png 2014-06-24 22:44:47 +03:00
Vesa
4185eac023 Merge branch 'stable-1.1'
Conflicts:
	src/core/AutomatableModel.cpp
2014-06-23 22:10:27 +03:00
Tobias Doerffel
eee2ba7f16 Merge remote-tracking branch 'origin/stable-1.1'
Conflicts:
	data/locale/de.qm
	data/locale/de.ts
2014-06-21 23:30:59 +02:00
Tobias Doerffel
28d2680896 Merge pull request #838 from softrabbit/tpyo
CmakeLists.txt: s/similiar/similar/g
2014-06-11 14:08:01 +02:00
Raine M. Ekman
5e3d3d449d Fixed tpyo in CMakeLists.txt: It's simiLAR, not simiLIAR 2014-06-11 10:39:06 +03:00
Tobias Doerffel
0679d89cac Merge pull request #834 from softrabbit/formantfilter
Note filters: remove unnecessary calculations in Formantfilter
2014-06-10 12:14:50 +02:00
Raine M. Ekman
0941520d8c basic_filters.h: One unnecessary m_vflp array removed. 2014-06-10 12:10:42 +03:00
Raine M. Ekman
c29ec40711 basic_filters.h: Remove unneccessary LP filter calculations in Formantfilter 2014-06-10 11:57:59 +03:00
Tobias Doerffel
1d6a456b47 Merge pull request #827 from DanWin/master
Updated German translation
2014-06-09 13:40:06 +02:00
Daniel Winzen
2b261b0020 Updated German translation 2014-06-08 17:45:45 +02:00
Tobias Doerffel
0044ef8515 Merge pull request #813 from diizy/ringbuffer
Ringbuffer
2014-06-06 00:07:19 +02:00
Vesa
b0c2fe1685 Forgot a line.. 2014-06-05 20:43:18 +03:00
Vesa
6e2d73721c RingBuffer: initial commit
Implements a ring buffer class for LMMS, which is designed to be flexible, efficient and thread-safe.
Due to flexible design, it supports various methods of operation:
- set delays/sizes in absolute frame values, ignoring samplerate
- set delays/sizes in milliseconds with samplerate-awareness
- multiple inputs -> single output
- single input -> multiple outputs
Efficiency is achieved by working in buffers and using memcpy/memset for audio operations, except when additive mixing is needed: then MixHelpers are used
Thread-safety is guaranteed with QMutex
2014-06-05 20:26:48 +03:00
Tobias Doerffel
50b9fa83c9 Merge pull request #805 from ycollet/cmake_gcc_482
Fix a regression with gcc-4.8.2
2014-06-04 09:33:45 +02:00
Yann Collette
e1e74bc369 when using gcc-4.8.2, desactivate -Werror due to a regression 2014-06-04 09:12:40 +02:00
Tobias Doerffel
23f9312597 Merge pull request #799 from diizy/models3
S.ex. models: implement support for sample-exact controls in fx-mixer
2014-06-01 14:31:21 +02:00
Vesa
43d1b30727 FxMixer, ValueBuffer, etc. fixes 2014-06-01 15:25:02 +03:00
Vesa
1c0f9700fa S.ex. models: implement support for sample-exact controls in fx-mixer
Works for all faders and send knobs
2014-06-01 07:17:43 +03:00
Tobias Doerffel
385e13bb63 Merge pull request #788 from diizy/models
Models branch for 1.2
2014-05-31 15:12:33 +02:00
Vesa
63a39bde76 Models: Fix error 2014-05-30 19:29:45 +03:00
Vesa
a46b9383a5 LfoController updates - fix some remaining timing issues 2014-05-30 18:26:16 +03:00
Vesa
d331dfe352 Move improvements to sample-exact controller handling,
also some coding style fixes
2014-05-30 18:26:16 +03:00
Vesa
44f1d3df85 Initial implementation of sample-exact models and controllers
Also featuring a very efficient buffer-based system for transporting sample-exact control data
Also interpolation for automations
The native Amplifier is a reference implementation for taking advantage of sample-exact data and is currently
the only one that does so, it can be used to test things out, and as documentation/example for implementing the
same elsewhere
2014-05-30 18:22:36 +03:00
Tobias Doerffel
3a833d2ad8 Merge pull request #776 from xsleonard/cut-copy-paste
Copy+Paste for rubberband selections in track editor
2014-05-30 15:26:10 +02:00
Steve Leonard
af56ea5849 Copy+Paste for rubberband selections in track editor 2014-05-26 15:53:08 -04:00
1965 changed files with 227024 additions and 90442 deletions

11
.circleci/config.yml Normal file
View File

@@ -0,0 +1,11 @@
# Dummy CircleCI Config File
version: 2
jobs:
build:
machine: true
branches:
ignore: stable-1.2
steps:
- run:
name: Dummy
command: echo "Dummy command to prevent error"

1
.gitattributes vendored
View File

@@ -1,2 +1,3 @@
.gitattributes export-ignore
.gitignore export-ignore
data/locale/* linguist-documentation

2
.github/no-response.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
# Label requiring a response
responseRequiredLabel: "response required"

2
.gitignore vendored
View File

@@ -1,9 +1,11 @@
/build
/target
.*.sw?
.DS_Store
*~
/CMakeLists.txt.user
/plugins/zynaddsubfx/zynaddsubfx/ExternalPrograms/Controller/Makefile
/plugins/zynaddsubfx/zynaddsubfx/ExternalPrograms/Spliter/Makefile
/plugins/zynaddsubfx/zynaddsubfx/doc/Makefile
/plugins/zynaddsubfx/zynaddsubfx/doc/gen/Makefile
/data/locale/*.qm

6
.gitmodules vendored
View File

@@ -0,0 +1,6 @@
[submodule "src/3rdparty/qt5-x11embed"]
path = src/3rdparty/qt5-x11embed
url = https://github.com/Lukas-W/qt5-x11embed.git
[submodule "src/3rdparty/rpmalloc/rpmalloc"]
path = src/3rdparty/rpmalloc/rpmalloc
url = https://github.com/rampantpixels/rpmalloc.git

View File

@@ -1,4 +1,6 @@
Tobias Doerffel <tobias.doerffel@gmail.com>
Alexandre Almeida <wilsalx@gmail.com> <meta.lx@hotmail.com>
Tobias Junghans <tobias.doerffel@gmail.com>
Dave French <dave.french3@googlemail.com>
Paul Giblock <drfaygo@gmail.com> <pgib@users.sf.net>
Paul Giblock <drfaygo@gmail.com> <p@pgiblock.net>
Andrew Kelley <superjoe30@gmail.com> <andrew.r.kelley@gmail.com>
@@ -6,6 +8,24 @@ Andrew Kelley <superjoe30@gmail.com> <andy@debian.superjoesoftware>
Janne Sinisalo <janne.m.sinisalo@gmail.com> <janne@janne-desktop.(none)>
Raine M. Ekman <raine@iki.fi> <raine@raine.(none)>
Raine M. Ekman <raine@iki.fi> <raine@raine.damex.fi>
Lukas W <lukaswhl@googlemail.com> <lukaswhl@gmail.com>
Lukas W <lukaswhl@gmail.com> <lukaswhl@googlemail.com>
Vesa <contact.diizy@nbl.fi> <vesa@isokone.(none)>
Vesa <contact.diizy@nbl.fi> <diizy@users.noreply.github.com>
Tres Finocchiaro <tres.finocchiaro@gmail.com>
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tres@ubuntu-1204.(none)>
Tres Finocchiaro <tres.finocchiaro@gmail.com> <ubuntu@ubuntu-1204.(none)>
Tres Finocchiaro <tres.finocchiaro@gmail.com> <tresf@github.com>
Rüdiger Ranft <rudi@qzzq.de> <_rdi_@web.de>
Spekular <Spekularr@gmail.com> <Spekular@users.noreply.github.com>
unfa <unfa00@gmail.com> <unfa@unfa.(none)>
mikobuntu <chrissy.mc.1@hotmail.co.uk> <mikobuntu@mikobuntu-Aspire-5332.(none)>
Jonathan Aquilina <eagles051387@gmail.com>
midi-pascal <midi-pascal@videotron.ca>
midi-pascal <midi-pascal@videotron.ca> <pascal@TDE.(none)>
Thomas Clark <the.thomas.j.clark@gmail.com>
Thomas Clark <the.thomas.j.clark@gmail.com> <tjclark@wpi.edu>
anonymous <support@lmms.io> Locale updater <>
grejppi <grejppi@gmail.com>
Johannes Lorenz <j.git@lorenz-ho.me> <johannes89@mailueberfall.de>
Johannes Lorenz <j.git@lorenz-ho.me> <1042576+JohannesLorenz@users.noreply.github.com>
Noah Brecht <noahb2713@gmail.com>

View File

@@ -1,6 +0,0 @@
Makefile.in
*.moc
.libs
embedded_resources.h
.deps
Makefile

View File

@@ -1,32 +1,60 @@
language: cpp
compiler: gcc
env:
- TARGET_OS=linux
- TARGET_OS=win32
- TARGET_OS=win64
dist: trusty
sudo: required
cache:
directories:
- apt_mingw_cache
- $HOME/.ccache
- $HOME/pbuilder-bases
matrix:
include:
- env: TARGET_OS=win32
- env: TARGET_OS=win64
- os: osx
osx_image: xcode8.2
- env: QT5=
- env: QT5=True
- env: QT5=True TARGET_OS=win32 TARGET_DEPLOY=True
- env: QT5=True TARGET_OS=win64 TARGET_DEPLOY=True
- os: osx
osx_image: xcode8.2
env: QT5=True
- env: TARGET_OS=debian-sid TARGET_DEPLOY=True
- env: TARGET_OS=debian-sid TARGET_ARCH=i386
- compiler: clang
env: TARGET_OS=debian-sid
before_install:
- if [ $TARGET_OS != linux ]; then sudo add-apt-repository ppa:tobydox/mingw -y; fi
- sudo apt-get update -qq
- . ${TRAVIS_BUILD_DIR}/.travis/${TRAVIS_OS_NAME}.${TARGET_OS}.before_install.sh
install:
- if [ $TARGET_OS != linux ]; then sudo apt-get install -y nsis cloog-isl libmpc2 mingw32; fi
- if [ $TARGET_OS != linux ]; then sudo apt-get install -y mingw32-x-qt mingw32-x-sdl mingw32-x-libvorbis mingw32-x-fluidsynth mingw32-x-stk mingw32-x-glib2 mingw32-x-portaudio mingw32-x-libsndfile mingw32-x-fftw mingw32-x-flac mingw32-x-fltk mingw32-x-libsamplerate mingw32-x-pkgconfig mingw32-x-binutils mingw32-x-gcc mingw32-x-runtime; fi
- if [ $TARGET_OS == win64 ]; then sudo apt-get install -y mingw64-x-qt mingw64-x-sdl mingw64-x-libvorbis mingw64-x-fluidsynth mingw64-x-stk mingw64-x-glib2 mingw64-x-portaudio mingw64-x-libsndfile mingw64-x-fftw mingw64-x-flac mingw64-x-fltk mingw64-x-libsamplerate mingw64-x-pkgconfig mingw64-x-binutils mingw64-x-gcc mingw64-x-runtime; fi
- if [ $TARGET_OS == linux ]; then sudo apt-get install -y libqt4-dev libsndfile-dev fftw3-dev libvorbis-dev libogg-dev libasound2-dev libjack-dev libsdl-dev libsamplerate0-dev libstk0-dev libfluidsynth-dev portaudio19-dev wine-dev g++-multilib libfltk1.3-dev; fi
- . ${TRAVIS_BUILD_DIR}/.travis/${TRAVIS_OS_NAME}.${TARGET_OS}.install.sh
before_script:
- mkdir build && cd build
- export CMAKE_FLAGS="-DWANT_QT5=$QT5 -DUSE_WERROR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo"
- if [ -z "$TRAVIS_TAG" ]; then export CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_CCACHE=ON"; fi
script:
- if [ $TARGET_OS == win32 ]; then ../build_mingw32 || ../build_mingw32; fi
- if [ $TARGET_OS == win64 ]; then ../build_mingw64 || ../build_mingw64; fi
- if [ $TARGET_OS == linux ]; then cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make -j4 VERBOSE=1; fi
- if [ $TARGET_OS != linux ]; then make; fi
before_deploy: make package
- . ${TRAVIS_BUILD_DIR}/.travis/${TRAVIS_OS_NAME}.${TARGET_OS}.script.sh
after_script:
- ccache -s
before_deploy:
- if [ "$TARGET_OS" != debian-sid ]; then make package; fi
deploy:
provider: releases
api_key:
secure: d4a+x4Gugpss7JK2DcHjyBZDmEFFh4iVfKDfITSD50T6Mc6At4LMgojvEu+6qT6IyOY2vm3UVT6fhyeuWDTRDwW9tfFlaHVA0h8aTRD+eAXOA7pQ8rEMwQO3+WCKuKTfEqUkpL4wxhww8dpkv54tqeIs0S4TBqz9tk8UhzU7XbE=
file: lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
file_glob: true
file:
- lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
- /var/cache/pbuilder/result/lmms_*.tar.xz
skip_cleanup: true
on:
tags: true
all_branches: true
condition: "$TARGET_OS != linux"
condition: '"$TARGET_DEPLOY" = True'
repo: LMMS/lmms
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/1ac7fc698195981a9227
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always

1
.travis/ccache.sha256 Normal file
View File

@@ -0,0 +1 @@
0de866bc0ee26de392e037104b174474989a830e2249280a136144baa44557aa ccache_3.2.4-1_amd64.deb

View File

@@ -0,0 +1,2 @@
314ef4af137903dfb13e8c3ef1e6ea56cfdb23808d52ec4f5f50e288c73610c5 pbuilder_0.229.1_all.deb
fa82aa8ed3055c6f6330104deedf080b26778295e589426d4c4dd0f2c2a5defa debootstrap_1.0.95_all.deb

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
sudo add-apt-repository ppa:beineri/opt-qt592-trusty -y
sudo add-apt-repository ppa:andrewrk/libgroove -y
sudo sed -e "s/trusty/precise/" -i \
/etc/apt/sources.list.d/andrewrk-libgroove-trusty.list
sudo dpkg --add-architecture i386
sudo apt-get update -qq || true

25
.travis/linux..install.sh Normal file
View File

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
PACKAGES="cmake libsndfile-dev fftw3-dev libvorbis-dev libogg-dev libmp3lame-dev
libasound2-dev libjack-jackd2-dev libsdl-dev libsamplerate0-dev libstk0-dev stk
libfluidsynth-dev portaudio19-dev g++-multilib libfltk1.3-dev
libgig-dev libsoundio-dev"
VST_PACKAGES="wine-dev libqt5x11extras5-dev qtbase5-private-dev libxcb-util0-dev libxcb-keysyms1-dev"
# Help with unmet dependencies
PACKAGES="$PACKAGES $VST_PACKAGES libjack-jackd2-0"
if [ $QT5 ]; then
PACKAGES="$PACKAGES qt59base qt59translations qt59tools"
else
PACKAGES="$PACKAGES libqt4-dev"
fi
sudo apt-get install -y $PACKAGES
# kxstudio repo offers Carla; avoid package conflicts (wine, etc) by running last
sudo add-apt-repository -y ppa:kxstudio-debian/libs
sudo add-apt-repository -y ppa:kxstudio-debian/apps
sudo apt-get update
sudo apt-get install -y carla-git

14
.travis/linux..script.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
mkdir build
cd build
if [ $QT5 ]; then
unset QTDIR QT_PLUGIN_PATH LD_LIBRARY_PATH
source /opt/qt59/bin/qt59-env.sh
fi
cmake -DUSE_WERROR=ON $CMAKE_FLAGS ..
make -j4
make tests
./tests/tests

View File

@@ -0,0 +1,2 @@
#!/bin/sh
sudo apt-get update -qq

View File

@@ -0,0 +1,16 @@
#!/bin/sh
set -e
sudo apt-get install -y \
debian-archive-keyring \
dpkg \
pbuilder
# work around a pbuilder bug which breaks ccache
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666525
cd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/p/pbuilder/pbuilder_0.229.1_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.95_all.deb
sha256sum -c "$TRAVIS_BUILD_DIR/.travis/debian_pkgs.sha256"
sudo dpkg -i pbuilder_0.229.1_all.deb debootstrap_1.0.95_all.deb
cd "$OLDPWD"

View File

@@ -0,0 +1,38 @@
#!/bin/sh
set -e
: ${TARGET_ARCH:=amd64}
BASETGZ="$HOME/pbuilder-bases/debian-sid-$TARGET_ARCH.tgz"
MIRROR=http://cdn-fastly.deb.debian.org/debian
KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg
if [ -z "$TRAVIS_TAG" ]
then
sudo \
sh -c "echo CCACHEDIR=$HOME/.ccache >> /etc/pbuilderrc"
fi
if [ "$CC" = clang ]
then
sudo sh -c "echo EXTRAPACKAGES=clang >> /etc/pbuilderrc"
fi
if [ ! -e "$BASETGZ.stamp" ]
then
mkdir -p "$HOME/pbuilder-bases"
sudo pbuilder --create --basetgz "$BASETGZ" --mirror $MIRROR \
--distribution sid --architecture $TARGET_ARCH \
--debootstrapopts --variant=buildd \
--debootstrapopts --keyring=$KEYRING \
--debootstrapopts --include=perl
touch "$BASETGZ.stamp"
else
sudo pbuilder --update --basetgz "$BASETGZ"
fi
DIR="$PWD"
cd ..
dpkg-source -b "$DIR"
env -i CC="$CC" CXX="$CXX" sudo pbuilder --build --debbuildopts "--jobs=auto" \
--basetgz "$BASETGZ" ./*.dsc

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -e
CACHE_DIR=$TRAVIS_BUILD_DIR/apt_mingw_cache/$1
mkdir -p $CACHE_DIR
pushd $CACHE_DIR
apt-get --print-uris --yes install $MINGW_PACKAGES | grep ^\' | cut -d\' -f2 > downloads.list
wget -N --input-file downloads.list
sudo cp ./*.deb /var/cache/apt/archives/
popd

View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
sudo add-apt-repository ppa:tobydox/mingw-x-trusty -y
sudo apt-get update -qq

View File

@@ -0,0 +1,31 @@
#!/usr/bin/env bash
set -e
if [ $QT5 ]; then
MINGW_PACKAGES="mingw32-x-qt5base"
else
MINGW_PACKAGES="mingw32-x-qt"
fi
MINGW_PACKAGES="mingw32-x-sdl mingw32-x-libvorbis mingw32-x-fluidsynth mingw32-x-stk
mingw32-x-glib2 mingw32-x-portaudio mingw32-x-libsndfile mingw32-x-fftw
mingw32-x-flac mingw32-x-fltk mingw32-x-libsamplerate
mingw32-x-pkgconfig mingw32-x-binutils mingw32-x-gcc mingw32-x-runtime
mingw32-x-libgig mingw32-x-libsoundio mingw32-x-lame $MINGW_PACKAGES"
export MINGW_PACKAGES
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. $DIR/linux.win.download.sh win32
PACKAGES="nsis cloog-isl libmpc3 qt4-linguist-tools mingw32 $MINGW_PACKAGES"
sudo apt-get install -y $PACKAGES
# ccache 3.2 is needed because mingw32-x-gcc is version 4.9, which causes cmake
# to use @file command line passing, which in turn ccache 3.1.9 doesn't support
pushd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/c/ccache/ccache_3.2.4-1_amd64.deb
sha256sum -c $TRAVIS_BUILD_DIR/.travis/ccache.sha256
sudo dpkg -i ccache_3.2.4-1_amd64.deb
popd

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
mkdir build
cd build
export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
../cmake/build_mingw32.sh
make -j4

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
. .travis/linux.win32.before_install.sh

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -e
# First, install 32-bit deps
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. $DIR/linux.win32.install.sh
if [ $QT5 ]; then
MINGW_PACKAGES="mingw64-x-qt5base"
else
MINGW_PACKAGES="mingw64-x-qt"
fi
MINGW_PACKAGES="mingw64-x-sdl mingw64-x-libvorbis mingw64-x-fluidsynth mingw64-x-stk
mingw64-x-glib2 mingw64-x-portaudio mingw64-x-libsndfile
mingw64-x-fftw mingw64-x-flac mingw64-x-fltk mingw64-x-libsamplerate
mingw64-x-pkgconfig mingw64-x-binutils mingw64-x-gcc mingw64-x-runtime
mingw64-x-libgig mingw64-x-libsoundio mingw64-x-lame $MINGW_PACKAGES"
export MINGW_PACKAGES
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. $DIR/linux.win.download.sh win64
sudo apt-get install -y $MINGW_PACKAGES

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
mkdir build
cd build
export CMAKE_OPTS="$CMAKE_FLAGS -DUSE_WERROR=ON"
../cmake/build_mingw64.sh
make -j4

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
brew update

17
.travis/osx..install.sh Normal file
View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
PACKAGES="cmake pkgconfig fftw libogg libvorbis lame libsndfile libsamplerate jack sdl libgig libsoundio stk fluid-synth portaudio node fltk carla"
if [ $QT5 ]; then
PACKAGES="$PACKAGES qt5"
fi
brew install $PACKAGES ccache
if [ -z "$QT5" ]; then
brew tap cartr/qt4
brew tap-pin cartr/qt4
brew install qt@4
fi
sudo npm install -g appdmg

14
.travis/osx..script.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
mkdir build
cd build
if [ $QT5 ]; then
# Workaround; No FindQt5.cmake module exists
export CMAKE_PREFIX_PATH="$(brew --prefix qt5)"
fi
cmake $CMAKE_FLAGS -DUSE_WERROR=OFF ..
make -j4
make tests
./tests/tests

11
.tx/config Normal file
View File

@@ -0,0 +1,11 @@
[main]
host = https://www.transifex.com
minimum_perc = 51
#Need to finish at least 51% before merging back
[lmms.lmms]
file_filter = data/locale/<lang>.ts
source_file = data/locale/en.ts
source_lang = en
type = QT

View File

@@ -1,4 +1,4 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
PROJECT(lmms)
@@ -7,22 +7,41 @@ SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH})
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0005 NEW)
CMAKE_POLICY(SET CMP0003 NEW)
IF (CMAKE_MAJOR_VERSION GREATER 2)
CMAKE_POLICY(SET CMP0026 OLD)
CMAKE_POLICY(SET CMP0045 NEW)
CMAKE_POLICY(SET CMP0050 OLD)
ENDIF()
ENDIF(COMMAND CMAKE_POLICY)
INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFiles)
INCLUDE(FindPkgConfig)
SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "0")
SET(VERSION_PATCH "100")
#SET(VERSION_SUFFIX "")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
IF(VERSION_SUFFIX)
SET(VERSION "${VERSION}-${VERSION_SUFFIX}")
ENDIF(VERSION_SUFFIX)
STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE)
SET(PROJECT_YEAR 2019)
SET(PROJECT_AUTHOR "LMMS Developers")
SET(PROJECT_URL "https://lmms.io")
SET(PROJECT_EMAIL "lmms-devel@lists.sourceforge.net")
SET(PROJECT_DESCRIPTION "${PROJECT_NAME_UCASE} - Free music production software")
SET(PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR}")
SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "2")
SET(VERSION_RELEASE "0")
SET(VERSION_STAGE "rc8")
SET(VERSION_BUILD "0")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}")
IF(VERSION_STAGE)
SET(VERSION "${VERSION}-${VERSION_STAGE}")
ENDIF()
IF(VERSION_BUILD)
SET(VERSION "${VERSION}.${VERSION_BUILD}")
ENDIF()
# Override version information for non-base builds
INCLUDE(VersionInfo)
INCLUDE(DetectMachine)
@@ -32,28 +51,36 @@ OPTION(WANT_CAPS "Include C* Audio Plugin Suite (LADSPA plugins)" ON)
OPTION(WANT_CARLA "Include Carla plugin" ON)
OPTION(WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON)
OPTION(WANT_JACK "Include JACK (Jack Audio Connection Kit) support" ON)
OPTION(WANT_WEAKJACK "Loosely link JACK libraries" ON)
OPTION(WANT_MP3LAME "Include MP3/Lame support" ON)
OPTION(WANT_OGGVORBIS "Include OGG/Vorbis support" ON)
OPTION(WANT_PULSEAUDIO "Include PulseAudio support" ON)
OPTION(WANT_PORTAUDIO "Include PortAudio support" ON)
OPTION(WANT_SNDIO "Include sndio support" ON)
OPTION(WANT_SOUNDIO "Include libsoundio support" ON)
OPTION(WANT_SDL "Include SDL (Simple DirectMedia Layer) support" ON)
OPTION(WANT_SF2 "Include SoundFont2 player plugin" ON)
OPTION(WANT_GIG "Include GIG player plugin" ON)
OPTION(WANT_STK "Include Stk (Synthesis Toolkit) support" ON)
OPTION(WANT_SWH "Include Steve Harris's LADSPA plugins" ON)
OPTION(WANT_TAP "Include Tom's Audio Processing LADSPA plugins" ON)
OPTION(WANT_VST "Include VST support" ON)
OPTION(WANT_VST_NOWINE "Include partial VST support (without wine)" OFF)
OPTION(WANT_WINMM "Include WinMM MIDI support" OFF)
OPTION(WANT_QT5 "Build with Qt5" OFF)
IF(LMMS_BUILD_APPLE)
SET(WANT_SF2 OFF)
# Fix linking on 10.14+. See issue #4762 on github
LINK_DIRECTORIES(/usr/local/lib)
SET(WANT_ALSA OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_VST OFF)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
# MacPorts: /opt/local/lib
LINK_DIRECTORIES(${LINK_DIRECTORIES} /opt/local/lib)
SET(STATUS_APPLEMIDI "OK")
ELSE(LMMS_BUILD_APPLE)
SET(STATUS_APPLEMIDI "<not supported on this platform>")
ENDIF(LMMS_BUILD_APPLE)
@@ -61,18 +88,30 @@ IF(LMMS_BUILD_WIN32)
SET(WANT_ALSA OFF)
SET(WANT_JACK OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_SYSTEM_SR OFF)
SET(WANT_SNDIO OFF)
SET(WANT_SOUNDIO OFF)
SET(WANT_WINMM ON)
SET(LMMS_HAVE_WINMM TRUE)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_JACK "<not supported on this platform>")
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
SET(STATUS_SOUNDIO "<disabled in this release>")
SET(STATUS_WINMM "OK")
SET(STATUS_APPLEMIDI "<not supported on this platform>")
ELSE(LMMS_BUILD_WIN32)
SET(STATUS_WINMM "<not supported on this platform>")
ENDIF(LMMS_BUILD_WIN32)
# TODO: Fix linking issues with msys debug builds
IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug")
SET(WANT_GIG OFF)
SET(WANT_STK OFF)
SET(WANT_SWH OFF)
SET(STATUS_GIG "not built as requested")
SET(STATUS_STK "not built as requested")
ENDIF()
CHECK_INCLUDE_FILES(stdint.h LMMS_HAVE_STDINT_H)
CHECK_INCLUDE_FILES(stdlib.h LMMS_HAVE_STDLIB_H)
@@ -83,10 +122,6 @@ CHECK_INCLUDE_FILES(sys/types.h LMMS_HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILES(sys/ipc.h LMMS_HAVE_SYS_IPC_H)
CHECK_INCLUDE_FILES(sys/shm.h LMMS_HAVE_SYS_SHM_H)
CHECK_INCLUDE_FILES(sys/time.h LMMS_HAVE_SYS_TIME_H)
CHECK_INCLUDE_FILES(sys/wait.h LMMS_HAVE_SYS_WAIT_H)
CHECK_INCLUDE_FILES(sys/select.h LMMS_HAVE_SYS_SELECT_H)
CHECK_INCLUDE_FILES(stdarg.h LMMS_HAVE_STDARG_H)
CHECK_INCLUDE_FILES(signal.h LMMS_HAVE_SIGNAL_H)
CHECK_INCLUDE_FILES(sched.h LMMS_HAVE_SCHED_H)
CHECK_INCLUDE_FILES(sys/soundcard.h LMMS_HAVE_SYS_SOUNDCARD_H)
CHECK_INCLUDE_FILES(soundcard.h LMMS_HAVE_SOUNDCARD_H)
@@ -99,22 +134,58 @@ CHECK_INCLUDE_FILES(locale.h LMMS_HAVE_LOCALE_H)
LIST(APPEND CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX}")
# check for Qt4
SET(QT_MIN_VERSION "4.3.0" COMPONENTS QtCore QtGui QtXml)
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(WIN32)
SET(QT_TRANSLATIONS_DIR "${MINGW_PREFIX}/share/qt4/translations/")
ENDIF(WIN32)
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
ENDIF(EXISTS "${QT_TRANSLATIONS_DIR}")
IF(NOT WIN32)
STRING(REPLACE "-DQT_DLL" "" QT_DEFINITIONS "${QT_DEFINITIONS}")
ENDIF(NOT WIN32)
INCLUDE("${QT_USE_FILE}")
IF(WANT_QT5)
SET(QT5 TRUE)
FIND_PACKAGE(Qt5Core REQUIRED)
FIND_PACKAGE(Qt5Gui REQUIRED)
FIND_PACKAGE(Qt5LinguistTools)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(Qt5Xml REQUIRED)
INCLUDE_DIRECTORIES(
${Qt5Core_INCLUDE_DIRS}
${Qt5Gui_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS}
${Qt5Xml_INCLUDE_DIRS}
)
SET(QT_LIBRARIES
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Xml
)
IF(LMMS_BUILD_LINUX)
FIND_PACKAGE(Qt5X11Extras REQUIRED)
LIST(APPEND QT_LIBRARIES Qt5::X11Extras)
ENDIF()
# Resolve Qt5::qmake to full path for use in packaging scripts
GET_TARGET_PROPERTY(QT_QMAKE_EXECUTABLE "${Qt5Core_QMAKE_EXECUTABLE}" IMPORTED_LOCATION)
FIND_PACKAGE(Qt5Test)
SET(QT_QTTEST_LIBRARY Qt5::Test)
ELSE()
SET(QT5 FALSE)
# check for Qt4
SET(QT_MIN_VERSION "4.6.0" COMPONENTS QtCore QtGui QtXml)
FIND_PACKAGE(Qt4 REQUIRED)
SET(QT_USE_QTXML 1)
IF(WIN32)
SET(QT_TRANSLATIONS_DIR "${MINGW_PREFIX}/share/qt4/translations/")
ENDIF(WIN32)
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
ENDIF()
IF(NOT WIN32)
STRING(REPLACE "-DQT_DLL" "" QT_DEFINITIONS "${QT_DEFINITIONS}")
ENDIF()
INCLUDE("${QT_USE_FILE}")
ENDIF()
# check for libsndfile
PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.11)
@@ -123,44 +194,48 @@ IF(NOT SNDFILE_FOUND)
ENDIF(NOT SNDFILE_FOUND)
IF(WANT_CALF)
SET(LMMS_HAVE_CALF TRUE)
SET(STATUS_CALF "OK")
SET(LMMS_HAVE_CALF TRUE)
SET(STATUS_CALF "OK")
ELSE(WANT_CALF)
SET(STATUS_CALF "not built as requested")
SET(STATUS_CALF "not built as requested")
ENDIF(WANT_CALF)
IF(WANT_CAPS)
SET(LMMS_HAVE_CAPS TRUE)
SET(STATUS_CAPS "OK")
SET(LMMS_HAVE_CAPS TRUE)
SET(STATUS_CAPS "OK")
ELSE(WANT_CAPS)
SET(STATUS_CAPS "not built as requested")
SET(STATUS_CAPS "not built as requested")
ENDIF(WANT_CAPS)
IF(WANT_CMT)
SET(LMMS_HAVE_CMT TRUE)
SET(STATUS_CMT "OK")
SET(LMMS_HAVE_CMT TRUE)
SET(STATUS_CMT "OK")
ELSE(WANT_CMT)
SET(STATUS_CMT "not built as requested")
SET(STATUS_CMT "not built as requested")
ENDIF(WANT_CMT)
IF(WANT_SWH)
SET(LMMS_HAVE_SWH TRUE)
SET(STATUS_SWH "OK")
SET(LMMS_HAVE_SWH TRUE)
SET(STATUS_SWH "OK")
ELSE(WANT_SWH)
SET(STATUS_SWH "not built as requested")
SET(STATUS_SWH "not built as requested")
ENDIF(WANT_SWH)
IF(WANT_TAP)
SET(LMMS_HAVE_TAP TRUE)
SET(STATUS_TAP "OK")
SET(LMMS_HAVE_TAP TRUE)
SET(STATUS_TAP "OK")
ELSE(WANT_TAP)
SET(STATUS_TAP "not built as requested")
SET(STATUS_TAP "not built as requested")
ENDIF(WANT_TAP)
# check for CARLA
IF(WANT_CARLA)
PKG_CHECK_MODULES(CARLA carla-standalone>=1.9.5)
PKG_CHECK_MODULES(CARLA carla-native-plugin)
# look for carla under old name
IF(NOT CARLA_FOUND)
PKG_CHECK_MODULES(CARLA carla-standalone>=1.9.5)
ENDIF()
IF(CARLA_FOUND)
SET(LMMS_HAVE_CARLA TRUE)
SET(STATUS_CARLA "OK")
@@ -178,7 +253,7 @@ IF(WANT_SDL)
SET(LMMS_HAVE_SDL TRUE)
SET(STATUS_SDL "OK")
ELSE(SDL_FOUND)
SET(STATUS_SDL "not found, please install libsdl1.2-dev (or similiar) "
SET(STATUS_SDL "not found, please install libsdl1.2-dev (or similar) "
"if you require SDL support")
ENDIF(SDL_FOUND)
ENDIF(WANT_SDL)
@@ -199,7 +274,7 @@ IF(WANT_STK)
SET(STATUS_STK "OK")
ELSE(STK_FOUND)
SET(STK_INCLUDE_DIR "")
SET(STATUS_STK "not found, please install libstk0-dev (or similiar) "
SET(STATUS_STK "not found, please install libstk0-dev (or similar) "
"if you require the Mallets instrument")
ENDIF(STK_FOUND)
ENDIF(WANT_STK)
@@ -212,11 +287,25 @@ IF(WANT_PORTAUDIO)
SET(LMMS_HAVE_PORTAUDIO TRUE)
SET(STATUS_PORTAUDIO "OK")
ELSE(PORTAUDIO_FOUND)
SET(STATUS_PORTAUDIO "not found, please install portaudio19-dev (or similiar, version >= 1.9) "
SET(STATUS_PORTAUDIO "not found, please install portaudio19-dev (or similar, version >= 1.9) "
"if you require PortAudio support")
ENDIF(PORTAUDIO_FOUND)
ENDIF(WANT_PORTAUDIO)
# check for libsoundio
IF(WANT_SOUNDIO)
FIND_PACKAGE(SoundIo)
IF(SOUNDIO_FOUND)
SET(LMMS_HAVE_SOUNDIO TRUE)
SET(STATUS_SOUNDIO "OK")
INCLUDE_DIRECTORIES("${SOUNDIO_INCLUDE_DIR}")
ELSE(SOUNDIO_FOUND)
SET(SOUNDIO_INCLUDE_DIR "")
SET(STATUS_SOUNDIO "not found, please install libsoundio if you require libsoundio support")
SET(SOUNDIO_LIBRARY "")
ENDIF(SOUNDIO_FOUND)
ENDIF(WANT_SOUNDIO)
# check for PulseAudio
IF(WANT_PULSEAUDIO)
@@ -225,7 +314,7 @@ IF(WANT_PULSEAUDIO)
SET(LMMS_HAVE_PULSEAUDIO TRUE)
SET(STATUS_PULSEAUDIO "OK")
ELSE(PULSEAUDIO_FOUND)
SET(STATUS_PULSEAUDIO "not found, please install libpulse-dev (or similiar) "
SET(STATUS_PULSEAUDIO "not found, please install libpulse-dev (or similar) "
"if you require PulseAudio support")
ENDIF(PULSEAUDIO_FOUND)
ENDIF(WANT_PULSEAUDIO)
@@ -235,6 +324,21 @@ IF(NOT LMMS_HAVE_PULSEAUDIO)
ENDIF(NOT LMMS_HAVE_PULSEAUDIO)
# check for MP3/Lame-libraries
IF(WANT_MP3LAME)
FIND_PACKAGE(Lame)
IF(LAME_FOUND)
SET(LMMS_HAVE_MP3LAME TRUE)
SET(STATUS_MP3LAME "OK")
ELSE(LAME_FOUND)
SET(STATUS_MP3LAME "not found, please install libmp3lame-dev (or similar)")
SET(LAME_LIBRARIES "")
SET(LAME_INCLUDE_DIRS "")
ENDIF(LAME_FOUND)
ELSE(WANT_MP3LAME)
SET(STATUS_MP3LAME "Disabled for build")
ENDIF(WANT_MP3LAME)
# check for OGG/Vorbis-libraries
IF(WANT_OGGVORBIS)
FIND_PACKAGE(OggVorbis)
@@ -242,7 +346,7 @@ IF(WANT_OGGVORBIS)
SET(LMMS_HAVE_OGGVORBIS TRUE)
SET(STATUS_OGGVORBIS "OK")
ELSE(OGGVORBIS_FOUND)
SET(STATUS_OGGVORBIS "not found, libogg-dev and libvorbis-dev (or similiar) "
SET(STATUS_OGGVORBIS "not found, libogg-dev and libvorbis-dev (or similar) "
"is highly recommended")
ENDIF(OGGVORBIS_FOUND)
ENDIF(WANT_OGGVORBIS)
@@ -264,7 +368,7 @@ IF(WANT_ALSA)
SET(LMMS_HAVE_ALSA TRUE)
SET(STATUS_ALSA "OK")
ELSE(ALSA_FOUND)
SET(STATUS_ALSA "not found, please install libasound2-dev (or similiar) "
SET(STATUS_ALSA "not found, please install libasound2-dev (or similar) "
"if you require ALSA support")
ENDIF(ALSA_FOUND)
ENDIF(WANT_ALSA)
@@ -277,10 +381,18 @@ ENDIF(NOT LMMS_HAVE_ALSA)
IF(WANT_JACK)
PKG_CHECK_MODULES(JACK jack>=0.77)
IF(JACK_FOUND)
IF(WANT_WEAKJACK)
SET(LMMS_HAVE_WEAKJACK TRUE)
SET(STATUS_JACK "OK (weak linking enabled)")
SET(JACK_INCLUDE_DIRS "")
# use dlsym instead
SET(JACK_LIBRARIES ${CMAKE_DL_LIBS})
ELSE()
SET(STATUS_JACK "OK")
ENDIF()
SET(LMMS_HAVE_JACK TRUE)
SET(STATUS_JACK "OK")
ELSE(JACK_FOUND)
SET(STATUS_JACK "not found, please install libjack0.100.0-dev (or similiar) "
SET(STATUS_JACK "not found, please install libjack0.100.0-dev (or similar) "
"if you require JACK support")
ENDIF(JACK_FOUND)
ENDIF(WANT_JACK)
@@ -290,6 +402,10 @@ ENDIF(WANT_JACK)
PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0)
# check for FLTK
FIND_PACKAGE(FLTK)
# check for Fluidsynth
IF(WANT_SF2)
PKG_CHECK_MODULES(FLUIDSYNTH fluidsynth>=1.0.7)
@@ -297,24 +413,52 @@ IF(WANT_SF2)
SET(LMMS_HAVE_FLUIDSYNTH TRUE)
SET(STATUS_FLUIDSYNTH "OK")
ELSE(FLUIDSYNTH_FOUND)
SET(STATUS_FLUIDSYNTH "not found, libfluidsynth-dev (or similiar)"
SET(STATUS_FLUIDSYNTH "not found, libfluidsynth-dev (or similar)"
"is highly recommended")
ENDIF(FLUIDSYNTH_FOUND)
ENDIF(WANT_SF2)
# check for libgig
If(WANT_GIG)
PKG_CHECK_MODULES(GIG gig)
IF(GIG_FOUND)
SET(LMMS_HAVE_GIG TRUE)
SET(STATUS_GIG "OK")
ELSE(GIG_FOUND)
SET(STATUS_GIG "not found, libgig needed for decoding .gig files")
ENDIF(GIG_FOUND)
ENDIF(WANT_GIG)
# check for pthreads
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE)
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD)
FIND_PACKAGE(Threads)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD)
IF(WANT_SNDIO)
FIND_PACKAGE(Sndio)
IF(SNDIO_FOUND)
SET(LMMS_HAVE_SNDIO TRUE)
SET(STATUS_SNDIO "OK")
ELSE()
SET(STATUS_SNDIO "<not found or not supported on this platform>")
ENDIF(SNDIO_FOUND)
ENDIF(WANT_SNDIO)
# check for WINE
IF(WANT_VST)
FIND_PACKAGE(Wine)
IF(WINE_FOUND)
SET(LMMS_SUPPORT_VST TRUE)
IF(WINE_LIBRARY_FIX)
SET(STATUS_VST "OK, with workaround linking ${WINE_LIBRARY_FIX}")
ELSE()
SET(STATUS_VST "OK")
ENDIF()
ELSEIF(WANT_VST_NOWINE)
SET(LMMS_SUPPORT_VST TRUE)
SET(STATUS_VST "OK")
ELSE(WINE_FOUND)
SET(STATUS_VST "not found, please install (lib)wine-dev (or similiar) - 64 bit systems additionally need gcc-multilib and g++-multilib")
SET(STATUS_VST "not found, please install (lib)wine-dev (or similar) - 64 bit systems additionally need gcc-multilib and g++-multilib")
ENDIF(WINE_FOUND)
ENDIF(WANT_VST)
IF(LMMS_BUILD_WIN32)
@@ -326,40 +470,45 @@ ENDIF(LMMS_BUILD_WIN32)
# check for libsamplerate
PKG_CHECK_MODULES(SAMPLERATE REQUIRED samplerate>=0.1.8)
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/lmmsconfig.h.in" "${CMAKE_BINARY_DIR}/lmmsconfig.h")
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/lmmsversion.h.in" "${CMAKE_BINARY_DIR}/lmmsversion.h")
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/lmms.rc.in" "${CMAKE_BINARY_DIR}/lmms.rc")
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc.in" "${CMAKE_BINARY_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc")
# set compiler flags
SET(WERROR_FLAGS "-Wall -Werror=unused-function -Wno-sign-compare -Wno-strict-overflow")
IF(NOT LMMS_BUILD_APPLE)
OPTION(USE_WERROR "Add -werror to the build flags. Stops the build on warnings" OFF)
IF(${USE_WERROR})
SET(WERROR_FLAGS "${WERROR_FLAGS} -Werror")
ENDIF()
# Due to a regression in gcc-4.8.X, we need to disable array-bounds check
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0")))
IF (CMAKE_COMPILER_IS_GNUCXX AND ((CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.8.0") OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8.0") OR LMMS_BUILD_WIN32))
SET(WERROR_FLAGS "${WERROR_FLAGS} -Wno-array-bounds")
ENDIF()
SET(CMAKE_C_FLAGS "-O2 -g ${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-O2 -g -fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_DEBUG "-DLMMS_DEBUG")
IF(NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
"MinSizeRel" "RelWithDebInfo")
ENDIF()
SET(CMAKE_C_FLAGS "${WERROR_FLAGS} ${CMAKE_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "-fno-exceptions ${WERROR_FLAGS} ${CMAKE_CXX_FLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DLMMS_DEBUG")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DLMMS_DEBUG")
# people simply updating git will still have this and mess up build with it
FILE(REMOVE include/lmmsconfig.h)
FILE(GLOB lmms_INCLUDES "${CMAKE_SOURCE_DIR}/include/*.h")
FILE(GLOB lmms_UI "${CMAKE_SOURCE_DIR}/src/gui/dialogs/*.ui" "${CMAKE_SOURCE_DIR}/src/gui/Forms/*.ui")
FILE(GLOB_RECURSE lmms_SOURCES "${CMAKE_SOURCE_DIR}/src/*.cpp")
FILE(GLOB LMMS_INCLUDES "${CMAKE_SOURCE_DIR}/include/*.h")
LIST(SORT LMMS_INCLUDES)
SET(lmms_MOC ${lmms_INCLUDES})
# Get list of all committers from git history, ordered by number of commits
# Get list of all committers from git history, ordered by number of commits.
# The CONTRIBUTORS file is used by AboutDialog. This information can be provided
# with -DCONTRIBUTORS=/path/to/CONTRIBUTORS instead. For instance, to generate
# this file for version 1.1.3, the command is:
# git shortlog -sne v1.1.3 | cut -c8-
FIND_PACKAGE(Git)
IF(GIT_FOUND)
IF(GIT_FOUND AND NOT CONTRIBUTORS)
SET(CONTRIBUTORS "${CMAKE_BINARY_DIR}/CONTRIBUTORS")
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" shortlog -sne
@@ -367,177 +516,66 @@ IF(GIT_FOUND)
OUTPUT_FILE "${CONTRIBUTORS}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
TIMEOUT 1)
ENDIF(GIT_FOUND)
SET(lmms_EMBEDDED_RESOURCES "${CMAKE_SOURCE_DIR}/AUTHORS" "${CMAKE_SOURCE_DIR}/COPYING" "${CONTRIBUTORS}")
QT4_WRAP_CPP(lmms_MOC_out ${lmms_MOC} OPTIONS -nw)
QT4_WRAP_UI(lmms_UI_out ${lmms_UI})
ENDIF()
# embedded resources stuff
IF(WIN32 OR WIN64)
# compile buildtools native
SET(BIN2RES_CPP "${CMAKE_SOURCE_DIR}/buildtools/bin2res.cpp")
SET(BIN2RES "${CMAKE_BINARY_DIR}/bin2res")
ADD_CUSTOM_COMMAND(OUTPUT "${BIN2RES}" COMMAND g++ ARGS "\"${BIN2RES_CPP}\"" -o "\"${BIN2RES}\"" DEPENDS "${BIN2RES_CPP}")
ADD_CUSTOM_TARGET(bin2res COMMAND g++ "\"${BIN2RES_CPP}\"" -o "\"${BIN2RES}\"" DEPENDS "${BIN2RES_CPP}")
ELSE(WIN32 OR WIN64)
ADD_EXECUTABLE(bin2res buildtools/bin2res.cpp)
GET_TARGET_PROPERTY(BIN2RES bin2res LOCATION)
ENDIF(WIN32 OR WIN64)
SET(LMMS_ER_H "${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h")
# we somehow have to make LMMS-binary depend on MOC-files
ADD_FILE_DEPENDENCIES("${CMAKE_BINARY_DIR}/lmmsconfig.h" ${lmms_MOC_out})
ADD_CUSTOM_COMMAND(OUTPUT "${LMMS_ER_H}" COMMAND "${BIN2RES}" ARGS ${lmms_EMBEDDED_RESOURCES} > "\"${LMMS_ER_H}\"" DEPENDS "${BIN2RES}")
ADD_FILE_DEPENDENCIES("${CMAKE_BINARY_DIR}/lmmsconfig.h")
IF(WIN32)
SET(WINRC "${CMAKE_BINARY_DIR}/lmmsrc.obj")
ADD_CUSTOM_COMMAND(OUTPUT "${WINRC}"
COMMAND "${WINDRES}"
"-I\"${CMAKE_SOURCE_DIR}\""
"-o\"${CMAKE_BINARY_DIR}/lmmsrc.obj\""
"-i\"${CMAKE_BINARY_DIR}/lmms.rc\""
DEPENDS "${CMAKE_BINARY_DIR}/lmms.rc")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
ELSE(WIN32)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -DPIC")
ENDIF(WIN32)
# set up apple vars before traversing into data/scripts
SET(MACOSX_BUNDLE_ICON_FILE "lmms.icns")
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "LMMS")
SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_NAME "LMMS")
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
SET(MACOSX_BUNDLE_COPYRIGHT "Tobias Doerffel, 2008-2010")
SET(MACOSX_BUNDLE_MIMETYPE "application/x-lmms-project")
SET(MACOSX_BUNDLE_MIMETYPE_ICON "project.icns")
SET(MACOSX_BUNDLE_MIMETYPE_ID "net.sourceforge.lmms")
SET(MACOSX_BUNDLE_PROJECT_URL "http://lmms.io")
# use ccache
OPTION(USE_CCACHE "Use ccache for compilation" OFF)
IF(USE_CCACHE)
FIND_PROGRAM(CCACHE ccache)
IF (CCACHE)
MESSAGE(STATUS "Using ccache found in PATH")
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
ELSE()
MESSAGE(WARNING "USE_CCACHE enabled, but no ccache found")
ENDIF()
ENDIF()
# make sub-directories
ADD_SUBDIRECTORY(cmake)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(plugins)
ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(data)
ADD_SUBDIRECTORY(doc)
# post-install tasks
ADD_SUBDIRECTORY(cmake/postinstall)
#
# build LMMS-binary
#
IF(LMMS_BUILD_WIN32)
SET(EXTRA_LIBRARIES "-lwinmm")
ENDIF()
ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_BINARY_DIR}/lmms.1.gz"
COMMAND gzip -c ${CMAKE_SOURCE_DIR}/doc/lmms.1 > ${CMAKE_BINARY_DIR}/lmms.1.gz
DEPENDS "${CMAKE_SOURCE_DIR}/doc/lmms.1"
COMMENT "Generating lmms.1.gz"
VERBATIM)
# Paths relative to lmms executable
FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/${BIN_DIR}" "/${LIB_DIR}")
FILE(RELATIVE_PATH PLUGIN_DIR_RELATIVE "/${BIN_DIR}" "/${PLUGIN_DIR}")
ADD_DEFINITIONS(-D'LIB_DIR="${LIB_DIR_RELATIVE}/"' -D'PLUGIN_DIR="${PLUGIN_DIR_RELATIVE}/"' ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS})
INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/include"
"${CMAKE_SOURCE_DIR}"
"${CMAKE_SOURCE_DIR}/include"
${JACK_INCLUDE_DIRS}
${SAMPLERATE_INCLUDE_DIRS}
${SNDFILE_INCLUDE_DIRS})
IF(NOT ("${SDL_INCLUDE_DIR}" STREQUAL ""))
INCLUDE_DIRECTORIES("${SDL_INCLUDE_DIR}")
ENDIF()
IF(NOT ("${PORTAUDIO_INCLUDE_DIR}" STREQUAL ""))
INCLUDE_DIRECTORIES("${PORTAUDIO_INCLUDE_DIR}")
ENDIF()
IF(NOT ("${PULSEAUDIO_INCLUDE_DIR}" STREQUAL ""))
INCLUDE_DIRECTORIES("${PULSEAUDIO_INCLUDE_DIR}")
ENDIF()
IF(NOT ("${OGGVORBIS_INCLUDE_DIR}" STREQUAL ""))
INCLUDE_DIRECTORIES("${OGGVORBIS_INCLUDE_DIR}")
ENDIF()
ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_BINARY_DIR}/lmms.1.gz" COMMAND gzip -c "\"${CMAKE_SOURCE_DIR}/lmms.1\"" > "\"${CMAKE_BINARY_DIR}/lmms.1.gz\"" DEPENDS "${CMAKE_SOURCE_DIR}/lmms.1" COMMENT "Generating lmms.1.gz")
ADD_EXECUTABLE(lmms ${lmms_SOURCES} ${lmms_INCLUDES} "${LMMS_ER_H}" ${lmms_UI_out} lmmsconfig.h lmmsversion.h "${WINRC}" "${CMAKE_BINARY_DIR}/lmms.1.gz")
TARGET_LINK_LIBRARIES(lmms ${CMAKE_THREAD_LIBS_INIT} ${QT_LIBRARIES} ${ASOUND_LIBRARY} ${SDL_LIBRARY} ${PORTAUDIO_LIBRARIES} ${PULSEAUDIO_LIBRARIES} ${JACK_LIBRARIES} ${OGGVORBIS_LIBRARIES} ${SAMPLERATE_LIBRARIES} ${SNDFILE_LIBRARIES} ${EXTRA_LIBRARIES})
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\"")
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
INSTALL(FILES
"${MINGW_PREFIX}/bin/QtCore4.dll"
"${MINGW_PREFIX}/bin/QtGui4.dll"
"${MINGW_PREFIX}/bin/QtSvg4.dll"
"${MINGW_PREFIX}/bin/QtXml4.dll"
"${MINGW_PREFIX}/bin/libsamplerate-0.dll"
"${MINGW_PREFIX}/bin/libsndfile-1.dll"
"${MINGW_PREFIX}/bin/libvorbis-0.dll"
"${MINGW_PREFIX}/bin/libvorbisenc-2.dll"
"${MINGW_PREFIX}/bin/libvorbisfile-3.dll"
"${MINGW_PREFIX}/bin/libjpeg-9.dll"
"${MINGW_PREFIX}/bin/libogg-0.dll"
"${MINGW_PREFIX}/lib/libfltk.dll"
"${MINGW_PREFIX}/bin/libfluidsynth.dll"
"${MINGW_PREFIX}/bin/libfftw3f-3.dll"
"${MINGW_PREFIX}/bin/libFLAC-8.dll"
"${MINGW_PREFIX}/bin/libportaudio-2.dll"
"${MINGW_PREFIX}/bin/libpng16-16.dll"
"${MINGW_PREFIX}/bin/SDL.dll"
"${MINGW_PREFIX}/bin/libglib-2.0-0.dll"
"${MINGW_PREFIX}/bin/libgthread-2.0-0.dll"
"${MINGW_PREFIX}/bin/zlib1.dll"
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
DESTINATION .)
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_DIR}")
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)
#
# rules for building localizations
#
FILE(GLOB lmms_LOCALES data/locale/*.ts)
SET(ts_targets "")
SET(qm_targets "")
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}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${lmms_SOURCES} ${lmms_INCLUDES} ${lmms_UI} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp' -or -name '*.h'` -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}")
ENDFOREACH(_ts_file ${lmms_LOCALES})
ADD_CUSTOM_TARGET(update-locales)
FOREACH(_item ${ts_targets})
ADD_DEPENDENCIES(update-locales "${_item}")
ENDFOREACH(_item ${ts_targets})
ADD_CUSTOM_TARGET(finalize-locales)
FOREACH(_item ${qm_targets})
ADD_DEPENDENCIES(finalize-locales "${_item}")
ENDFOREACH(_item ${qm_targets})
ADD_CUSTOM_TARGET(manpage ALL
DEPENDS "${CMAKE_BINARY_DIR}/lmms.1.gz")
# install headers
IF(LMMS_BUILD_LINUX)
INSTALL(FILES ${lmms_INCLUDES}
INSTALL(FILES ${LMMS_INCLUDES}
"${CMAKE_BINARY_DIR}/lmmsconfig.h"
"${CMAKE_BINARY_DIR}/lmmsversion.h"
"${CMAKE_SOURCE_DIR}/src/gui/embed.cpp"
@@ -551,6 +589,7 @@ IF(LMMS_BUILD_WIN32)
FILE(GLOB ZASF_BINARIES
"${CMAKE_SOURCE_DIR}/extras/plugins/zynaddsubfx/zynaddsubfx.dll"
"${CMAKE_SOURCE_DIR}/extras/plugins/zynaddsubfx/remote_zynaddsubfx.exe")
LIST(SORT ZASF_BINARIES)
INSTALL(FILES "${ZASF_BINARIES}" DESTINATION "${PLUGIN_DIR}")
ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/extras")
ENDIF(LMMS_BUILD_WIN32)
@@ -570,16 +609,12 @@ ADD_CUSTOM_TARGET(dist
COMMAND make clean
COMMAND rm -rf "${TMP}"
COMMAND mkdir -p "${TMP}"
COMMAND cp AUTHORS build_mingw32 build_mingw64 CMakeLists.txt configure COPYING INSTALL lmms.1 lmms.rc.in lmms.spec.in lmmsconfig.h.in lmmsversion.h.in README TODO "${TMP}"
COMMAND cp CMakeLists.txt LICENSE.txt INSTALL.txt README.md "${TMP}"
COMMAND cp -r buildtools cmake data doc include plugins src "${TMP}"
COMMAND rm -rf `find "${TMP}" -name cmake_install.cmake` `find "${TMP}" -name Makefile` `find "${TMP}" -type d -name CMakeFiles` "${TMP}/CMakeCache.txt"
COMMAND tar cjf lmms-${VERSION}-src.tar.bz2 "${TMP}"
COMMAND rm -rf "${TMP}")
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LMMS_ER_H} ${lmms_MOC_out} ${lmms_UI_out} lmmsconfig.h lmms.1.gz")
#
# display configuration information
#
@@ -596,7 +631,9 @@ MESSAGE(
"* ALSA : ${STATUS_ALSA}\n"
"* JACK : ${STATUS_JACK}\n"
"* OSS : ${STATUS_OSS}\n"
"* Sndio : ${STATUS_SNDIO}\n"
"* PortAudio : ${STATUS_PORTAUDIO}\n"
"* libsoundio : ${STATUS_SOUNDIO}\n"
"* PulseAudio : ${STATUS_PULSEAUDIO}\n"
"* SDL : ${STATUS_SDL}\n"
)
@@ -606,7 +643,10 @@ MESSAGE(
"-------------------------\n"
"* ALSA : ${STATUS_ALSA}\n"
"* OSS : ${STATUS_OSS}\n"
"* Sndio : ${STATUS_SNDIO}\n"
"* JACK : ${STATUS_JACK}\n"
"* WinMM : ${STATUS_WINMM}\n"
"* AppleMidi : ${STATUS_APPLEMIDI}\n"
)
MESSAGE(
@@ -614,6 +654,7 @@ MESSAGE(
"-----------------------------------------\n"
"* WAVE : OK\n"
"* OGG/VORBIS : ${STATUS_OGGVORBIS}\n"
"* MP3/Lame : ${STATUS_MP3LAME}\n"
)
MESSAGE(
@@ -629,6 +670,7 @@ MESSAGE(
"* CMT LADSPA plugins : ${STATUS_CMT}\n"
"* TAP LADSPA plugins : ${STATUS_TAP}\n"
"* SWH LADSPA plugins : ${STATUS_SWH}\n"
"* GIG player : ${STATUS_GIG}\n"
)
MESSAGE(
@@ -641,59 +683,3 @@ MESSAGE(
"\n\n")
INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "LMMS - easy music production for everyone!")
SET(CPACK_PACKAGE_VENDOR "LMMS Developers")
IF(LMMS_BUILD_APPLE)
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/README" "${CMAKE_BINARY_DIR}/README.txt" COPYONLY)
CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/COPYING" "${CMAKE_BINARY_DIR}/COPYING.txt" COPYONLY)
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_BINARY_DIR}/README.txt")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_BINARY_DIR}/COPYING.txt")
ELSE(LMMS_BUILD_APPLE)
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
ENDIF(LMMS_BUILD_APPLE)
SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
IF(VERSION_SUFFIX)
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}-${VERSION_SUFFIX}")
ENDIF(VERSION_SUFFIX)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "LMMS")
IF(WIN32)
SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/data/nsis_branding.bmp")
SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/data/lmms.ico")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "lmms.exe")
SET(CPACK_NSIS_DISPLAY_NAME "LMMS ${VERSION}")
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\lmms.io")
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\lmms.io")
SET(CPACK_NSIS_CONTACT "lmms-devel@lists.sourceforge.net")
SET(CPACK_PACKAGE_EXECUTABLES "lmms.exe;LMMS")
SET(CPACK_NSIS_MENU_LINKS "lmms.exe;LMMS")
SET(CPACK_NSIS_DEFINES "!include ${CMAKE_SOURCE_DIR}/cmake/nsis/FileAssociation.nsh")
SET(CPACK_PACKAGE_FILE_NAME "lmms-${VERSION}-win32")
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
\\\${registerExtension} \\\"$INSTDIR\\\\lmms.exe\\\" \\\".mmp\\\" \\\"LMMS Project\\\"
\\\${registerExtension} \\\"$INSTDIR\\\\lmms.exe\\\" \\\".mmpz\\\" \\\"LMMS Project (compressed)\\\"
")
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
\\\${unregisterExtension} \\\".mmp\\\" \\\"LMMS Project\\\"
\\\${unregisterExtension} \\\".mmpz\\\" \\\"LMMS Project (compressed)\\\"
DeleteRegKey HKCR \\\"LMMS Project\\\"
DeleteRegKey HKCR \\\"LMMS Project (compressed)\\\"
")
ELSE(WIN32)
SET(CPACK_STRIP_FILES "bin/lmms;${PLUGIN_DIR}/*.so")
SET(CPACK_PACKAGE_EXECUTABLES "lmms" "LMMS binary")
ENDIF(WIN32)
IF(WIN64)
SET(CPACK_PACKAGE_FILE_NAME "lmms-${VERSION}-win64")
SET(CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}
InstallDir \\\"\\\$PROGRAMFILES64\\\\${CPACK_PACKAGE_INSTALL_DIRECTORY}\\\"")
ENDIF(WIN64)
SET(CPACK_SOURCE_GENERATOR "TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "lmms-${VERSION}")
INCLUDE(CPack)

View File

@@ -31,3 +31,18 @@ If you want to supply an install prefix to cmake, add the flag:
Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /usr/local.
Building with QT5
First of all please note that CMake >= 2.8.11 is required for building with
Qt5 support. In order to build LMMS with Qt5, add the following flag when
invoking cmake:
-DWANT_QT5=ON
If your Qt5 installation does not reside in standard installation paths,
additionally pass e.g.
-DCMAKE_PREFIX_PATH=/opt/qt53/

104
README
View File

@@ -1,104 +0,0 @@
LMMS 1.0.93
===========
Copyright (c) 2004-2014 by LMMS developers
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
What is LMMS?
--------------
LMMS is a free cross-platform alternative to commercial programs like FL Studio (R), which allow you to produce music with your computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. You can have fun with your MIDI-keyboard and much more; all in a user-friendly and modern interface.
Features
---------
* Song-Editor for composing songs
* A Beat+Bassline-Editor for creating beats and basslines
* An easy-to-use Piano-Roll for editing patterns and melodies
* An FX mixer with 64 FX channels and arbitrary number of effects allow unlimited mixing possibilities
* Many powerful instrument and effect-plugins out of the box
* Full user-defined track-based automation and computer-controlled automation sources
* Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support
* Import of MIDI and FLP (Fruityloops(R) Project) files
Requirements
------------
The most important requirement is for sure a fast computer, so don't try to get
LMMS working on a pentium I with 60 MHz... ;-) Therefore you should have at
least 500 MHz, but for really enjoying LMMS less than 1 GHz makes no sense...
Required libraries:
- Qt >= 4.3.0 with devel-files (4.4.x recommended)
Optional, but strongly recommended:
- JACK with devel-files
- libvorbis & libogg with devel-files
- libalsa with devel-files
- SDL with devel-files
- libsamplerate >= 0.1.7 with devel-files
- libsndfile with devel-files
- WINE + WINE-devel-files
- stk, libstk + libstk-dev
- libfluidsynth with devel files
- fftw3 with devel-files
- libfltk1.3 with devel-files (needed by ZynAddSubFx)
For compiling you should have an up to date GCC with g++.
If you have problems with compiling or running LMMS, find any bug or have
suggestions and so on, please feel free to e-mail me (for mail-address see
below)!
Building
---------
See INSTALL for information on how to build LMMS.
Join LMMS-development
----------------------
If you are interested in LMMS, it's programming, artwork, testing, writing
demo-songs, (and improving this README...) or something like that,
you're welcome to participate on the development of LMMS!
The project-homepage of LMMS, mailingslists and a list of things you can do
can be found at
http://lmms.io/
Details on development can be found in the Wiki:
https://github.com/LMMS/lmms/wiki
Before coding a new big feature, please ALWAYS post your idea and suggestions
about your feature and about the intended implementation to the
LMMS-devel-mailinglist (lmms-devel@lists.sourceforge.net) and wait for replies!
Maybe there're different ideas, improvements, hints or maybe your feature is
not welcome/needed at the moment.

View File

@@ -1,18 +1,26 @@
![LMMS Logo](http://lmms.sourceforge.net/Lmms_logo.png) LMMS
=======================
[![Build Status](https://travis-ci.org/LMMS/lmms.png)](https://travis-ci.org/LMMS/lmms)
# ![LMMS Logo](http://lmms.sourceforge.net/Lmms_logo.png) LMMS
[![Build status](https://img.shields.io/travis/LMMS/lmms.svg?maxAge=3600)](https://travis-ci.org/LMMS/lmms)
[![Latest stable release](https://img.shields.io/github/release/LMMS/lmms.svg?maxAge=3600)](https://lmms.io/download)
[![Overall downloads on Github](https://img.shields.io/github/downloads/LMMS/lmms/total.svg?maxAge=3600)](https://github.com/LMMS/lmms/releases)
[![Join the chat at Discord](https://img.shields.io/badge/chat-on%20discord-7289DA.svg)](https://discord.gg/3sc5su7)
[![Localise on transifex](https://img.shields.io/badge/localise-on_transifex-green.svg)](https://www.transifex.com/lmms/lmms/)
What is LMMS?
--------------
LMMS is a free cross-platform alternative to commercial programs like FL Studio®, which allow you to produce music with your computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. You can have fun with your MIDI-keyboard and much more; all in a user-friendly and modern interface.
LMMS is a free cross-platform alternative to commercial programs like
FL Studio®, which allow you to produce music with your computer. This includes
the creation of melodies and beats, the synthesis and mixing of sounds, and
arranging of samples. You can have fun with your MIDI-keyboard and much more;
all in a user-friendly and modern interface.
[Homepage](http://lmms.io)<br>
[Homepage](https://lmms.io)<br>
[Downloads/Releases](https://github.com/LMMS/lmms/releases)<br>
[Developer Wiki](https://github.com/LMMS/lmms/wiki)<br>
[Artist & User Wiki/Documentation](http://lmms.io/documentation)<br>
[Sound Demos](http://lmms.io/showcase/)<br>
[LMMS Sharing Platform](http://lmms.io/lsp/) Share your songs!
[Artist & User Wiki/Documentation](https://lmms.io/documentation)<br>
[Sound Demos](https://lmms.io/showcase/)<br>
[LMMS Sharing Platform](https://lmms.io/lsp/) Share your songs!
Features
---------
@@ -20,31 +28,32 @@ Features
* Song-Editor for composing songs
* A Beat+Bassline-Editor for creating beats and basslines
* An easy-to-use Piano-Roll for editing patterns and melodies
* An FX mixer with 64 FX channels and arbitrary number of effects allow unlimited mixing possibilities
* An FX mixer with unlimited FX channels and arbitrary number of effects
* Many powerful instrument and effect-plugins out of the box
* Full user-defined track-based automation and computer-controlled automation sources
* Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support
* Import of MIDI and FLP (FL Studio®/Fruityloops® Project) files
[Latest Stable Release (1.0.3)](https://github.com/LMMS/lmms/releases/tag/v1.0.3)
---------------------
* Fix zyn GUI crash on win32
* Fix SF2 note volume
* Localization updates
* Updated LADSPA search paths
* Bugfixes in plugins
* MIDI file importing and exporting
Building
---------
See [Compiling LMMS](https://github.com/LMMS/lmms/wiki/Compiling-lmms) on our wiki for information on how to build LMMS.
See [Compiling LMMS](https://github.com/LMMS/lmms/wiki/Compiling) on our
wiki for information on how to build LMMS.
Join LMMS-development
----------------------
If you are interested in LMMS, it's programming, artwork, testing, writing demo-songs, (and improving this readme…) or something like that, you're welcome to participate on the development of LMMS!
If you are interested in LMMS, its programming, artwork, testing, writing demo
songs, (and improving this README...) or something like that, you're welcome
to participate in the development of LMMS!
Information about what you can do and how can be found in the [wiki](https://github.com/LMMS/lmms/wiki).
Information about what you can do and how can be found in the
[wiki](https://github.com/LMMS/lmms/wiki).
Before coding a new big feature, please _always_ [file an issue](https://github.com/LMMS/lmms/issues/new) for your idea and suggestions about your feature and about the intended implementation on GitHub or post to the LMMS-devel-mailinglist (lmms-devel@lists.sourceforge.net) and wait for replies! Maybe there're different ideas, improvements, hints or maybe your feature is not welcome/needed at the moment.
Before coding a new big feature, please _always_
[file an issue](https://github.com/LMMS/lmms/issues/new) for your idea and
suggestions about your feature and about the intended implementation on GitHub
or post to the LMMS developers mailinglist (lmms-devel@lists.sourceforge.net)
and wait for replies! Maybe there are different ideas, improvements, hints or
maybe your feature is not welcome/needed at the moment.

32
TODO
View File

@@ -1,32 +0,0 @@
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)
- 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
- speed up painting of sampleTCO
- 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
See TODO file in master branch and/or the TODO list in the Wiki for details
regarding the development series.

View File

@@ -1,7 +0,0 @@
MINGW=/opt/mingw32
export PATH=$PATH:$MINGW/bin
#export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -fno-tree-vectorize"
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5"
export CXXFLAGS="$CFLAGS"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win32Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/

View File

@@ -1,6 +0,0 @@
MINGW=/opt/mingw64
export PATH=$PATH:$MINGW/bin
#export CFLAGS="-fno-tree-vectorize"
export CXXFLAGS="$CFLAGS"
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/modules/Win64Toolchain.cmake -DCMAKE_MODULE_PATH=`pwd`/../cmake/modules/

71
buildtools/update_locales Executable file
View File

@@ -0,0 +1,71 @@
#!/bin/bash
aberr(){ printf "[\e[31mERROR\e[0m]: \e[1m%s\e[0m\n" "$*" >&2; }
abinfo(){ printf "[\e[96mINFO\e[0m]: \e[1m%s\e[0m\n" "$*" >&2; }
function upload_to_tx() {
if ! which tx > /dev/null; then
aberr "You don't have Transifex client installed. \n Run \`pip install transifex-client\` to install it."
exit 1
fi
abinfo "Uploading to transifex..."
if ! tx push -s; then
aberr "Problems occurred when uploading strings to Transifex."
printf "\t Either there are syntax errors in source file or you don't have permission to update the source file."
exit 1
fi
exit 0
}
function validate() {
ERR_LANG=""
ERR_BUF=""
for i in data/locale/*.ts; do
if ! ERR_BUF=$(lconvert-qt5 -i "${i}" -o "/tmp/test.qm" -of qm 2>&1); then
ERR_LANG+="\e[96m$(basename "${i}")\e[0m: \e[93m${ERR_BUF}\e[0m "
printf "\e[31mx\e[0m"
continue
fi
printf "\e[32m.\e[0m"
done
echo ""
if [[ "x${ERR_LANG}" != "x" ]]; then
aberr "The following files failed the validation: "
echo -e "${ERR_LANG}"
fi
}
abinfo "Checking for your environment..."
if ! which lupdate-qt5 > /dev/null; then
aberr "You don't seem to have Qt i18n tools installed."
printf "\tUsually this comes with your Qt installation, or you need to\n"
printf "\tinstall extra packages like \`qt5-tools\` or similar.\n"
exit 1;
fi
abinfo "Scanning directories..."
if test -d src/3rdparty/qt5-x11embed/3rdparty/ECM/; then
# prevent from collecting strings in ECM
rm -rf src/3rdparty/qt5-x11embed/3rdparty/ECM/
fi
if ! lupdate-qt5 -I include/ src/ plugins/ -ts data/locale/en.ts; then
aberr "There are some problems when collecting the strings."
exit 1
fi
abinfo "Validating translations..."
validate
abinfo "Translations successfully updated."
printf "Do you want to upload translations to Transifex? [y/N]: "
read -n 1 -r TX
echo ""
if [[ "$TX" == "y" || "$TX" == "Y" ]]; then
upload_to_tx
fi
abinfo "No upload as required."
exit 0

30
cmake/CMakeLists.txt Normal file
View File

@@ -0,0 +1,30 @@
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
SET(CPACK_PACKAGE_VENDOR "${PROJECT_AUTHOR}")
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_RELEASE}")
IF(VERSION_STAGE)
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${VERSION_STAGE}")
ENDIF()
IF(VERSION_BUILD)
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}.${VERSION_BUILD}")
ENDIF()
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_UCASE}")
SET(CPACK_SOURCE_GENERATOR "TBZ2")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}")
IF(NOT DEFINED WIN32)
SET(CPACK_STRIP_FILES "bin/${CMAKE_PROJECT_NAME};${PLUGIN_DIR}/*.so")
SET(CPACK_PACKAGE_EXECUTABLES "${CMAKE_PROJECT_NAME}" "${PROJECT_NAME_UCASE} binary")
ENDIF()
IF(LMMS_BUILD_WIN32)
ADD_SUBDIRECTORY(nsis)
ELSEIF(LMMS_BUILD_APPLE)
ADD_SUBDIRECTORY(apple)
ELSE()
ADD_SUBDIRECTORY(linux)
ENDIF()
INCLUDE(CPack)

View File

@@ -0,0 +1,30 @@
SET(MACOSX_BUNDLE_ICON_FILE "icon.icns")
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME_UCASE}")
SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME_UCASE}")
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
SET(MACOSX_BUNDLE_COPYRIGHT "${PROJECT_COPYRIGHT}")
SET(MACOSX_BUNDLE_MIMETYPE "application/x-lmms-project")
SET(MACOSX_BUNDLE_MIMETYPE_ICON "project.icns")
SET(MACOSX_BUNDLE_MIMETYPE_ID "io.lmms")
SET(MACOSX_BUNDLE_PROJECT_URL "${PROJECT_URL}")
CONFIGURE_FILE("lmms.plist.in" "${CMAKE_BINARY_DIR}/Info.plist")
CONFIGURE_FILE("install_apple.sh.in" "${CMAKE_BINARY_DIR}/install_apple.sh" @ONLY)
CONFIGURE_FILE("package_apple.json.in" "${CMAKE_BINARY_DIR}/package_apple.json" @ONLY)
# DMG creation target
SET(DMG_FILE "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}-mac${APPLE_OS_VER}.dmg")
FILE(REMOVE "${DMG_FILE}")
ADD_CUSTOM_TARGET(removedmg
COMMAND touch "\"${DMG_FILE}\"" && rm "\"${DMG_FILE}\""
COMMENT "Removing old DMG")
ADD_CUSTOM_TARGET(dmg
COMMAND appdmg "\"${CMAKE_BINARY_DIR}/package_apple.json\"" "\"${DMG_FILE}\""
DEPENDS "${CMAKE_BINARY_DIR}/package_apple.json"
COMMENT "Generating DMG")
ADD_DEPENDENCIES(dmg removedmg)
# see also ../postinstall/CMakeLists.txt

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
cmake/apple/icon.icns Normal file

Binary file not shown.

View File

@@ -0,0 +1,120 @@
#!/bin/bash
# Creates Apple ".app" bundle for @PROJECT_NAME_UCASE@
# Note:
# Examine linkings using `otool -L somelib.so`
# Debug the loading of dynamic libraries using `export DYLD_PRINT_LIBRARIES=1`
# STK rawwaves directory
STK_RAWWAVE=$HOME/stk-*/rawwaves
if [ ! -d "$STK_RAWWAVE" ]; then
STK_RAWWAVE=$(brew --prefix stk)/share/stk/rawwaves
fi
# Place to create ".app" bundle
APP="@CMAKE_BINARY_DIR@/@PROJECT_NAME_UCASE@.app"
MSG_COLOR='\x1B[1;36m'
COLOR_RESET='\x1B[0m'
echo -e "$MSG_COLOR\n\nCreating App Bundle \"$APP\"...$COLOR_RESET"
# Locate macdeployqt, assume homebrew & Qt5
which macdeployqt > /dev/null 2>&1
if [ $? -ne 0 ]; then
export PATH=$PATH:$(brew --prefix qt)/bin
fi
# Remove any old .app bundles
rm -Rf "$APP"
# Copy/overwrite Info.plist
\cp "@CMAKE_BINARY_DIR@/Info.plist" "@CMAKE_INSTALL_PREFIX@/"
# Create .app bundle containing contents from CMAKE_INSTALL_PREFIX
mkdir -p "$APP/Contents/MacOS"
mkdir -p "$APP/Contents/Frameworks"
mkdir -p "$APP/Contents/Resources"
mkdir -p "$APP/Contents/share/stk/rawwaves"
cd "@CMAKE_INSTALL_PREFIX@"
cp -R * "$APP/Contents"
cp "@CMAKE_SOURCE_DIR@/cmake/apple/"*.icns "$APP/Contents/Resources/"
cp $STK_RAWWAVE/*.raw "$APP/Contents/share/stk/rawwaves" > /dev/null 2>&1
# Make all libraries writable for macdeployqt
cd "$APP"
find . -type f -print0 | xargs -0 chmod u+w
lmmsbin="MacOS/@CMAKE_PROJECT_NAME@"
zynlib="lib/lmms/libzynaddsubfx.so"
zynfmk="Frameworks/libZynAddSubFxCore.dylib"
zynbin="MacOS/RemoteZynAddSubFx"
# Move lmms binary
mv "$APP/Contents/bin/@CMAKE_PROJECT_NAME@" "$APP/Contents/$lmmsbin"
# Fix zyn linking
mv "$APP/Contents/lib/lmms/RemoteZynAddSubFx" "$APP/Contents/$zynbin"
mv "$APP/Contents/lib/lmms/libZynAddSubFxCore.dylib" "$APP/Contents/$zynfmk"
install_name_tool -change @rpath/libZynAddSubFxCore.dylib \
@loader_path/../$zynfmk \
"$APP/Contents/$zynbin"
install_name_tool -change @rpath/libZynAddSubFxCore.dylib \
@loader_path/../../$zynfmk \
"$APP/Contents/$zynlib"
# Replace @rpath with @loader_path for Carla
# See also plugins/carlabase/CMakeLists.txt
# This MUST be done BEFORE calling macdeployqt
install_name_tool -change @rpath/libcarlabase.dylib \
@loader_path/libcarlabase.dylib \
"$APP/Contents/lib/lmms/libcarlapatchbay.so"
install_name_tool -change @rpath/libcarlabase.dylib \
@loader_path/libcarlabase.dylib \
"$APP/Contents/lib/lmms/libcarlarack.so"
# Link lmms binary
_executables="${_executables} -executable=$APP/Contents/$zynbin"
_executables="${_executables} -executable=$APP/Contents/$zynfmk"
# Build a list of shared objects in target/lib/lmms
for file in "$APP/Contents/lib/lmms/"*.so; do
_thisfile="$APP/Contents/lib/lmms/${file##*/}"
_executables="${_executables} -executable=$_thisfile"
done
# Build a list of shared objects in target/lib/lmms/ladspa
for file in "$APP/Contents/lib/lmms/ladspa/"*.so; do
_thisfile="$APP/Contents/lib/lmms/ladspa/${file##*/}"
_executables="${_executables} -executable=$_thisfile"
done
# Finalize .app
macdeployqt "$APP" $_executables
# Carla is a standalone plugin. Remove library, look for it side-by-side LMMS.app
# This MUST be done AFTER calling macdeployqt
#
# For example:
# /Applications/LMMS.app
# /Applications/Carla.app
carlalibs=$(echo "@CARLA_LIBRARIES@"|tr ";" "\n")
# Loop over all libcarlas, fix linking
for file in "$APP/Contents/lib/lmms/"libcarla*; do
_thisfile="$APP/Contents/lib/lmms/${file##*/}"
for lib in $carlalibs; do
_oldpath="../../Frameworks/lib${lib}.dylib"
_newpath="Carla.app/Contents/MacOS/lib${lib}.dylib"
install_name_tool -change @loader_path/$_oldpath \
@executable_path/../../../$_newpath \
"$_thisfile"
rm -f "$APP/Contents/Frameworks/lib${lib}.dylib"
done
done
# Cleanup
rm -rf "$APP/Contents/bin"
echo -e "\nFinished.\n\n"

View File

@@ -143,5 +143,9 @@
</dict>
</dict>
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict>
</plist>

View File

@@ -0,0 +1,9 @@
{
"title": "@MACOSX_BUNDLE_BUNDLE_NAME@ @MACOSX_BUNDLE_LONG_VERSION_STRING@",
"background": "@CMAKE_SOURCE_DIR@/cmake/apple/dmg_branding.png",
"icon-size": 72,
"contents": [
{ "x": 460, "y": 260, "type": "link", "path": "/Applications" },
{ "x": 220, "y": 260, "type": "file", "path": "@CMAKE_BINARY_DIR@/@MACOSX_BUNDLE_BUNDLE_NAME@.app" }
]
}

BIN
cmake/apple/project.icns Normal file

Binary file not shown.

24
cmake/build_mingw32.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Accomodate both linux windows mingw locations
MINGW=/mingw32
if [ -z "$MSYSCON" ]; then
MINGW=/opt$MINGW
else
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
fi
export PATH=$MINGW/bin:$PATH
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -mfpmath=sse"
export CXXFLAGS="$CFLAGS"
if [ "$1" = "-qt5" ]; then
QT5=True
fi
if [ $QT5 ]; then
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cmake $DIR/.. -DCMAKE_TOOLCHAIN_FILE=$DIR/../cmake/modules/Win32Toolchain.cmake -DCMAKE_MODULE_PATH=$DIR/../cmake/modules/ $CMAKE_OPTS

22
cmake/build_mingw64.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Accomodate both linux windows mingw locations
MINGW=/mingw64
if [ -z "$MSYSCON" ]; then
MINGW=/opt$MINGW
else
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
fi
export PATH=$MINGW/bin:$PATH
if [ "$1" = "-qt5" ]; then
QT5=True
fi
if [ $QT5 ]; then
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cmake $DIR/.. -DCMAKE_TOOLCHAIN_FILE=$DIR/../cmake/modules/Win64Toolchain.cmake -DCMAKE_MODULE_PATH=$DIR/../cmake/modules/ $CMAKE_OPTS

View File

@@ -0,0 +1,18 @@
INSTALL(DIRECTORY icons/ DESTINATION "${DATA_DIR}/icons/hicolor")
INSTALL(FILES lmms.desktop DESTINATION "${DATA_DIR}/applications")
INSTALL(FILES lmms.xml DESTINATION "${DATA_DIR}/mime/packages")
# AppImage creation target
SET(APPIMAGE_FILE "${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${VERSION}-linux-${CMAKE_SYSTEM_PROCESSOR}.AppImage")
CONFIGURE_FILE("package_linux.sh.in" "${CMAKE_BINARY_DIR}/package_linux.sh" @ONLY)
FILE(REMOVE "${APPIMAGE_FILE}")
ADD_CUSTOM_TARGET(removeappimage
COMMAND rm -f "${APPIMAGE_FILE}"
COMMENT "Removing old AppImage")
ADD_CUSTOM_TARGET(appimage
COMMAND chmod +x "${CMAKE_BINARY_DIR}/package_linux.sh"
COMMAND "${CMAKE_BINARY_DIR}/package_linux.sh"
COMMENT "Generating AppImage")
ADD_DEPENDENCIES(appimage removeappimage)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
id="svg4034"
version="1.1"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
inkscape:export-filename="64x64@2.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
sodipodi:docname="lmms.svg">
<defs
id="defs4036">
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4173"
x="-0.011714286"
width="1.0234286"
y="-0.0123"
height="1.0246">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.205"
id="feGaussianBlur4175" />
</filter>
<linearGradient
gradientTransform="translate(0,32)"
inkscape:collect="always"
xlink:href="#linearGradient4244-6"
id="linearGradient866"
x1="35"
y1="-14"
x2="35"
y2="27"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4244-6"
inkscape:collect="always">
<stop
id="stop4428"
offset="0"
style="stop-color:#27ab5f;stop-opacity:1" />
<stop
id="stop4430"
offset="1"
style="stop-color:#249a56;stop-opacity:1" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142135"
inkscape:cx="210.86487"
inkscape:cy="3.375495"
inkscape:current-layer="svg4034"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="253"
inkscape:window-y="1072"
inkscape:window-maximized="1"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:object-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4042" />
<sodipodi:guide
position="37,4"
orientation="0,1"
id="guide4951"
inkscape:locked="false" />
<sodipodi:guide
position="38,60"
orientation="0,1"
id="guide4955"
inkscape:locked="false" />
<sodipodi:guide
position="-19,32"
orientation="0,1"
id="guide4957"
inkscape:locked="false" />
</sodipodi:namedview>
<metadata
id="metadata4039">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<rect
rx="4"
y="4"
x="4"
height="56"
width="56"
id="rect5093"
style="display:inline;opacity:0.98999999;fill:#34d07b;fill-opacity:1;stroke:none;stroke-opacity:1" />
<rect
rx="3"
y="5"
x="5"
height="54"
width="54"
id="rect5095"
style="display:inline;opacity:1;fill:url(#linearGradient866);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccccccccccccc"
inkscape:connector-curvature="0"
id="path5085-3-6"
d="M 32,13 11,25 v 24 l 7,4 7,-4 v -8 l -7,-4 v -8 l 14,-8 14,8 v 8 l -7,4 v 8 l 7,4 7,-4 V 25 Z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.15;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.97797471;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4173);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
sodipodi:nodetypes="ccccccccccccccccc"
inkscape:connector-curvature="0"
id="path5085-3"
d="M 32,11 11,23 v 24 l 7,4 7,-4 v -8 l -7,-4 v -8 l 14,-8 14,8 v 8 l -7,4 v 8 l 7,4 7,-4 V 23 Z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.97797471;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter5497);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
</svg>

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
id="svg4034"
version="1.1"
inkscape:version="0.91 r13725"
inkscape:export-filename="/home/umcaruje/d/Dropbox/lmms icons/project-256x256.png"
inkscape:export-xdpi="360"
inkscape:export-ydpi="360"
sodipodi:docname="application-x-lmms-project.svg"
enable-background="new">
<defs
id="defs4036">
<linearGradient
id="linearGradient4244-6"
inkscape:collect="always">
<stop
id="stop4428"
offset="0"
style="stop-color:#27ab5f;stop-opacity:1" />
<stop
id="stop4430"
offset="1"
style="stop-color:#249a56;stop-opacity:1" />
</linearGradient>
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4400"
x="-0.024"
width="1.048"
y="-0.024"
height="1.048">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.14999999"
id="feGaussianBlur4402" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4244-6"
id="linearGradient4432"
gradientUnits="userSpaceOnUse"
x1="9.8838835"
y1="-9.8994951"
x2="10.275496"
y2="27.930717" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4442"
x="-0.0116"
width="1.0232"
y="-0.012428571"
height="1.0248571">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.145"
id="feGaussianBlur4444" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568542"
inkscape:cx="4.2102935"
inkscape:cy="18.651114"
inkscape:current-layer="g4263"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1366"
inkscape:window-height="740"
inkscape:window-x="339"
inkscape:window-y="1080"
inkscape:window-maximized="1"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:object-nodes="true">
<inkscape:grid
type="xygrid"
id="grid4042" />
<sodipodi:guide
position="37,4"
orientation="0,1"
id="guide4951" />
<sodipodi:guide
position="38,60"
orientation="0,1"
id="guide4955" />
<sodipodi:guide
position="-19,32"
orientation="0,1"
id="guide4957" />
</sodipodi:namedview>
<metadata
id="metadata4039">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="g4263"
inkscape:label="mimetype"
style="display:inline">
<g
id="g4189">
<path
sodipodi:nodetypes="ssssssccccs"
inkscape:connector-curvature="0"
id="path4273"
d="m 10,-30 c -1.108,0 -2,0.892 -2,2 l 0,56 c 0,1.108 0.892,2 2,2 l 44,0 c 1.108,0 2,-0.892 2,-2 l 0,-43 c 0,-1 -1,-2 -1,-2 L 43,-29 c 0,0 -1,-1 -2,-1 z"
style="display:inline;opacity:1;fill:#34d07b;fill-opacity:1;stroke:none;stroke-opacity:1"
transform="translate(0,32)" />
<path
sodipodi:nodetypes="sssssscccs"
inkscape:connector-curvature="0"
id="path4275"
d="m 10,-29 c -0.554,0 -1,0.446 -1,1 l 0,56 c 0,0.554 0.446,1 1,1 l 44,0 c 0.554,0 1,-0.446 1,-1 l 0,-43 -13,-1 -1,-13 z"
style="display:inline;opacity:1;fill:url(#linearGradient4432);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="translate(0,32)" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path4339-5"
d="m 40,-29 0,11.999999 c 0,2 1,3 3,3 l 11.999999,0 0,-1 L 41,-29 Z"
style="display:inline;opacity:0.12999998;fill:#222222;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4400)"
transform="translate(0,32)" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="path4339"
d="m 41,-29 0,12 c 0,1.03125 0.9375,2 2,2 l 12,0 0,-1 -13,-13 z"
style="display:inline;fill:#34d07b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="translate(0,32)" />
<path
sodipodi:nodetypes="ccccccccccccccccc"
inkscape:connector-curvature="0"
id="path4436"
d="m 32,22 -15,8 0,17.5 5,2.5 4.999999,-2.5 0,-6 L 22,39 l 0,-6 10,-5.5 10,5.5 0,6 -4.999999,2.5 0,6 L 42,50 47,47.5 47,30 Z"
style="display:inline;color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;overflow:visible;visibility:visible;opacity:0.15;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.97797471;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4442);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.97797471;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter5497);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 32,20 -15,8 0,17.5 5,2.5 4.999999,-2.5 0,-6 L 22,37 l 0,-6 10,-5.5 10,5.5 0,6 -4.999999,2.5 0,6 L 42,48 47,45.5 47,28 Z"
id="path4265"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@@ -1,4 +1,4 @@
?package(lmms):needs="X11" section="Apps/Sound" \
title="LMMS" hints="Audio" command="/usr/bin/lmms" \
longtitle="LMMS" \
icon="/usr/share/pixmaps/lmms.png"
icon="/usr/share/icons/hicolor/scalable/apps/lmms.svg"

View File

@@ -1,12 +1,14 @@
[Desktop Entry]
Name=LMMS
GenericName=music production suite
GenericName=Music production suite
GenericName[ca]=Programari de producció musical
GenericName[de]=Software zur Musik-Produktion
Comment=easy music production for everyone!
GenericName[fr]=Ensemble pour la production musicale
Comment=Music sequencer and synthesizer
Comment[ca]=Producció fàcil de música per a tothom!
Comment[fr]=Production facile de musique pour tout le monde !
Icon=lmms
Exec=env QT_X11_NO_NATIVE_MENUBAR=1 lmms
Exec=lmms %f
Terminal=false
Type=Application
Categories=Qt;AudioVideo;Audio;Midi;

View File

@@ -1,6 +1,6 @@
# Configuration variables
%define name lmms
%define version 0.3.0
%define version ${LMMS_VERSION}
%define rel 1
%define release %{rel}%{?disttag}%{?repotag}
@@ -26,7 +26,7 @@ Release: %{release}
Summary: powerful sequencer-, synthesizer- and sample-studio for Linux
Summary(de): Leistungsfaehiges Sequenzer-, Synthesizer- und Sample-Studio fuer Linux
License: GPL
URL: http://lmms.io/
URL: https://lmms.io/
Group: Applications/Multimedia
Provides: lmms = %{version}-%{release}
BuildRequires: gcc gcc-c++ libstdc++-devel autoconf automake libtool make
@@ -194,23 +194,7 @@ desktop-file-install \
%dir %{_datadir}/lmms
%{_datadir}/lmms/*
%changelog
* Fri Apr 13 2007 Eric Lassauge <lassauge@users.fr.net> - 0.2.1-1
- build for FC6
- added dependencies and build configuration
- added .desktop file
* Tue Sep 20 2005 Tobias Doerffel
- added JACK-dependencies
* Fri Jul 22 2005 Tobias Doerffel
- added more dependencies for builds under SuSE
* Sat Jun 25 2005 Tobias Doerffel
- splitted package into lmms and lmms-data
- additional requirements
- updated project-homepage and email-address of packager
* Thu May 12 2005 Tobias Doerffel
- created lmms.spec.in
-%changelog
-* Please see release notes (viewable online):
-- https://github.com/LMMS/lmms/releases/tag/v${LMMS_VERSION}
-

View File

@@ -4,11 +4,7 @@
<sub-class-of type="application/xml"/>
<comment>LMMS project</comment>
<comment xml:lang="ca">Projecte LMMS</comment>
<glob pattern="*.mmp"/>
<glob pattern="*.mmpz"/>
<magic priority="80">
<match type="string" value="&lt;!DOCTYPE multimedia-project" offset="0:256"/>
<match type="string" value="&lt;multimedia-project" offset="0:64"/>
</magic>
<glob pattern="*.mmp"/>
</mime-type>
</mime-info>

View File

@@ -0,0 +1,200 @@
#!/usr/bin/env bash
# Creates Linux ".AppImage" for @PROJECT_NAME_UCASE@
#
# Depends: linuxdeployqt
#
# Notes: Will attempt to fetch linuxdeployqt automatically (x86_64 only)
# See Also: https://github.com/probonopd/linuxdeployqt/blob/master/BUILDING.md
set -e
LINUXDEPLOYQT="@CMAKE_BINARY_DIR@/linuxdeployqt"
VERBOSITY=2 # 3=debug
LOGFILE="@CMAKE_BINARY_DIR@/appimage.log"
APPDIR="@CMAKE_BINARY_DIR@/@PROJECT_NAME_UCASE@.AppDir/"
DESKTOPFILE="${APPDIR}usr/share/applications/lmms.desktop"
STRIP=""
# Don't strip for Debug|RelWithDebInfo builds
if [[ "@CMAKE_BUILD_TYPE@" == *"Deb"* ]]; then
STRIP="-no-strip"
fi
# Console colors
RED="\\x1B[1;31m"
GREEN="\\x1B[1;32m"
YELLOW="\\x1B[1;33m"
PLAIN="\\x1B[0m"
function error {
echo -e " ${PLAIN}[${RED}error${PLAIN}] ${1}"
return 1
}
function success {
echo -e " ${PLAIN}[${GREEN}success${PLAIN}] ${1}"
}
function skipped {
echo -e " ${PLAIN}[${YELLOW}skipped${PLAIN}] ${1}"
}
# Blindly assume system arch is appimage arch
ARCH=$(arch)
export ARCH
# Check for problematic install locations
INSTALL=$(echo "@CMAKE_INSTALL_PREFIX@" | sed 's/\/*$//g')
if [ "$INSTALL" == "/usr/local" ] || [ "$INSTALL" == "/usr" ] ; then
error "Incompatible CMAKE_INSTALL_PREFIX for creating AppImage: @CMAKE_INSTALL_PREFIX@"
fi
echo -e "\nWriting verbose output to \"${LOGFILE}\""
# Ensure linuxdeployqt uses the same qmake version as cmake
export PATH="$(pwd -P)/squashfs-root/usr/bin:$(dirname "@QT_QMAKE_EXECUTABLE@")":$PATH
# Fetch portable linuxdeployqt if cache is older than $DAYSOLD
APPIMAGETOOL="squashfs-root/usr/bin/appimagetool"
echo -e "\nDownloading linuxdeployqt to ${LINUXDEPLOYQT}..."
mkdir -p "$HOME/bin"
DAYSOLD=2
if env -i which linuxdeployqt > /dev/null 2>&1; then
skipped "System already provides this utility"
elif ! find "$LINUXDEPLOYQT" -mtime -$DAYSOLD 2>/dev/null|grep -q "." > /dev/null 2>&1; then
url="https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-$(uname -p).AppImage"
echo " [.......] Couldn't find linuxdeployqt newer than $DAYSOLD days old"
echo " [.......] Downloading ($(uname -p)): ${url}"
wget "$url" -O "$LINUXDEPLOYQT" -q || (rm "$LINUXDEPLOYQT" && false)
chmod +x "$LINUXDEPLOYQT"
touch "$LINUXDEPLOYQT"
success "Downloaded $LINUXDEPLOYQT"
"$LINUXDEPLOYQT" --appimage-extract > /dev/null 2>&1
success "Extracted $APPIMAGETOOL"
else
skipped "$LINUXDEPLOYQT is less than $DAYSOLD days old"
fi
# Make skeleton AppDir
echo -e "\nCreating ${APPDIR}..."
rm -rf "${APPDIR}"
mkdir -p "${APPDIR}usr"
success "Created ${APPDIR}"
# Clone install to AppDir
echo -e "\nCopying @CMAKE_INSTALL_PREFIX@ to ${APPDIR}..."
cp -R "@CMAKE_INSTALL_PREFIX@/." "${APPDIR}usr"
rm -rf "${APPDIR}usr/include"
success "${APPDIR}"
# Copy rawwaves directory for stk/mallets
mkdir -p "${APPDIR}usr/share/stk/"
cp -R /usr/share/stk/rawwaves/ "${APPDIR}usr/share/stk/"
# Create a wrapper script which calls the lmms executable
mv "${APPDIR}usr/bin/lmms" "${APPDIR}usr/bin/lmms.real"
# shellcheck disable=SC1083
cat >"${APPDIR}usr/bin/lmms" <<EOL
#!/usr/bin/env bash
DIR="\$( cd "\$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
if which carla > /dev/null 2>&1; then
CARLAPATH="\$(which carla)"
CARLAPREFIX="\${CARLAPATH%/bin*}"
echo "Carla appears to be installed on this system at \$CARLAPREFIX/lib[64]/carla so we'll use it."
export LD_LIBRARY_PATH=\$CARLAPREFIX/lib/carla:\$CARLAPREFIX/lib64/carla:\$LD_LIBRARY_PATH
else
echo "Carla does not appear to be installed. That's OK, please ignore any related library errors."
fi
export LD_LIBRARY_PATH=\$DIR/usr/lib/:\$DIR/usr/lib/lmms:\$LD_LIBRARY_PATH
# Prevent segfault on VirualBox
if lsmod |grep vboxguest > /dev/null 2>&1; then
echo "VirtualBox detected. Forcing libgl software rendering."
export LIBGL_ALWAYS_SOFTWARE=1;
fi
if ldconfig -p | grep libjack.so.0 > /dev/null 2>&1; then
echo "Jack appears to be installed on this system, so we'll use it."
else
echo "Jack does not appear to be installed. That's OK, we'll use a dummy version instead."
export LD_LIBRARY_PATH=\$DIR/usr/lib/lmms/optional:\$LD_LIBRARY_PATH
fi
QT_X11_NO_NATIVE_MENUBAR=1 \$DIR/usr/bin/lmms.real "\$@"
EOL
chmod +x "${APPDIR}usr/bin/lmms"
# Per https://github.com/probonopd/linuxdeployqt/issues/129
unset LD_LIBRARY_PATH
# Ensure linuxdeployqt can find shared objects
export LD_LIBRARY_PATH="${APPDIR}usr/lib/lmms/":$LD_LIBRARY_PATH
# Handle wine linking
if [ -d "@WINE_LIBRARY_FIX@" ]; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:@WINE_LIBRARY_FIX@:@WINE_LIBRARY_FIX@wine/
fi
# Move executables so linuxdeployqt can find them
ZYNLIB="${APPDIR}usr/lib/lmms/RemoteZynAddSubFx"
VSTLIB="${APPDIR}usr/lib/lmms/RemoteVstPlugin.exe.so"
ZYNBIN="${APPDIR}usr/bin/RemoteZynAddSubFx"
VSTBIN="${APPDIR}usr/bin/RemoteVstPlugin.exe.so"
mv "$ZYNLIB" "$ZYNBIN"
mv "$VSTLIB" "$VSTBIN"
# Patch the desktop file
sed -i 's/.*Exec=.*/Exec=lmms.real/' "$DESKTOPFILE"
# Fix linking for soft-linked plugins
for file in "${APPDIR}usr/lib/lmms/"*.so; do
thisfile="${APPDIR}usr/lib/lmms/${file##*/}"
executables="${executables} -executable=$thisfile"
done
executables="${executables} -executable=${ZYNBIN}"
executables="${executables} -executable=${VSTBIN}"
executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/imp_1199.so"
executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/imbeq_1197.so"
executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/pitch_scale_1193.so"
executables="${executables} -executable=${APPDIR}usr/lib/lmms/ladspa/pitch_scale_1194.so"
# Bundle both qt and non-qt dependencies into appimage format
echo -e "\nBundling and relinking system dependencies..."
echo -e ">>>>> linuxdeployqt" > "$LOGFILE"
# shellcheck disable=SC2086
"$LINUXDEPLOYQT" "$DESKTOPFILE" $executables -bundle-non-qt-libs -verbose=$VERBOSITY $STRIP >> "$LOGFILE" 2>&1
success "Bundled and relinked dependencies"
# Link to original location so lmms can find them
ln -sr "$ZYNBIN" "$ZYNLIB"
ln -sr "$VSTBIN" "$VSTLIB"
# Remove wine library conflict
rm -f "${APPDIR}/usr/lib/libwine.so.1"
# Use system-provided carla
rm -f "${APPDIR}usr/lib/"libcarla*.so
# Remove bundled jack in LD_LIBRARY_PATH if exists
if [ -e "${APPDIR}/usr/lib/libjack.so.0" ]; then
rm "${APPDIR}/usr/lib/libjack.so.0"
fi
# Bundle jack out of LD_LIBRARY_PATH
JACK_LIB=$(ldd "${APPDIR}/usr/bin/lmms" | sed -n 's/\tlibjack\.so\.0 => \(.\+\) (0x[0-9a-f]\+)/\1/p')
if [ -e "$JACK_LIB" ]; then
mkdir -p "${APPDIR}usr/lib/lmms/optional/"
cp "$JACK_LIB" "${APPDIR}usr/lib/lmms/optional/"
fi
# Point the AppRun to the shim launcher
rm -f "${APPDIR}/AppRun"
ln -sr "${APPDIR}/usr/bin/lmms" "${APPDIR}/AppRun"
# Create AppImage
echo -e "\nFinishing the AppImage..."
echo -e "\n\n>>>>> appimagetool" >> "$LOGFILE"
"$APPIMAGETOOL" "${APPDIR}" "@APPIMAGE_FILE@" >> "$LOGFILE" 2>&1
success "Created @APPIMAGE_FILE@"
echo -e "\nFinished"

View File

@@ -0,0 +1,93 @@
# A wrapper around pkg-config-provided and cmake-provided bash completion that
# will have dynamic behavior at INSTALL() time to allow both root-level
# INSTALL() as well as user-level INSTALL().
#
# See also https://github.com/scop/bash-completion
#
# Copyright (c) 2018, Tres Finocchiaro, <tres.finocchiaro@gmail.com>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# Usage:
# INCLUDE(BashCompletion)
# BASHCOMP_INSTALL(foo)
# ... where "foo" is a shell script adjacent to the CMakeLists.txt
#
# How it determines BASHCOMP_PKG_PATH, in order:
# 1. Uses BASHCOMP_PKG_PATH if already set (e.g. -DBASHCOMP_PKG_PATH=...)
# a. If not, uses pkg-config's PKG_CHECK_MODULES to determine path
# b. Fallback to cmake's FIND_PACKAGE(bash-completion) path
# c. Fallback to hard-coded /usr/share/bash-completion/completions
# 2. Final fallback to ${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions if
# detected path is unwritable.
# - Windows does not support bash completion
# - macOS support should eventually be added for Homebrew (TODO)
IF(WIN32)
MESSAGE(STATUS "Bash competion is not supported on this platform.")
ELSEIF(APPLE)
MESSAGE(STATUS "Bash completion is not yet implemented for this platform.")
ELSE()
INCLUDE(FindUnixCommands)
# Honor manual override if provided
IF(NOT BASHCOMP_PKG_PATH)
# First, use pkg-config, which is the most reliable
FIND_PACKAGE(PkgConfig QUIET)
IF(PKGCONFIG_FOUND)
PKG_CHECK_MODULES(BASH_COMPLETION bash-completion)
PKG_GET_VARIABLE(BASHCOMP_PKG_PATH bash-completion completionsdir)
ELSE()
# Second, use cmake (preferred but less common)
FIND_PACKAGE(bash-completion QUIET)
IF(BASH_COMPLETION_FOUND)
SET(BASHCOMP_PKG_PATH "${BASH_COMPLETION_COMPLETIONSDIR}")
ENDIF()
ENDIF()
# Third, use a hard-coded fallback value
IF("${BASHCOMP_PKG_PATH}" STREQUAL "")
SET(BASHCOMP_PKG_PATH "/usr/share/bash-completion/completions")
ENDIF()
ENDIF()
# Always provide a fallback for non-root INSTALL()
SET(BASHCOMP_USER_PATH "${CMAKE_INSTALL_PREFIX}/share/bash-completion/completions")
# Cmake doesn't allow easy use of conditional logic at INSTALL() time
# this is a problem because ${BASHCOMP_PKG_PATH} may not be writable and we
# need sane fallback behavior for bundled INSTALL() (e.g. .AppImage, etc).
#
# The reason this can't be detected by cmake is that it's fairly common to
# run "cmake" as a one user (i.e. non-root) and "make install" as another user
# (i.e. root).
#
# - Creates a script called "install_${SCRIPT_NAME}_completion.sh" into the
# working binary directory and invokes this script at install.
# - Script handles INSTALL()-time conditional logic for sane ballback behavior
# when ${BASHCOMP_PKG_PATH} is unwritable (i.e. non-root); Something cmake
# can't handle on its own at INSTALL() time)
MACRO(BASHCOMP_INSTALL SCRIPT_NAME)
# A shell script for wrapping conditionl logic
SET(BASHCOMP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_${SCRIPT_NAME}_completion.sh")
FILE(WRITE ${BASHCOMP_SCRIPT} "\
#!${BASH}\n\
set -e\n\
if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\
BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\
else \n\
BASHCOMP_PKG_PATH=\"\$DESTDIR${BASHCOMP_USER_PATH}\"\n\
fi\n\
echo -e \"\\nInstalling bash completion...\\n\"\n\
mkdir -p \"\$BASHCOMP_PKG_PATH\"\n\
cp \"${CMAKE_CURRENT_SOURCE_DIR}/${SCRIPT_NAME}\" \"\$BASHCOMP_PKG_PATH\"\n\
chmod a+r \"\$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\
echo -e \"Bash completion for ${SCRIPT_NAME} has been installed to \$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\
")
INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x \"install_${SCRIPT_NAME}_completion.sh\" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )")
INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"./install_${SCRIPT_NAME}_completion.sh\" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )")
MESSAGE(STATUS "Bash completion script for ${SCRIPT_NAME} will be installed to ${BASHCOMP_PKG_PATH} or fallback to ${BASHCOMP_USER_PATH} if unwritable.")
ENDMACRO()
ENDIF()

View File

@@ -1,96 +1,88 @@
# BuildPlugin.cmake - Copyright (c) 2008 Tobias Doerffel
#
# description: build LMMS-plugin
# usage: BUILD_PLUGIN(<PLUGIN_NAME> <PLUGIN_SOURCES> MOCFILES <HEADERS_FOR_MOC> EMBEDDED_RESOURCES <LIST_OF_FILES_TO_EMBED> UICFILES <UI_FILES_TO_COMPILE> )
# usage: BUILD_PLUGIN(<PLUGIN_NAME> <PLUGIN_SOURCES> MOCFILES <HEADERS_FOR_MOC> EMBEDDED_RESOURCES <LIST_OF_FILES_TO_EMBED> UICFILES <UI_FILES_TO_COMPILE> LINK <SHARED|MODULE>)
MACRO(CAR var)
SET(${var} ${ARGV1})
ENDMACRO(CAR)
MACRO(BUILD_PLUGIN PLUGIN_NAME)
CMAKE_PARSE_ARGUMENTS(PLUGIN "" "" "MOCFILES;EMBEDDED_RESOURCES;UICFILES;LINK" ${ARGN})
SET(PLUGIN_SOURCES ${PLUGIN_UNPARSED_ARGUMENTS})
MACRO(CDR var junk)
SET(${var} ${ARGN})
ENDMACRO(CDR)
MACRO(LIST_CONTAINS var value)
SET(${var})
FOREACH (value2 ${ARGN})
IF (${value} STREQUAL ${value2})
SET(${var} TRUE)
ENDIF (${value} STREQUAL ${value2})
ENDFOREACH (value2)
ENDMACRO(LIST_CONTAINS)
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
SET(DEFAULT_ARGS)
FOREACH(arg_name ${arg_names})
SET(${prefix}_${arg_name})
ENDFOREACH(arg_name)
FOREACH(option ${option_names})
SET(${prefix}_${option} FALSE)
ENDFOREACH(option)
SET(current_arg_name DEFAULT_ARGS)
SET(current_arg_list)
FOREACH(arg ${ARGN})
LIST_CONTAINS(is_arg_name ${arg} ${arg_names})
IF (is_arg_name)
SET(${prefix}_${current_arg_name} ${current_arg_list})
SET(current_arg_name ${arg})
SET(current_arg_list)
ELSE (is_arg_name)
LIST_CONTAINS(is_option ${arg} ${option_names})
IF (is_option)
SET(${prefix}_${arg} TRUE)
ELSE (is_option)
SET(current_arg_list ${current_arg_list} ${arg})
ENDIF (is_option)
ENDIF (is_arg_name)
ENDFOREACH(arg)
SET(${prefix}_${current_arg_name} ${current_arg_list})
ENDMACRO(PARSE_ARGUMENTS)
MACRO(BUILD_PLUGIN)
PARSE_ARGUMENTS(PLUGIN "MOCFILES;EMBEDDED_RESOURCES;UICFILES" "" ${ARGN} )
CAR(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
CDR(PLUGIN_SOURCES ${PLUGIN_DEFAULT_ARGS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/src/gui)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src/gui")
ADD_DEFINITIONS(-DPLUGIN_NAME=${PLUGIN_NAME})
LIST(LENGTH PLUGIN_EMBEDDED_RESOURCES ER_LEN)
IF(ER_LEN)
SET(ER_H ${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h)
# Expand and sort arguments to avoid locale dependent sorting in
# shell
SET(NEW_ARGS)
FOREACH(ARG ${PLUGIN_EMBEDDED_RESOURCES})
FILE(GLOB EXPANDED "${ARG}")
LIST(SORT EXPANDED)
FOREACH(ITEM ${EXPANDED})
LIST(APPEND NEW_ARGS "${ITEM}")
ENDFOREACH()
ENDFOREACH()
SET(PLUGIN_EMBEDDED_RESOURCES ${NEW_ARGS})
SET(ER_H "${CMAKE_CURRENT_BINARY_DIR}/embedded_resources.h")
ADD_CUSTOM_COMMAND(OUTPUT ${ER_H}
COMMAND ${BIN2RES}
ARGS ${PLUGIN_EMBEDDED_RESOURCES} > ${ER_H}
DEPENDS ${BIN2RES})
ARGS ${PLUGIN_EMBEDDED_RESOURCES} > "${ER_H}"
DEPENDS bin2res)
ENDIF(ER_LEN)
QT4_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT4_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
IF(QT5)
QT5_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT5_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
ELSE()
QT4_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT4_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
ENDIF()
FOREACH(f ${PLUGIN_SOURCES})
ADD_FILE_DEPENDENCIES(${f} ${ER_H} ${plugin_MOC_out} ${plugin_UIC_out})
ADD_FILE_DEPENDENCIES(${f} ${ER_H} ${plugin_UIC_out})
ENDFOREACH(f)
IF(LMMS_BUILD_APPLE)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
LINK_LIBRARIES(${QT_LIBRARIES})
LINK_DIRECTORIES("${CMAKE_BINARY_DIR}")
LINK_LIBRARIES(${QT_LIBRARIES})
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
LINK_DIRECTORIES(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR})
LINK_LIBRARIES(-llmms ${QT_LIBRARIES})
LINK_DIRECTORIES("${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}")
LINK_LIBRARIES(${QT_LIBRARIES})
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug")
# Override Qt debug libraries with release versions
SET(QT_LIBRARIES "${QT_OVERRIDE_LIBRARIES}")
ENDIF()
IF ("${PLUGIN_LINK}" STREQUAL "SHARED")
ADD_LIBRARY(${PLUGIN_NAME} SHARED ${PLUGIN_SOURCES} ${plugin_MOC_out})
ELSE ()
ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES} ${plugin_MOC_out})
ENDIF ()
IF(QT5)
TARGET_LINK_LIBRARIES(${PLUGIN_NAME} Qt5::Widgets Qt5::Xml)
ENDIF()
IF(LMMS_BUILD_WIN32)
TARGET_LINK_LIBRARIES(${PLUGIN_NAME} lmms)
ENDIF(LMMS_BUILD_WIN32)
ADD_LIBRARY(${PLUGIN_NAME} MODULE ${PLUGIN_SOURCES})
INSTALL(TARGETS ${PLUGIN_NAME} LIBRARY DESTINATION "${PLUGIN_DIR}")
IF(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-bundle_loader ${CMAKE_BINARY_DIR}/lmms")
IF ("${PLUGIN_LINK}" STREQUAL "SHARED")
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
ELSE()
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES LINK_FLAGS "-bundle_loader \"${CMAKE_BINARY_DIR}/lmms\"")
ENDIF()
ADD_DEPENDENCIES(${PLUGIN_NAME} lmms)
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "")
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.dll)
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} "$<TARGET_FILE:${PLUGIN_NAME}>")
ENDIF(LMMS_BUILD_WIN32)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ER_H} ${plugin_MOC_out}")

View File

@@ -0,0 +1,22 @@
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,13 +1,17 @@
IF(WIN32)
SET(LMMS_BUILD_WIN32 1)
ELSE(WIN32)
IF(APPLE)
SET(LMMS_BUILD_APPLE 1)
ELSE(APPLE)
SET(LMMS_BUILD_LINUX 1)
ENDIF(APPLE)
ELSEIF(APPLE)
SET(LMMS_BUILD_APPLE 1)
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
SET(LMMS_BUILD_OPENBSD 1)
ELSEIF(HAIKU)
SET(LMMS_BUILD_HAIKU 1)
ELSE()
SET(LMMS_BUILD_LINUX 1)
ENDIF(WIN32)
# See build_mingwXX.sh for LMMS_BUILD_MSYS
MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
SET(LMMS_HOST_X86 FALSE)
SET(LMMS_HOST_X86_64 FALSE)
@@ -20,10 +24,10 @@ IF(WIN32)
SET(IS_X86 TRUE)
ENDIF(WIN64)
ELSE(WIN32)
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine" OUTPUT_VARIABLE Machine )
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine ${CMAKE_C_FLAGS}" OUTPUT_VARIABLE Machine )
MESSAGE("Machine: ${Machine}")
STRING(REGEX MATCH "i.86" IS_X86 "${Machine}")
STRING(REGEX MATCH "86_64" IS_X86_64 "${Machine}")
STRING(REGEX MATCH "86_64|amd64" IS_X86_64 "${Machine}")
ENDIF(WIN32)
IF(IS_X86)
@@ -55,4 +59,23 @@ ELSE(LMMS_BUILD_WIN32)
SET(LMMS_DATA_DIR ${DATA_DIR}/lmms)
ENDIF(LMMS_BUILD_WIN32)
IF(LMMS_BUILD_APPLE)
# Detect Homebrew versus Macports environment
EXECUTE_PROCESS(COMMAND brew --prefix RESULT_VARIABLE DETECT_HOMEBREW OUTPUT_VARIABLE HOMEBREW_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND which port RESULT_VARIABLE DETECT_MACPORTS OUTPUT_VARIABLE MACPORTS_PREFIX ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
IF(${DETECT_HOMEBREW} EQUAL 0)
SET(HOMEBREW 1)
SET(APPLE_PREFIX "${HOMEBREW_PREFIX}")
ELSEIF(${DETECT_MACPORTS} EQUAL 0)
SET(MACPORTS 1)
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
GET_FILENAME_COMPONENT(MACPORTS_PREFIX ${MACPORTS_PREFIX} DIRECTORY)
SET(APPLE_PREFIX "${MACPORTS_PREFIX}")
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${APPLE_PREFIX}/lib)
ENDIF()
# Detect OS Version
EXECUTE_PROCESS(COMMAND sw_vers -productVersion OUTPUT_VARIABLE APPLE_OS_VER ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
STRING(REGEX REPLACE "\\.[0-9]*$" "" APPLE_OS_VER "${APPLE_OS_VER}")
SET(CMAKE_MACOSX_RPATH 1)
ENDIF()

View File

@@ -0,0 +1,16 @@
# - Try to find LAME
# Once done this will define
#
# LAME_FOUND - system has liblame
# LAME_INCLUDE_DIRS - the liblame include directory
# LAME_LIBRARIES - The liblame libraries
find_path(LAME_INCLUDE_DIRS lame/lame.h)
find_library(LAME_LIBRARIES mp3lame)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Lame DEFAULT_MSG LAME_INCLUDE_DIRS LAME_LIBRARIES)
list(APPEND LAME_DEFINITIONS -DHAVE_LIBMP3LAME=1)
mark_as_advanced(LAME_INCLUDE_DIRS LAME_LIBRARIES LAME_DEFINITIONS)

View File

@@ -0,0 +1,34 @@
# sndio check, based on FindAlsa.cmake
#
# Copyright (c) 2006, David Faure, <faure@kde.org>
# Copyright (c) 2007, Matthias Kretz <kretz@kde.org>
# Copyright (c) 2009, Jacob Meuser <jakemsr@sdf.lonestar.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
include(CheckIncludeFiles)
include(CheckIncludeFileCXX)
include(CheckLibraryExists)
# Already done by toplevel
find_library(SNDIO_LIBRARY sndio)
set(SNDIO_LIBRARY_DIR "")
if(SNDIO_LIBRARY)
get_filename_component(SNDIO_LIBRARY_DIR ${SNDIO_LIBRARY} PATH)
endif(SNDIO_LIBRARY)
check_library_exists(sndio sio_open "${SNDIO_LIBRARY_DIR}" HAVE_SIO_OPEN)
find_path(SNDIO_INCLUDE_DIR sndio.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SNDIO DEFAULT_MSG SNDIO_LIBRARY SNDIO_INCLUDE_DIR HAVE_SIO_OPEN)
if(SNDIO_FOUND)
set(SNDIO_INCLUDE_DIRS "${SNDIO_INCLUDE_DIR}")
set(SNDIO_LIBRARIES "${SNDIO_LIBRARY}")
endif(HAVE_SNDIO)
mark_as_advanced(SNDIO_INCLUDE_DIR SNDIO_LIBRARY SNDIO_INCLUDE_DIRS SNDIO_LIBRARIES)

View File

@@ -0,0 +1,16 @@
# Copyright (c) 2015 Andrew Kelley
# This file is MIT licensed.
# See http://opensource.org/licenses/MIT
# SOUNDIO_FOUND
# SOUNDIO_INCLUDE_DIR
# SOUNDIO_LIBRARY
find_path(SOUNDIO_INCLUDE_DIR NAMES soundio/soundio.h)
find_library(SOUNDIO_LIBRARY NAMES soundio)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SOUNDIO DEFAULT_MSG SOUNDIO_LIBRARY SOUNDIO_INCLUDE_DIR)
mark_as_advanced(SOUNDIO_INCLUDE_DIR SOUNDIO_LIBRARY)

View File

@@ -7,13 +7,35 @@
# WINE_DEFINITIONS - Compiler switches required for using wine
#
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine)
FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine)
FIND_PROGRAM(WINE_CXX NAMES wineg++)
LIST(APPEND CMAKE_PREFIX_PATH /opt/wine-stable /opt/wine-devel /opt/wine-staging)
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine wine/wine)
FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine i386-linux-gnu/wine)
FIND_PROGRAM(WINE_CXX NAMES wineg++ winegcc winegcc64 winegcc32)
set(WINE_INCLUDE_DIRS ${WINE_INCLUDE_DIR} )
set(WINE_LIBRARIES ${WINE_LIBRARY} )
# Handle wine linking problems
EXEC_PROGRAM(${WINE_CXX} ARGS "-v -m32 /dev/zero" OUTPUT_VARIABLE WINEBUILD_OUTPUT)
STRING(REPLACE " " ";" WINEBUILD_FLAGS "${WINEBUILD_OUTPUT}")
FOREACH(FLAG ${WINEBUILD_FLAGS})
IF("${FLAG}" MATCHES "libwinecrt0.a.*")
# Debian systems
STRING(REPLACE "/lib/x86_64-" "/lib/i386-" FLAG "${FLAG}")
# Fedora systems
STRING(REPLACE "/lib/lib64" "/lib/i386" FLAG "${FLAG}")
# Gentoo systems
STRING(REPLACE "/lib/wine-" "/lib32/wine-" FLAG "${FLAG}")
# WineHQ (/opt/wine-stable, /opt/wine-devel, /opt/wine-staging)
STRING(REPLACE "/lib64/wine/" "/lib/wine/" FLAG "${FLAG}")
STRING(REGEX REPLACE "/wine/libwinecrt0.a.*" "" WINE_LIBRARY_FIX "${FLAG}")
SET(WINE_LIBRARY_FIX "${WINE_LIBRARY_FIX}/")
ENDIF()
ENDFOREACH()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Wine DEFAULT_MSG WINE_LIBRARIES WINE_INCLUDE_DIRS)

View File

@@ -23,6 +23,7 @@ ENDMACRO(LIST_CONTAINS)
MACRO(INSTALL_DATA_SUBDIRS _subdir _wildcards)
FOREACH(_wildcard ${_wildcards})
FILE(GLOB_RECURSE files ${_wildcard})
LIST(SORT files)
SET(SUBDIRS)
FOREACH(_item ${files})
@@ -36,6 +37,7 @@ MACRO(INSTALL_DATA_SUBDIRS _subdir _wildcards)
FOREACH(_item ${SUBDIRS})
FILE(GLOB files "${_item}/${_wildcard}")
LIST(SORT files)
FOREACH(_file ${files})
INSTALL(FILES "${_file}" DESTINATION "${LMMS_DATA_DIR}/${_subdir}/${_item}/")
ENDFOREACH(_file ${files})

View File

@@ -1,41 +1,102 @@
# this one is important
SET(CMAKE_SYSTEM_NAME Windows)
#this one not so much
SET(CMAKE_SYSTEM_VERSION 1)
# Required by cmake if `uname -s` is inadaquate
SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_SYSTEM_VERSION 1)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX})
SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX})
# The target environment
SET(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX})
SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX})
SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
# Windows msys mingw ships with a mostly-suitable preconfigured environment
IF(LMMS_BUILD_MSYS)
SET(STRIP ${MINGW_PREFIX}/bin/strip)
SET(WINDRES ${MINGW_PREFIX}/bin/windres)
SET(CMAKE_RC_COMPILER ${WINDRES})
SET(CMAKE_C_COMPILER ${MINGW_PREFIX}/bin/gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}/bin/g++)
# specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_TOOL_PREFIX}g++)
SET(CMAKE_RC_COMPILER ${MINGW_TOOL_PREFIX}gcc)
# For 32-bit vst support
IF(WIN64)
# Specify the 32-bit cross compiler
SET(CMAKE_C_COMPILER32 ${MINGW_PREFIX32}/bin/gcc)
SET(CMAKE_CXX_COMPILER32 ${MINGW_PREFIX32}/bin/g++)
ENDIF()
# Msys compiler does not support @CMakeFiles/Include syntax
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
IF(WIN64)
# specify the cross compiler
SET(MINGW_TOOL_PREFIX32 ${MINGW_PREFIX32}/bin/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32-)
SET(CMAKE_C_COMPILER32 ${MINGW_TOOL_PREFIX32}gcc)
SET(CMAKE_CXX_COMPILER32 ${MINGW_TOOL_PREFIX32}g++)
# Variable to assist override Qt debug libraries with release versions
SET(QT_OVERRIDE_LIBRARIES
optimized;${MINGW_PREFIX}/bin/QtGui4.dll;
optimized;${MINGW_PREFIX}/bin/QtCore4.dll;
optimized;${MINGW_PREFIX}/bin/QtXml4.dll;
debug;${MINGW_PREFIX}/bin/QtGui4.dll;
debug;${MINGW_PREFIX}/bin/QtCore4.dll;
debug;${MINGW_PREFIX}/bin/QtXml4.dll;
)
IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug")
# Override Qt debug libraries with release versions
SET(QT_LIBRARIES "${QT_OVERRIDE_LIBRARIES}")
ENDIF()
# Linux mingw requires explicitly defined tools to prevent clash with native system tools
ELSE()
SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
# Specify the cross compiler
SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc)
SET(CMAKE_CXX_COMPILER ${MINGW_TOOL_PREFIX}g++)
SET(CMAKE_RC_COMPILER ${MINGW_TOOL_PREFIX}gcc)
# Mingw tools
SET(STRIP ${MINGW_TOOL_PREFIX}strip)
SET(WINDRES ${MINGW_TOOL_PREFIX}windres)
SET(ENV{PKG_CONFIG} ${MINGW_TOOL_PREFIX}pkg-config)
IF(CMAKE_VERSION LESS 3)
SET(PKG_CONFIG_EXECUTABLE $ENV{PKG_CONFIG})
SET(PKG_CONFIG_FOUND TRUE)
ENDIF()
# Search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# For libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# For 32-bit vst support
IF(WIN64)
# Specify the 32-bit cross compiler
SET(MINGW_TOOL_PREFIX32 ${MINGW_PREFIX32}/bin/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32-)
SET(CMAKE_C_COMPILER32 ${MINGW_TOOL_PREFIX32}gcc)
SET(CMAKE_CXX_COMPILER32 ${MINGW_TOOL_PREFIX32}g++)
ENDIF()
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
ENDIF()
# specify location of some tools
SET(STRIP ${MINGW_TOOL_PREFIX}strip)
SET(WINDRES ${MINGW_TOOL_PREFIX}windres)
SET(PKG_CONFIG_EXECUTABLE ${MINGW_TOOL_PREFIX}pkg-config)
SET(PKG_CONFIG_FOUND TRUE)
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
SET(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin)
# Qt tools
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
SET(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake)
# Echo modified cmake vars to screen for debugging purposes
IF(NOT DEFINED ENV{MINGW_DEBUG_INFO})
MESSAGE("")
MESSAGE("Custom cmake vars: (blank = system default)")
MESSAGE("-----------------------------------------")
MESSAGE("* CMAKE_C_COMPILER : ${CMAKE_C_COMPILER}")
MESSAGE("* CMAKE_CXX_COMPILER : ${CMAKE_CXX_COMPILER}")
MESSAGE("* CMAKE_RC_COMPILER : ${CMAKE_RC_COMPILER}")
MESSAGE("* WINDRES : ${WINDRES}")
MESSAGE("* ENV{PKG_CONFIG} : $ENV{PKG_CONFIG}")
MESSAGE("* MINGW_TOOL_PREFIX32 : ${MINGW_TOOL_PREFIX32}")
MESSAGE("* CMAKE_C_COMPILER32 : ${CMAKE_C_COMPILER32}")
MESSAGE("* CMAKE_CXX_COMPILER32 : ${CMAKE_CXX_COMPILER32}")
MESSAGE("* STRIP : ${STRIP}")
MESSAGE("* QT_BINARY_DIR : ${QT_BINARY_DIR}")
MESSAGE("* QT_QMAKE_EXECUTABLE : ${QT_QMAKE_EXECUTABLE}")
MESSAGE("")
# So that the debug info only appears once
SET(ENV{MINGW_DEBUG_INFO} SHOWN)
ENDIF()

View File

@@ -0,0 +1,77 @@
FIND_PACKAGE(Git)
IF(GIT_FOUND AND NOT FORCE_VERSION)
# Look for git tag information (e.g. Tagged: "v1.0.0", Non-tagged: "v1.0.0-123-a1b2c3d")
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" describe --tags --match v[0-9].[0-9].[0-9]*
OUTPUT_VARIABLE GIT_TAG
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
TIMEOUT 10
OUTPUT_STRIP_TRAILING_WHITESPACE)
STRING(REPLACE "-" ";" TAG_LIST "${GIT_TAG}")
LIST(LENGTH TAG_LIST TAG_LIST_LENGTH)
IF(TAG_LIST_LENGTH GREATER 0)
LIST(GET TAG_LIST 0 FORCE_VERSION)
STRING(REPLACE "v" "" FORCE_VERSION "${FORCE_VERSION}")
ENDIF()
IF(TAG_LIST_LENGTH EQUAL 2)
LIST(GET TAG_LIST 1 VERSION_STAGE)
SET(FORCE_VERSION "${FORCE_VERSION}-${VERSION_STAGE}")
ELSEIF(TAG_LIST_LENGTH EQUAL 3)
LIST(GET TAG_LIST 1 EXTRA_COMMITS)
SET(FORCE_VERSION "${FORCE_VERSION}.${EXTRA_COMMITS}")
ELSEIF(TAG_LIST_LENGTH EQUAL 4)
LIST(GET TAG_LIST 1 VERSION_STAGE)
LIST(GET TAG_LIST 2 EXTRA_COMMITS)
SET(FORCE_VERSION
"${FORCE_VERSION}-${VERSION_STAGE}.${EXTRA_COMMITS}")
ENDIF()
ENDIF()
IF(FORCE_VERSION STREQUAL "internal")
# Use release info from /CMakeLists.txt
ELSEIF(FORCE_VERSION)
STRING(REPLACE "." ";" VERSION_LIST "${FORCE_VERSION}")
LIST(LENGTH VERSION_LIST VERSION_LENGTH)
LIST(GET VERSION_LIST 0 VERSION_MAJOR)
LIST(GET VERSION_LIST 1 VERSION_MINOR)
LIST(GET VERSION_LIST 2 VERSION_RELEASE)
SET(VERSION_STAGE "")
SET(VERSION_BUILD 0)
IF(VERSION_LENGTH GREATER 3)
LIST(GET VERSION_LIST 3 VERSION_BUILD)
ENDIF()
STRING(REPLACE "-" ";" VERSION_LIST "${VERSION_RELEASE}")
LIST(LENGTH VERSION_LIST VERSION_LENGTH)
IF(VERSION_LENGTH GREATER 1)
LIST(GET VERSION_LIST 0 VERSION_RELEASE)
LIST(GET VERSION_LIST 1 VERSION_STAGE)
ENDIF()
SET(VERSION "${FORCE_VERSION}")
ELSEIF(GIT_FOUND)
MESSAGE(
"Could not get project version. Using release info from /CMakeLists.txt"
)
ELSE()
MESSAGE("Git not found. Using release info from /CMakeLists.txt")
ENDIF()
MESSAGE("\n"
"Configuring ${PROJECT_NAME_UCASE}\n"
"--------------------------\n"
"* Project version : ${VERSION}\n"
"* Major version : ${VERSION_MAJOR}\n"
"* Minor version : ${VERSION_MINOR}\n"
"* Release version : ${VERSION_RELEASE}\n"
"* Stage version : ${VERSION_STAGE}\n"
"* Build version : ${VERSION_BUILD}\n"
"*\n\n"
"Optional Version Usage:\n"
"--------------------------\n"
"* Override version: -DFORCE_VERSION=x.x.x-x\n"
"* Ignore Git information: -DFORCE_VERSION=internal\n"
)

View File

@@ -1,6 +1,10 @@
SET(MINGW_PREFIX /opt/mingw32)
IF(LMMS_BUILD_MSYS)
SET(MINGW_PREFIX /mingw32)
ELSE()
SET(MINGW_PREFIX /opt/mingw32)
ENDIF()
SET(CMAKE_SYSTEM_PROCESSOR i686)
SET(CMAKE_SYSTEM_PROCESSOR i686)
INCLUDE(MinGWCrossCompile)

View File

@@ -1,10 +1,15 @@
SET(MINGW_PREFIX /opt/mingw64)
SET(MINGW_PREFIX32 /opt/mingw32)
IF(LMMS_BUILD_MSYS)
SET(MINGW_PREFIX /mingw64)
SET(MINGW_PREFIX32 /mingw32)
ELSE()
SET(MINGW_PREFIX /opt/mingw64)
SET(MINGW_PREFIX32 /opt/mingw32)
ENDIF()
SET(CMAKE_SYSTEM_PROCESSOR x86_64)
SET(CMAKE_SYSTEM_PROCESSOR32 i686)
SET(CMAKE_SYSTEM_PROCESSOR x86_64)
SET(CMAKE_SYSTEM_PROCESSOR32 i686)
SET(WIN64 TRUE)
SET(WIN64 TRUE)
INCLUDE(MinGWCrossCompile)

View File

@@ -0,0 +1,17 @@
#!/bin/bash
ppa_dir=./ppa/
pushd $ppa_dir
for f in *.deb; do
echo "Extracting $f..."
ar xv $f
rm debian-binary
rm control.tar.*
tar xf data.tar.*
rm data.tar.*
done
popd
echo "Your extracted files should be located in $ppa_dir"

58
cmake/msys/fetch_ppa.sh Normal file
View File

@@ -0,0 +1,58 @@
#!/bin/bash
# Trusty=14.04, Precise=12.04
PPA_DISTRO=trusty
# Architecture=i386, amd64
PPA_ARCH=amd64
# These shouldn't change
PPA_HOST=http://ppa.launchpad.net
PPA_USER=tobydox
PPA_PROJECT=mingw-x-trusty
PPA_ROOT=$PPA_HOST/$PPA_USER/$PPA_PROJECT/ubuntu
PPA_URL=$PPA_ROOT/dists/$PPA_DISTRO/main/binary-$PPA_ARCH/Packages
ppa_dir=./ppa/
temp_file=/tmp/ppa_listing_$$
temp_temp_file=/tmp/ppa_listing_temp_$$
skip_files="binutils openssl flac libgig libogg libvorbis x-bootstrap zlib"
skip_files="$skip_files x-runtime gcc qt_4 qt5 x-stk pkgconfig"
skip_files="$skip_files glib2 libpng"
echo "Connecting to $PPA_HOST to get list of packages..."
wget -qO- $PPA_URL |grep "Filename:" > $temp_file
for j in $skip_files ; do
grep -v $j $temp_file > $temp_temp_file
mv $temp_temp_file $temp_file
done
line_count=`wc -l $temp_file |awk '{print $1}'`
echo "Found $line_count packages for download..."
echo "Downloading packages. They will be saved to $ppa_dir"
mkdir $ppa_dir
for j in `cat $temp_file` ; do
if [ "$j" = "Filename:" ] ; then
continue
fi
echo "Downloading $j..."
wget -O $ppa_dir$(basename $j) $PPA_ROOT/$j
done
echo "Cleaning up temporary files..."
rm -rf $temp_file
echo "Packages have been saved to $ppa_dir. Please run extract_debs.sh"

286
cmake/msys/msys_helper.sh Normal file
View File

@@ -0,0 +1,286 @@
#!/bin/bash
# Git repo information
fork="lmms" # i.e. "lmms" or "tobydox"
branch="master" # i.e. "master" or "stable-1.2"
# Console colors
red="\\x1B[1;31m"
green="\\x1B[1;32m"
yellow="\\x1B[1;33m"
plain="\\x1B[0m"
function info() { echo -e "\n${green}$1${plain}"; }
function warn() { echo -e "\n${yellow}$1${plain}"; }
function err() { echo -e "\n${red}$1${plain}"; exit 1;}
info "Checking for mingw environment"
env |grep MINGW
if [ $? -ne 0 ]; then
err " - Failed. Please relaunch using MinGW shell"
fi
info "Preparing the git directory..."
mkdir $HOME/.git; touch $HOME/.git/config > /dev/null &2>1
git config --global http.sslverify false
info "Cloning the repository..."
if [ -d ./lmms ]; then
warn " - Skipping, ./lmms already exists"
else
git clone -b $branch https://github.com/$fork/lmms.git
fi
info "Fetching ppa using cmake/msys/fetch_ppas.sh..."
if [ -d $HOME/ppa ]; then
warn " - Skipping, $HOME/ppa already exists"
else
./lmms/cmake/msys/fetch_ppa.sh
fi
info "Extracting debs to $HOME/ppa/opt/, etc..."
if [ -d $HOME/ppa/opt ]; then
warn " - Skipping, $HOME/ppa/opt already exists"
else
./lmms/cmake/msys/extract_debs.sh
fi
info "Preparing library merge, making all qt headers writable..."
chmod u+w /mingw64/include/qt4 -R
chmod u+w /mingw32/include/qt4 -R
info "Merging mingw headers and libraries from ppa over existing system libraries..."
find /mingw64 |grep sndfile.h
if [ $? -ne 0 ]; then
\cp -r $HOME/ppa/opt/mingw* /
else
warn " - Skipping, sndfile.h has already been merged"
fi
fltkver="1.3.3"
oggver="1.3.2"
vorbisver="1.3.5"
flacver="1.3.2"
gigver="4.0.0"
stkver="4.5.1"
info "Downloading and building fltk $fltkver"
mingw_root="/$(echo $MSYSTEM|tr '[:upper:]' '[:lower:]')"
which fluid
if [ $? -ne 0 ]; then
wget http://fltk.org/pub/fltk/$fltkver/fltk-$fltkver-source.tar.gz -O $HOME/fltk-source.tar.gz
if [ $? -ne 0 ]; then
err "ERROR: Could not download fltk. Exiting."
fi
tar zxf $HOME/fltk-source.tar.gz -C $HOME/
pushd $HOME/fltk-$fltkver
info " - Compiling fltk $fltkver..."
./configure --prefix=$mingw_root --enable-shared
make
info " - Installing fltk..."
make install
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install fltk -- Zyn needs this. Exiting."
fi
# ln -s $mingw_root/usr/local/bin/fluid.exe $mingw_root/bin/fluid.exe
popd
else
warn " - Skipping, fluid binary already exists"
fi
info "Downloading and building libogg $oggver"
if [ ! -e $mingw_root/lib/libogg.dll.a ]; then
wget http://downloads.xiph.org/releases/ogg/libogg-$oggver.tar.xz -O $HOME/libogg-source.tar.xz
if [ $? -ne 0 ]; then
err "ERROR: Could not download libogg. Exiting."
fi
tar xf $HOME/libogg-source.tar.xz -C $HOME/
pushd $HOME/libogg-$oggver
info " - Compiling libogg $oggver..."
./configure --prefix=$mingw_root
make
info " - Installing libogg..."
make install
# for some reason libgig needs this
./configure --prefix=/opt$mingw_root
make
info " - Installing libogg..."
make install
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install fltk -- lmms needs this. Exiting."
fi
popd
else
warn " - Skipping, libogg binary already exists"
fi
info "Downloading and building libvorbis $vorbisver"
if [ ! -e $mingw_root/lib/libvorbis.dll.a ]; then
wget http://downloads.xiph.org/releases/vorbis/libvorbis-$vorbisver.tar.xz -O $HOME/libvorbis-source.tar.xz
if [ $? -ne 0 ]; then
err "ERROR: Could not download libogg. Exiting."
fi
tar xf $HOME/libvorbis-source.tar.xz -C $HOME/
pushd $HOME/libvorbis-$vorbisver
info " - Compiling libvorbis $vorbisver..."
./configure --prefix=$mingw_root
make
info " - Installing libvorbis..."
make install
# for some reason libgig needs this
./configure --prefix=/opt$mingw_root
make
info " - Installing libvorbis..."
make install
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install libvorbis -- lmms needs this. Exiting."
fi
popd
else
warn " - Skipping, libvorbis binary already exists"
fi
info "Downloading and building flac $flacver"
if [ ! -e $mingw_root/lib/libFLAC.dll.a ]; then
wget http://downloads.xiph.org/releases/flac/flac-$flacver.tar.xz -O $HOME/flac-source.tar.xz
if [ $? -ne 0 ]; then
err "ERROR: Could not download flac. Exiting."
fi
tar xf $HOME/flac-source.tar.xz -C $HOME/
pushd $HOME/flac-$flacver
info " - Compiling flac $flacver..."
./configure --prefix=$mingw_root
make
info " - Installing flac..."
make install
# for some reason libgig needs this
./configure --prefix=/opt$mingw_root
make
info " - Installing flac..."
make install
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install flac -- lmms needs this. Exiting."
fi
popd
else
warn " - Skipping, libvorbis flac already exists"
fi
info "Downloading and building libgig $gigver"
if [ ! -e $mingw_root/lib/libgig/libgig.dll.a ]; then
wget http://download.linuxsampler.org/packages/libgig-$gigver.tar.bz2 -O $HOME/gig-source.tar.xz
if [ $? -ne 0 ]; then
err "ERROR: Could not download libgig. Exiting."
fi
tar xf $HOME/gig-source.tar.xz -C $HOME/
pushd $HOME/libgig-$gigver
info " - Compiling libgig $gigver..."
./configure --prefix=$mingw_root
make
info " - Installing libgig..."
make install
mv $mingw_root/lib/bin/libakai-0.dll $mingw_root/bin
mv $mingw_root/lib/bin/libgig-7.dll $mingw_root/bin
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install libgig -- gigplayer needs this. Exiting."
fi
popd
else
warn " - Skipping, libgig binary already exists"
fi
info "Downloading and building stk $stkver"
if [ ! -e $mingw_root/lib/libstk.dll ]; then
wget http://ccrma.stanford.edu/software/stk/release/stk-$stkver.tar.gz -O $HOME/stk-source.tar.xz
if [ $? -ne 0 ]; then
err "ERROR: Could not download stk. Exiting."
fi
tar xf $HOME/stk-source.tar.xz -C $HOME/
pushd $HOME/stk-$stkver
info " - Compiling stk $stkver..."
./configure --prefix=$mingw_root
make
info " - Installing stk..."
make install
if [ $? -ne 0 ]; then
err "ERROR: Could not build/install stk -- mallotstk needs this. Exiting."
fi
mv $mingw_root/lib/libstk.so $mingw_root/lib/libstk.dll
mv $mingw_root/lib/libstk-$stkver.so $mingw_root/lib/libstk-$stkver.dll
popd
else
warn " - Skipping, stk binary already exists"
fi
# make a symlink to make cmake happy
if [ $mingw_root = "/mingw64" ]; then
if [ ! -e /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config ]; then
ln -s /usr/bin/pkg-config /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config
fi
fi
if [ $mingw_root = "/mingw32" ]; then
if [ ! -e /opt/mingw32/bin/i686-w64-mingw32-pkg-config ]; then
ln -s /usr/bin/pkg-config /opt/mingw32/bin/i686-w64-mingw32-pkg-config
fi
fi
info "Cleaning up..."
rm -rf $HOME/fltk-$fltkver
rm -rf $HOME/libogg-$oggver
rm -rf $HOME/libvorbis-$vorbisver
rm -rf $HOME/flac-$flacver
rm -rf $HOME/libgig-$gigver
rm -rf $HOME/stk-$stkver
info "Done."

75
cmake/nsis/CMakeLists.txt Normal file
View File

@@ -0,0 +1,75 @@
SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/nsis_branding.bmp")
SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/icon.ico")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe" PARENT_SCOPE)
SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME_UCASE} ${VERSION}" PARENT_SCOPE)
SET(CPACK_NSIS_HELP_LINK "${PROJECT_URL}" PARENT_SCOPE)
SET(CPACK_NSIS_URL_INFO_ABOUT "${PROJECT_URL}" PARENT_SCOPE)
SET(CPACK_NSIS_CONTACT "${PROJECT_EMAIL}" PARENT_SCOPE)
SET(CPACK_PACKAGE_EXECUTABLES "${CMAKE_PROJECT_NAME}.exe;${PROJECT_NAME_UCASE}" PARENT_SCOPE)
SET(CPACK_NSIS_MENU_LINKS "${CMAKE_PROJECT_NAME}.exe;${PROJECT_NAME_UCASE}" PARENT_SCOPE)
SET(CPACK_NSIS_DEFINES "
!include ${CMAKE_SOURCE_DIR}/cmake/nsis/FileAssociation.nsh
!include LogicLib.nsh
!include WinVer.nsh")
SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-win32")
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
\\\${registerExtension} \\\"$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe\\\" \\\".mmp\\\" \\\"${PROJECT_NAME_UCASE} Project\\\"
\\\${registerExtension} \\\"$INSTDIR\\\\${CMAKE_PROJECT_NAME}.exe\\\" \\\".mmpz\\\" \\\"${PROJECT_NAME_UCASE} Project (compressed)\\\"
\\\${IfNot} \\\${AtMostWin7}
WriteRegDWORD HKLM \\\"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\SideBySide\\\" \\\"PreferExternalManifest\\\" \\\"1\\\"
\\\${EndIf}
" PARENT_SCOPE)
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
\\\${unregisterExtension} \\\".mmp\\\" \\\"${PROJECT_NAME_UCASE} Project\\\"
\\\${unregisterExtension} \\\".mmpz\\\" \\\"${PROJECT_NAME_UCASE} Project (compressed)\\\"
DeleteRegKey HKCR \\\"${PROJECT_NAME_UCASE} Project\\\"
DeleteRegKey HKCR \\\"${PROJECT_NAME_UCASE} Project (compressed)\\\"
" PARENT_SCOPE)
IF(WIN64)
SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-win64")
SET(CPACK_INSTALL_FIX "$PROGRAMFILES64\\\\${CPACK_PACKAGE_INSTALL_DIRECTORY}\\\\")
SET(CPACK_NSIS_DEFINES "
${CPACK_NSIS_DEFINES}
InstallDir ${CPACK_INSTALL_FIX}
")
ENDIF()
# Fix windows paths for msys
IF(LMMS_BUILD_MSYS)
STRING(REGEX REPLACE "/" "\\\\\\\\" CPACK_PACKAGE_ICON "${CPACK_PACKAGE_ICON}")
STRING(REGEX REPLACE "/" "\\\\\\\\" CPACK_NSIS_MUI_ICON "${CPACK_NSIS_MUI_ICON}")
STRING(REGEX REPLACE "/" "\\\\\\\\" CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}")
STRING(REGEX REPLACE "/" "\\\\\\\\" CMAKE_BINARY_DIR_FIX "${CMAKE_BINARY_DIR}")
# FIXME: there's no easy way to fix $INST_DIR, so we'll redefine it manually
IF(WIN64)
SET(NSIS_ARCH "win64")
ELSE()
SET(NSIS_ARCH "win32")
ENDIF()
SET(CPACK_NSIS_DEFINES "
${CPACK_NSIS_DEFINES}
!define /redef INST_DIR ${CMAKE_BINARY_DIR_FIX}\\\\_CPack_Packages\\\\${NSIS_ARCH}\\\\NSIS\\\\${CPACK_PACKAGE_FILE_NAME}
")
ENDIF()
# Setup missing parent scopes
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}" PARENT_SCOPE)
SET(CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}" PARENT_SCOPE)
SET(CPACK_PACKAGE_ICON "${CPACK_PACKAGE_ICON}" PARENT_SCOPE)
SET(CPACK_NSIS_MUI_ICON "${CPACK_NSIS_MUI_ICON}" PARENT_SCOPE)
# Windows resource compilers
CONFIGURE_FILE("lmms.rc.in" "${CMAKE_BINARY_DIR}/lmms.rc")
CONFIGURE_FILE("zynaddsubfx.rc.in" "${CMAKE_BINARY_DIR}/plugins/zynaddsubfx/zynaddsubfx.rc")
IF(LMMS_HAVE_STK)
FILE(GLOB RAWWAVES "${MINGW_PREFIX}/share/stk/rawwaves/*.raw")
LIST(SORT RAWWAVES)
INSTALL(FILES ${RAWWAVES} DESTINATION "${DATA_DIR}/stk/rawwaves")
ENDIF()
INSTALL(FILES "lmms.exe.manifest" DESTINATION .)
INSTALL(FILES "lmms.VisualElementsManifest.xml" DESTINATION .)
INSTALL(DIRECTORY "assets" DESTINATION .)

View File

@@ -129,6 +129,7 @@ NoBackup:
WriteRegStr HKCR "$R0" "" "$R0"
WriteRegStr HKCR "$R0\shell" "" "open"
Skip:
WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,1"
WriteRegStr HKCR "$R0\shell\open\command" "" '"$R2" "%1"'
WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
WriteRegStr HKCR "$R0\shell\edit\command" "" '"$R2" "%1"'

BIN
cmake/nsis/assets/Logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
cmake/nsis/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

View File

@@ -0,0 +1,9 @@
<Application xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<VisualElements
ShowNameOnSquare150x150Logo='on'
Square150x150Logo='assets\Logo.png'
Square70x70Logo='assets\SmallLogo.png'
Square44x44Logo='assets\SmallLogo.png'
ForegroundText='light'
BackgroundColor='#249A57'/>
</Application>

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