Compare commits

..

4336 Commits

Author SHA1 Message Date
Hyunjin Song
9c21d0b4d8 Use QPair<int, float> for control points instead of QVector<float> 2020-12-10 11:28:29 +09:00
codythecoder
0dfdbc956a Add bezier progression type to automation tracks 2020-12-10 11:28:29 +09:00
Spekular
d3cd704396 Temporary PR-Freeze message 2020-12-08 15:55:43 +01:00
Alexandre Almeida
040fb48867 Update code style for BBTrackContainer (#5812) 2020-12-08 00:25:00 +01:00
Johannes Lorenz
2f66449092 Implement Lv2 Options (#5761)
Implement `LV2_OPTIONS__options` feature and some buf-size properties.

The code currently assumes that the LMMS buffersize never changes, which
is currently true in the LMMS code base.
2020-12-08 00:12:04 +01:00
IanCaio
cd2366a21c Fix style on "SampleBuffer.cpp" and "SampleBuffer.h" (#5791)
Fix code style issues in the `SampleBuffer` class.

Remove strange comments around "not an Ogg Vorbis file"
warning.
2020-12-07 23:09:34 +01:00
Kevin Zander
118d63bada Change abs to std::abs (#5831)
This prevents GCC 6 from raising an ambiguous call error.
2020-12-07 22:42:05 +01:00
IanCaio
53a733ba66 Fixes bug where clicking on the Activity Indicator doesn't play a note (#5824) 2020-12-07 17:11:41 -03:00
Hyunjin Song
3ad0462d44 Fix too small height of the carla instrument window (#5829) 2020-12-07 13:55:50 +09:00
Alexandre Almeida
b701e82e3b Split Track.cpp and Track.h (#5806) (Fixes #5592) 2020-12-04 02:47:16 +01:00
Johannes Lorenz
ddf69feebc Lv2: Fix overflow and enum visualization
* Fix arithmetic overflow in `Lv2Ports::Meta::get()` in case min and
  max are not set
* Fix combo boxes with >16 values being wrongly visualized as knobs
* Rename `Lv2Ports::Vis` enum value `None` to `Generic`
2020-12-03 06:10:30 +01:00
Dominic Clark
827d44be32 Ensure file opened successfully when loading sample (#5816) 2020-12-03 01:31:03 +00:00
IanCaio
3c36365afa Adds support for MIDI CC events inside LMMS (#5581) 2020-12-01 22:27:37 -03:00
Dominic Clark
4f74151f00 Fix export when rendering looped section multiple times (#5814)
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-12-01 19:38:04 +09:00
Hyunjin Song
9f0dc0fb1b Work around build failures for tests on macOS >= 10.14
This one should be removed once we export the include directory for lmms
to tests properly.
2020-12-01 19:36:17 +09:00
Hyunjin Song
d6b9853426 Tests: use C++14 as well as LMMS 2020-12-01 19:34:33 +09:00
Hyunjin Song
d73ede58a3 Remove instrument track window caching to fix related bugs (#5808) 2020-12-01 11:03:58 +09:00
Hyunjin Song
aff2ebcce0 Update CIs to macOS 10.14 and XCode 10.3 2020-12-01 11:01:39 +09:00
Hyunjin Song
c49ca376bf Fix crash on OGG export with Qt >= 5.10 (#5813) 2020-11-30 16:48:26 +09:00
Alexandre Almeida
6e081265ba Rename MidiTime to TimePos (#5684)
Fixes #4866
2020-11-29 19:46:13 +01:00
Johannes Lorenz
a2e71c81de Lv2: Use port-property "logarithmic"
This also adds more min/max checks, mostly for logarithmic scales.
Since this raised some warnings for logarithmic CV ports, the CV
metadata is now also read (but CV ports are still not supported).
2020-11-29 11:26:08 +01:00
Johannes Lorenz
7a85b4d547 Lv2Manager: Print issues uniq-ed 2020-11-29 11:26:08 +01:00
Hyunjin Song
f7128700b4 Ensure instrument window resize correctly on instrument changes (#5797) 2020-11-28 15:15:28 +09:00
Oskar Wallgren
ee7175be75 Bitinvader - Fix saving with automation and division by 0 (#5805)
* Prevent division by 0 in bitInvader::normalize().
* Save and load whole wavetable on save/load and also clear wavetable
before loading a new one.

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
Co-authored-by: Spekular <Spekularr@gmail.com>
Co-authored-by: thmueller64 <64359888+thmueller64@users.noreply.github.com>
2020-11-27 16:42:23 +01:00
Dominic Clark
246b822a6f Rework Song::processNextBuffer (#5723) 2020-11-27 13:46:06 +00:00
Hyunjin Song
9ca5497202 Improve STK rawwave path detection (#5804) 2020-11-27 11:53:42 +09:00
thmueller64
1949f93f10 Add checkboxes for selecting user and factory content (#5786)
Co-authored-by: IanCaio <iancaio_dev@hotmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
Co-authored-by: Kevin Zander <veratil@gmail.com>
2020-11-26 22:25:32 +00:00
Dominic Clark
571c425f4a Support multiple instrument subplugin categories (#5801) 2020-11-24 23:55:10 +00:00
Spekular
ed9abe58c6 Add option to continue sidebar previews when mouse released (#5787)
* Add option to continue sidebar previews when mouse released

* Cancel non-sample previews regardless of setting
2020-11-24 21:49:54 +01:00
IanCaio
8d4bcd7105 Fixes bug on SampleBuffer::decodeSampleSF (#5796)
As requested, this PR extracts the bug fix from #5971. More
details about the bug on the mentioned PR page, but basically the
variable sf_rr was declared with the wrong type causing the conditional
that checks for errors on the loading to return true even when there
were no errors (only noticeable with DEBUG builds).
	This renames the variable and uses the correct type.
2020-11-23 04:18:17 -03:00
David CARLIER
b00adeadc5 annotate Track::getActivityIndicator implementations as override. (#5798) 2020-11-21 20:04:23 +09:00
Kumar
53b003bc8f Allow SampleTCOs/Sample Clips to be reversed (#5765)
Enable the reverse option from `SampleBuffer.cpp`, and partially change the style and make more readable `SampleBuffer.cpp`.
2020-11-21 09:56:06 +05:30
Alexandre Almeida
83e51ffc45 Remove unused stuff (#5685) 2020-11-20 15:49:15 +00:00
thmueller64
87875a18e3 Fix glitch in undo/redo of note edits via the menu (#5789) 2020-11-19 21:34:08 +01:00
dj-pixus
f26296037a Fixed Stereo Matrix icon (#5792) 2020-11-18 21:28:13 +01:00
Kumar
a42d2d2d70 Color mixer channels if they are made by a colored track (#5780)
Color mixer channels if they are made by a coloured track using the “Assign to new FX channel option.”
2020-11-16 23:02:57 +05:30
Johannes Lorenz
060d0dc5dc Lv2Proc: Check def in [min,max] when creating port 2020-11-15 20:10:51 +01:00
Johannes Lorenz
3a74bad0c9 Lv2Ports: Smash plugins with out-of-bounds defaults 2020-11-15 20:10:51 +01:00
Johannes Lorenz
1c2107f4c6 Fix missing support for lv2core#sampleRate (Fixes #5767)
This multiplies port's min/max value with the processing sample rate
that is used for the plugin. This fixes damaged audio in GLAME
Butterworth High-/Lowpass from #5767.
2020-11-15 20:10:51 +01:00
Johannes Lorenz
48bc9db71d Forbid crashing Calf Analyzer/BassEnhancer 2020-11-15 20:10:20 +01:00
Johannes Lorenz
01f2fa5c29 Introduce blacklisted plugins to Lv2 interface 2020-11-15 20:10:20 +01:00
Johannes Lorenz
7dd6a39366 Introduce blacklisted plugins to core 2020-11-15 20:10:20 +01:00
DigArtRoks
4fb66542a0 Fix for the font of truncated sidebar items (#5714). (#5777)
* Fix for the font of truncated sidebar items (#5714).

For windows platforms, retrieve the system font and set it for the FileBrowserTreeWidget. This makes sure that truncated items will use the font as non-truncated items.

* Add TODO to remove the fix when all builds use a recent enough version of qt.

* Add check on QT version and conditionally include the fix.
2020-11-14 16:45:49 +01:00
IanCaio
28a394413f Fixes bug with cloning Automation Tracks (#5732)
Fixes bug from issue #5595. When cloning an automation track, the IDs from the recently created AutomationPatterns weren't being resolved, causing them to show as disconnected automations.
	This PR fixes the issue by adding a call to AutomationPattern::resolveAllIDs() on the Track::clone() method. It also fixes the code style on that method.
2020-11-14 08:12:24 -03:00
Pause for Affliction
e1d1878108 Fix memory leak that the rpmalloc assert warns of (#5776) (Fixes #5733)
Hack to take care of the assertion sent by the rpmalloc memory manager. Creates a static "free" function for NotePlayHandleManager and then shoves it right before the program ends.

Co-authored-by: Pause for Affliction <47124830+Epsilon-13@users.noreply.github.com>
2020-11-10 12:40:53 +01:00
Spekular
437172a542 Stop sample previews on mouse release or browser focus loss (#5764)
Stop previews on mouse up and focus loss.
2020-11-08 14:09:58 +01:00
DigArtRoks
a6e3958c93 Fix EffectRackView appearance (GUI). (#5766)
* Fix EffectRackView appearance (GUI).

* Elide the name of the effect when it tends to be too big. (#5752)
* Evenly space the controls (W/D, Decay Gate). (#5750)
* Show the scrollbar in the default theme to close the gap. (#5752)
* Reduce the gap between the effect and the scrollbar. (#5757)
* Use always the same width for the EffectRackview (InstrumentTrack and SampleTrack) to avoid gaps or cutoffs of the background.
* Widen the background in the default theme.
* Widen the embossed space in the background in the classic theme to fit the controls.

* Changes for improving the EffectRackView after reviews.

* Reduce the background for the default theme by 1 pixel.
* Reduce the background for the classic theme by 2 pixels and remove the darker line at the bottom right.
* Reduce the width of long names of the plugin also by 2 pixels.
* Put the controls 2 pixels closer to each other.
2020-11-07 15:52:32 +01:00
IanCaio
e2bb606341 Fixes createTCO method on some classes (#5699)
* Fixes createTCO method on some classes

	Classes that inherit from "Track", also inherit the createTCO method. That method takes a MidiTime position as an argument, but except on the class SampleTrack that argument was ignored. That lead to unnecessary calls to TCO->movePosition after creating a TCO in many parts of the codebase (making the argument completely redundant) and even to a bug on the BBEditor, caused by a call to createTCO that expected the position to be set on the constructor (see issue #5673).

	That PR adds code to move the TCO to the appropriate position inside the constructor of the classes that didn't have it, fixes the code style on the SampleTrack createTCO method and removes the now unneeded calls to movePosition from source files on src/ and plugins/. On Track::loadSettings there was a call to saveJournallingState(false) followed immediately by restoreJournallingState() which was deleted because it's redundant (probably a left over from copying the code from pasteSelection?).

* Fix code style issues

	Fixes code style issues on some files (except for ones where the current statements already had a different code style. In those the used code style was kept for consistency).

* Fixes more code style issues

* Fixes code style issues on the parameter name

	Fixes code style issue on the parameter name of createTCO, where _pos was supposed to be just pos. The existing code had the old style and I ended up replicating it on the other methods.

* Code style fixes

	Fixes code style in the changed lines.

* Fixes bug with dragging to negative positions

	There was a bug (already present before this PR) where dragging
a selection before MidiTime 0 would result in some TCOs being placed on
negative positions. This PR fixes this bug by applying the following
changes:

	1) TrackContentObject::movePosition now moves the TCO to
positions equal or above 0 only.
	2) Because of the previous change, I removed the line that
calculated the max value between 0 and the new position on
TrackContentObjectView::mouseMoveEvent when dragging a single TCO (and
added a line updating the value to the real new position of the TCO so
the label displays the position correctly).
	3) Unrelated to this bug, but removed an unnecessary call to
TrackContentWidget::changePosition on the left resize of sample TCOs
because it will already be called when movePosition triggers the
positionChanged signal.
	4) Added some logic to the TrackContentWidget::pasteSelection
method to find the left most TCO being pasted and make sure that the
offset is corrected so it doesn't end up on a negative position (similar
to the logic for the MoveSelection action).
	5) Removed another line that calculated the max between 0 and
the new position on Track::removeBar since it's now safe to call
movePosition with negative values.

* Uses std::max instead of a conditional statement

	As suggested by Spekular, we use std::max instead of a
conditional statement to correct the value of offset if it positions a
TCO on a negative position.
2020-11-07 13:54:04 +01:00
Spekular
2a025c5428 Bump version to 1.3.0-alpha 2020-11-03 13:13:59 -05:00
Oskar Wallgren
c39690d8e0 Arpeggiator - Cut off trailing short notes (#5523)
Prevent triggering of extra notes at the end by not counting trailing
notes shorter than one fifth of the notes arp_frames. This value
being arbitrarily found by trial and error.
2020-11-02 18:36:49 +01:00
IanCaio
f56cf60578 Adds missing initializer to DataFile.cpp (#5739)
The third constructor from DataFile was missing an initializer for the file version variable.
2020-11-01 18:56:36 -03:00
Tres Finocchiaro
afd037eaec Add CMT Submodule (#5755)
Switch ladspa CMT plugins to submodule
2020-11-01 00:37:38 -04:00
Dominic Clark
615d36b08b Support LV2 with MSVC (#5730) 2020-10-31 13:28:18 +00:00
firewall1110
6a78d8d535 An extra set of parenthese to fix warnings/errors (#5754) 2020-10-31 09:41:13 +09:00
Tres Finocchiaro
dc78b15a03 Add Windows JACK support (#5716)
Add Windows JACK support
Also adds JACK as a submodule
2020-10-30 16:57:20 -04:00
thmueller64
2d51eaef3d Theming of disabled knobs (#5549)
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-10-30 21:52:32 +01:00
DigArtRoks
69a35b58d3 Fix more background colors of selected text (#5687) 2020-10-30 14:51:04 -04:00
Tres Finocchiaro
9d104b2205 Switch Sid to submodule (#5724)
Also refactors to TitleCase, uses newer SID namespace
2020-10-30 13:34:15 -04:00
firewall1110
435dbc5e00 Fix crash/freezing after rendering when using soundio/JACK (#5681) 2020-10-30 13:16:27 +09:00
Frank Lyder
ec2e854a47 Fix AppleMIDI crash when deviceName or endPointName is null (#5729) 2020-10-30 10:57:15 +09:00
Tres Finocchiaro
c23c1b79d5 Add Carla support for Windows (#5713) 2020-10-29 01:06:34 -04:00
Tres Finocchiaro
090b5a7752 Fix DMG titles > 27 chars (#5741)
Workaround upstream bug https://github.com/LinusU/node-appdmg/issues/48
2020-10-28 17:20:12 -04:00
IanCaio
5864aea3d3 Fixes bug with cloning Automation Tracks
Fixes bug from issue #5595. When cloning an automation track, the IDs from the recently created AutomationPatterns weren't being resolved, causing them to show as disconnected automations.
	This PR fixes the issue by adding a call to AutomationPattern::resolveAllIDs() on the Track::clone() method. It also fixes the code style on that method.
2020-10-25 09:59:39 -03:00
Johannes Lorenz
7808e0b92f Lv2 Fix invalid memory access if plugin did not load 2020-10-24 17:28:44 +02:00
Johannes Lorenz
5d0340f6ae Fix undefined Lv2Ports::Audio::m_optional after 3fa4b98 2020-10-24 17:28:37 +02:00
Kumar
f5d0524b16 Enable track-wide color coding (#5573)
* Enable track-wide color coding

* Add support for automation tracks

* Allow saving & loading track colors

* Allow track color to be reset to default

* Partially migrate common settings to Track.cpp, fix bug

* Completely migrate local TCO color functions to TCO class, fix bug

* Set QColorDialog colors to better colors

* Color the side of the track according to TCO colors

* Disable color gradient when muted

* Change selection color to depend on TCO color

* Fix breaking builds

* Bug fix

* Fix another bug where BB track colors wouldn't load

* Restore changed demo to original state

* Fix BB Editor bug

* Fix breaking builds

* Allow random color picking

* Fix copy-paste bug

* Change how color is painted on a track

* Cleanup, and implement per-pattern colors

* Cleanup comments

* Migrate some functions

* Remove redundant function

* Rename some functions

* Migrate duplicates to superclass

* Use ColorChooser and reorder some includes

* Change how colors are saved

* Fix some formatting

* Fix some code

* Change how clip colors work

* Fix some unexpected behaviors

* Fix note border coloring being green on colored tracks

* Change name of an option

* Remove redundant code

* Fix ghost changes

* Remove colorRgb

* Rename backgroundColor, remove some variables we don't use

* Remove a redundant variable

* Migrate some duplicates to superclass

* Check for nullpointer

* Remove redundant variable

* Update some logic

* Change how muted colors are displayed

* Change how dark muted tracks become

* Place setModified() in appropriate places

* Make getColorForDisplay() function

* Change how colors are organised and saved

* Remove m_useStyleColor

* Remove a comment

* Quick changes

* Change how colors are saved

* Remove redundant stuff

* Remove redundant stuff pt. 2

* Change how colors are copied

* Fixes pt. 3

* Fixes pt. 4

* Change spaces to tabs

* Fix pseudochanges

* Remove s_lastTCOColor

* Fix pseudochanges pt. 2

* Fix breaking builds

* Add files via upload

* Add comments (again)
2020-10-20 19:26:22 +02:00
Johannes Lorenz
8b2902c27a Enable Lv2 Atom ports
All Atom ports are now being created and connected. Currently only MIDI
input ports are supplied with data.

Major contribution to #562 ("lv2 support").
2020-10-20 10:36:22 +02:00
Oskar Wallgren
acd0e4d430 Feature: Glue notes (#5721)
Tool to glue selected notes together. Selected notes that are
adjacent to each other or overlapping are transformed into one note
stretching over the combined notes on/off times.

Key command: <Shift> + G

Partially fixes: #746 which is part of #4877

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: IanCaio <iancaio_dev@hotmail.com>
Co-authored-by: Spekular <Spekularr@gmail.com>
Co-authored-by: Kevin Zander <veratil@gmail.com>
Co-authored-by: Oskar Wallgren <oskar.wallgren13@gmail.com>
2020-10-19 22:18:21 +02:00
dj-pixus
4c559b91f8 Modifying factory presets to sound more friendly. (#5529)
Modified some factory presets to sound more friendly.
2020-10-19 13:42:39 -04:00
Johannes Lorenz
0d89d64f49 Implement unused Lv2UridCache 2020-10-18 15:09:18 +02:00
Johannes Lorenz
9db671c7ae Refactor writing MIDI events to buffers
This moves out the code from the carla plugin into the core, because
this code will be re-used for Lv2 MIDI handling soon.
2020-10-17 20:56:05 +02:00
IanCaio
b64fe8e7c0 Refactor Clipboard methods (#5627)
* Moves mimeType from StringPairDrag to Clipboard

* Simplifies decodeKey and decodeValue methods

* Adds method to copy a string to clipboard

* Adds method to copy a string pair to the Clipboard

* Adds convenience methods to Clipboard.h to retrieve the QMimeData from the clipboard and checking whether a particular mime type format is present on it

* Uses only the TCOV copy/paste methods on the song editor
To keep consistency on the behavior of the TCOV copy and paste operations, we now only use the TCOV::copy() and TCOV::paste() methods for copying both individual and multiple TCOs.

* Removes obsolete TrackContentObject::cut() and merge copy() and paste() methods to single function TrackContentObject::copyStateTo()

* Adds Clipboard::getString method to get data for particular mime type

* Makes AutomatableModelView.cpp use the Clipboard class instead of calling Qt clipboard directly
2020-10-10 15:17:25 +09:00
Firepal
892aec318d Specify DirectConnection for a few plugins (#5695) 2020-10-08 14:42:34 +01:00
Dominic Clark
8c63582ee3 Don't reload sample from disk when reversing (#5701) 2020-10-07 13:37:08 +01:00
Johannes Lorenz
c58c781f93 Update remote and version of submodule rpmalloc (#5696)
This PR updates the remote URL and content of rpmalloc.

Fixes #4752
Fixes #4806 (assumably)
Helps #5694

You must now run
```
git submodule sync --recursive
```
once to reflect this change.
2020-10-06 01:00:58 +02:00
Johannes Lorenz
3fa4b98a9e Remove redundant LV2Ports::Audio::m_optional
The same info is already stored in the `Lv2Ports::Meta` base class.
2020-10-04 21:59:27 +02:00
Johannes Lorenz
b558865ca4 PluginIssue: Add too MIDI in/out channels 2020-10-04 21:59:15 +02:00
allejok96
8939b149e3 Add insert/remove bar buttons in Song editor (fix #5602) 2020-10-04 16:01:35 +02:00
Johannes Lorenz
783db3e457 Remove unused make_shared from stdshims.h 2020-10-04 15:25:41 +02:00
Johannes Lorenz
16db33f2bf Use STL version of std::make_shared now
As all is compiled with C++14 now, no need to use `std::make_shared`
from stdshims.h now.
2020-10-04 15:25:41 +02:00
Johannes Lorenz
7e986a8323 Compile LMMS using C++14
This replaces `set(CMAKE_CXX_STANDARD 14)` by `set(CMAKE_CXX_STANDARD 11)`
wherever it is required. Wherever it is superseded by parental
`CMakeLists.txt`, this command is now removed.
2020-10-04 15:25:41 +02:00
David Carlier
4efe0c842e Haiku build fix.
related to ringbuffer, matching cmake settings to disable mlock for this platform.
Haiku does not support tls model as well.
2020-10-04 14:49:34 +02:00
Spekular
109a7c4735 Keyboard shortcuts to preview/add sounds from sidebar (#5427)
- Extract file item preview start and end into new methods `previewFileItem` and `stopPreview`.
- Add event handlers:
  - `keyPressEvent` to allow auto preview (on up/down arrow navigation), manual preview (space), and send to editors (enter)
  - `keyReleaseEvent` to end previews when preview key is released
  - `hideEvent` to end previews when switching sidebar tab or hiding sidebar
- Functions that operate on a `FileItem` now take it as an argument instead of using a member variable
- `getContextActions` provides menu items for sending clips to the song editor and BB editor with minimal duplicate code
- Some formatting changes in affected code
- Replace many instances of `NULL` with `nullptr`
2020-10-03 21:31:13 +02:00
Shmuel H
e5f1007ebb SampleTrack: Fix TCO not being played on the first tick (if it starts on
tick 0)
2020-10-03 14:13:33 +09:00
thmueller64
89b13280de LB302: Use consistent cutoff frequency on mulitple sample rates (#5618) 2020-10-03 14:05:55 +09:00
Spekular
cc87dfbb52 Fix relativeOrAbsolute bug with baseQDir in PathUtils.cpp (#5689)
* Fix relativeOrAbsolute bug with baseQDir in PathUtils.cpp

If `base` is `Absolute`, `baseQDir(base)` will point to the working directory. It will result in undefined behaviors.

To fix this, update relativeOrAbsolute to explicitly return an absolute path when the target base is Absolute. Also make baseQDir return QDir::root() for Absolute base instead of QDir(""), because the latter represents the working directory.

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-09-30 11:26:58 +02:00
Veratil
31f79a2263 Add auto-highlight scale and key selection 2020-09-29 21:55:07 -05:00
Johannes Lorenz
173b1fadf8 Improve control flow in Lv2 classes
No functional change
2020-09-28 19:22:42 +02:00
Johannes Lorenz
e7adcbd847 Update ringbuffer submodule 2020-09-27 18:54:47 +02:00
Johannes Lorenz
6546857d21 Move or remove unused slots 2020-09-24 17:59:07 +02:00
Johannes Lorenz
c3c80159fd Add missing include 2020-09-24 17:59:07 +02:00
Johannes Lorenz
454e047291 Add lv2 packages to macOS CI 2020-09-24 17:59:07 +02:00
Spekular
9e401828aa Don't give clips a hidden default name (Fix #5528) (#5621)
* Automatic formatting changes

* Give clips an empty name by default, display all names

- Stop giving clips the same name as their parent track on creation
- Stop hiding clip names that match the parent track name
- Never rename clips on track rename
- Never clear clip name when a clip is copied to another track
- Create an upgrade routine to clear default names from old projects (< 1.3.0-alpha-1)
- Bump version to 1.3.0-alpha-1

* Revert now-unnecessary version bump

* Merge with master and fix conflicts

* Formatting changes from review

* Change weird for loop conditions

* Properly revert AutomationPatter.h changes

* Only clear names that match our parent track, be more generous with use of legacyFileVersion

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-09-21 16:50:55 +02:00
Johannes Lorenz
6d160fd773 basics: Change sampleFrame to use std::array (#5536)
... in order to make standard containers be able to store it. Required for
#5532 (#4899) and the recording PR.

This includes:

* removing the `LocklessRingBuffer<sampleFrame>` specialization
* passing samplerame in `StereoDelay::tick` as a reference

Additional cleanups:

* removing already unused typedef `sampleFrameA`
* add some `const_cast` to make code more readable
2020-09-21 09:04:44 +02:00
DigArtRoks
2f37281d02 Fix for Mixer volume percentage labels are off by a factor of 100 (#5661)
Add m_conversionFactor to the AutomatableModelView. This factor will be applied to the model->value when displaying
it in the contextmenu of the control for the reset and copy actions. The factor will be applied when copying the value to
the clipboard. When pasting from the clipboard, the value will be divided by the factor.

Remove the model->displayValue() calls when updating the reset/copy/paste action text labels as this gives e.g. in the
Equalizer the wrong action text for the Frequency knobs.

In the Fader class, remove the m_displayConversion variable but rather use the new m_conversionFactor variable.
Rewire the setDisplayConversion() function to set the m_conversionFactor to 1.0 or 100.0.

Faders in FxMixer show now the correct context menu. Copying and pasting values between faders or even volume knobs
in tracks shows consistent behavior. Other faders (like in Eq) show the old behavior.
2020-09-21 09:55:46 +09:00
Spekular
a6d0b460fc Don't define NOMINMAX if it's already defined (#5678)
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-09-18 18:48:39 +02:00
Spekular
f6eeaba076 Suppress windows.h's min and max macros, allowing use of numeric_limits's max
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-09-18 16:38:42 +02:00
Hyunjin Song
27a9f7711e LadspaManager: Skip empty entries when looking for plugins (#5677)
This fixes crashes when starting LMMS
from specific working directories.
2020-09-18 15:55:44 +09:00
IanCaio
1dab416c6c Improvements to the upgrade routines (#5660)
* First commit

This commit starts the improvements on the upgrade methods. We are going to change both the DataFile and ConfigManager to use separate version values from LMMS release versions, so we can easily bump those versions for new upgrade routines. This first commit starts implementing a new version value for the ConfigManager.

* Change code as per requested on review

	As requested, the "configVersion" method was replaced by "legacyConfigVersion" instead, which is only used to return a configuration version if none is present in the configuration file.
	The configuration version of the current build is stored in a local variable called CONFIG_VERSION, making version bumping easier.
	Uses a switch statement instead of if-else to be able to make use of case-cascading.

TODO:
	- Change the CONFIG_VERSION variable to a unsigned int?
	- Start working on the DataFile.cpp.

* Changes the upgrade logic on DataFile.cpp

	Starts refactoring the upgrade logic on DataFile.cpp. Now the "version" attribute is used to indicate which fileVersion we are loading. If the value of version is "1.0", we have a legacy file and use the legacyFileVersion method to retrieve the integer version using the LMMS version. If the value of version is an integer, we just read it. The integer indicates the position in a list of upgrade methods where we should start from and run the upgrade methods. The file version of the build is held in the FILE_VERSION const on DataFile.h. It HAS TO match the number of upgrade methods that we have on our list.
	One of the versions had 2 upgrade routines (upgrade_1_2_0_rc3 and upgrade_1_2_0_rc2_42). They were merged into a single one (upgrade_1_2_0_rc3) because they were both called from a single version check, meaning that they are both part of a single fileVersion.
	Two fatal errors were added (which can later be improved to show an error messagebox): One if the version attribute doesn't exist, and another one if we are using a FILE_VERSION that doesn't match the number of upgrade methods (to avoid mistakes while coding new upgrades later).

	The configVersion variables and methods were changed to use unsigned int instead of int.

TODO:
	- Make the list of upgrade methods static.
	- Add debug messages for each upgrade routine for testing purposes.

* Make method vector a static const variable

	On DataFile.cpp, we now use the vector list of upgrade methods as a static const variable, so it only has to be constructed once.

* Reorganize vector lists

	Reorganize vector lists so they are more easily readable.

	Revert changes on upgrade method names from ConfigManager.cpp.

* Makes the file version bumping automatic

	The file version bumping on DataFile.cpp is now automatic (using the size of the m_upgradeMethods vector as a reference). FILE_VERSION constant was removed, and with it the qFatal error when it doesn't match the size of the methods vector.

* Improve formatting of version and upgrades lists

	Improves the formatting of the vector lists of upgrade routines and LMMS versions (2 upgrade routines per line and 3 LMMS versions per line).
	Adds a qWarning for every upgrade routine for testing purposes, plus a qWarning that tells the current fileVersion/configVersion when upgrade is called.
	Removes extra space characters after the opening bracket of ConfigManager::upgrade_1_1_91.

* Changes ConfigManager to use a vector of methods

	Changes ConfigManager to use a vector of upgrade methods, just like DataFile. The new Config Version can be calculated automatically now, so the CONFIG_VERSION constant was removed.
	Corrects a small comment on Datafile.h.

* Addresses Dom's review requests

	- Changes legacyConfigVersion and legacyFileVersion from const unsigned int to just unsigned int, since the const is irrelevant in this context.
	- Changes the type alias for upgrade methods to start with an uppercase as per the code style guidelines. Moves the aliasing of the type to the class declaration so it can be used on both the method and on the vector list declaration.
	- Changes the vector list names from m_upgradeMethods to UPGRADE_METHODS, so it's more visible they are a static constant.
	- Move the upgradeVersions list from the legacyFileVersion method to the DataFile class, as an static const called UPGRADE_VERSIONS.
	- Uses std::upper_bound instead of std::find_if for the legacyFileVersion method.

* Uses type alias on vector assignment

	Uses the UpgradeMethod type alias when defining the upgrade methods vector from both ConfigManager and DataFile.

* Removes debugging warnings

	Removes the qWarning() calls that were placed for debugging purposes.
2020-09-18 00:45:46 +02:00
Spekular
9e3f602194 Fix 'Version difference' dialogue showing for differences in patch and lower after semantic versioning PR 2020-09-17 18:44:41 +02:00
Spekular
2bdd835a8a Switch out mailing list for Discord
Because as far as I can tell that's where most of the active devs are available.
2020-09-17 18:24:54 +02:00
Spekular
af328003a0 Use valid Semver versions for pre-releases (#5636)
* Fix ProjectVersion handling of pre-releases

* Add workaround for old, non-standard version

* Attempt to fix versioning

* More consistent comments

* Apply suggestions from code review

- Set CompareType's underlying type to int and revert change to ProjectVersion::compare's parameters
- Add "None" and "All" as names elements of CompareType enum
- Preserve hyphens in prerelease identifiers
- Pad invalid (too short) versions to prevent crashes or nasty behavior
- Compare numeric identifiers to non-numeric ones correctly
- Don't interpret identifiers of form "-#" as numeric (where '#' is any number of digits)
- Add tests to ensure fixes in this commit work and won't regress in the future

* CMAKE fixes from code review

Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>

* Remove unnecessary changes to CMake logic

* More const, more reference

* Apply suggestions from code review

Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>
2020-09-17 17:23:35 +02:00
Hyunjin Song
f211c192e8 CircleCI: uninstall python@2 to prevent "brew install" errors 2020-09-16 15:22:03 +09:00
Adam Hartley
37f0d10e0b CircleCI: Bump Xcode version to 9.4.1 (#5675) 2020-09-14 09:51:37 +09:00
Veratil
9eb787c9e8 Update MIDI loading and parsing
portsmf fixes:
* Fix allegro warnings as errors
* Fix msvc missing max. Use MAX macro instead
2020-09-12 23:39:07 -05:00
Veratil
76a182bb95 Update portsmf to latest r234 commit 2020-09-12 23:39:07 -05:00
Dat Ng
3d8b31039f Qt deprecation fix (#5619)
Qt6 TODO: Orientation check by comparing angleDelta().x() and y() won't make sense
because the direction is arbitrary in Qt 6.
2020-09-13 11:09:46 +09:00
Johannes Lorenz
d29066fa83 Add helpful comment 2020-09-12 09:36:38 +02:00
Johannes Lorenz
8a19c2d25e Fix spelling in Lv2 classes 2020-09-12 09:36:38 +02:00
DigArtRoks
5f4d0cab9b Fix for issue #3816 - FM or heavy PM in TripleOscillator makes outputs odd for some target waveforms. (#5651)
The internal waveforms of the class Oscillator produces the wrong amplitude when the input is a
negative phase. When doing PM or FM, negative phases may occur. When a negative phase is e.g. passed
to the the saw sample, it produces values less than -1.0, hence going out of range.

Converted all fraction calls to absFraction calls.

Removed the +2 in the function Oscillator::recalcPhase. The comment here was that it was needed to avoid
negative phases in case of PM. But by converting fraction to absFraction in the waveforms, negative phases
are not an issue anymore. On top of that the m_phase variable gains about 2 extra bits in precision.
As side effect of that, it improves the behaviour of the issue #2047 - TripleOscillator: Oscillators are getting out of sync.
Though I did not investigate it thoroughly over different notes and samplerates.

Add documentation to the fraction and absFraction functions in lmms_math.h as it was not immediately clear by the name what the
functions do. Correct the implementation of the functions in case the flag __INTEL_COMPILER is set. (floorf rounds always down).
2020-09-10 22:47:06 +02:00
Dominic Clark
5efb3a19cb Fix use of translation functions (#5629) 2020-08-30 19:27:17 +01:00
DigArtRoks
9ed41c4927 Fix for Icons and comboboxes mismatch in arpeggiator in Instrument Editor #5494 (#5623)
* Fix for Icons and comboboxes mismatch in arpeggiator in Instrument Editor #5494
(https://github.com/LMMS/lmms/issues/5494)

Introduce a static const int variable for the default height of a ComboBox.
Set this height already in the constructor of the ComboBox object.
Update all modules setting the height of a ComboBox object to make use of the new constant.

* Replace 'const int' by 'constexpr int' after review.
2020-08-17 10:12:49 -04:00
DigArtRoks
1c1575cc86 Change the background color of the selected text in a text box. (#5628)
* Change the background color of the selected text in a text box.
The new background color matches the green background of selected items in a tree view.

* Add selection-background-color for QLineEdit widgets in the classic theme, but keep the color as it was.
2020-08-13 10:18:21 -05:00
Kevin Zander
966f18423f Center vertical scroll position when opening the Automation Editor (#5123)
* Center vertical scroll position when opening the Automation Editor
2020-08-11 10:18:34 -05:00
Spekular
139e492b17 Revert "Replace iterator where possible"
This reverts commit 2fe06c8f3c.
2020-08-11 14:58:54 +02:00
Spekular
2fe06c8f3c Replace iterator where possible 2020-08-11 14:57:27 +02:00
Kumar
1bb8d12e99 Enable mixer color-coding (#5589)
* Enable mixer color-coding

* Cleanup

* Fix warnings

* Improvements

* Improvements

* Use ColorChooser instead of QColorDialog

* Fix default palette being out of range

* Remove a redundant function

* Rename and make stuff efficient

* Comment on the code

* Make things more efficient

* Fix breaking builds

* Improvements

* Improvements pt. 2

* Improvements pt. 3

* Improvements pt. 4

* Improvements pt. 5

* Apply suggestions from code review

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-08-11 11:01:58 +02:00
IanCaio
f2887bda68 Improve the context menu actions when multiple TCOs are selected (#5601)
* Starts implementing the feature

The idea of this branch is to allow actions triggered through the context menu of a TCO on the song editor to affect all the selected TCOs. With this commit, only the "Mute/unmute" action affects all selected TCOs, while the others retain their old behavior (only affect the TCO that owns the context menu).

For that, a method was created that processes all actions (the triggered action is parsed as a parameter to the method). In the case of the "Mute" action, it checks if the song editor has selected TCOs, and if it does it mutes/unmutes all of them.

* Allows selected TCOs to be removed too

Now the "Remove" action from the context menu will remove all selected TCOs if there are any.

* Starts implementing selected TCO cut and copy

Now, when multiple TCOs are selected, the context menu actions Cut and Copy will write a DataFile to the clipboard containing the TCO information, so it can later be used to paste it.

The Paste action now checks if there's data in the QApplication clipboard. If there is, it will later paste the TCOs (for now it just prints the data with qWarning). If there's not, it uses the regular TCO paste method that uses the internal LMMS clipboard. Because it now have to decide between the QApplication clipboard and the LMMS internal clipboard, the Clipboard::copy() method now clears anything in the QApplication clipboard, making it empty so LMMS can know it should use the internal clipboard instead in that situation.

Adds safety checks for the selected TCO views.

* Overloads TCW paste selection methods

This commit is a step towards implementing the paste feature of the TCO context menu. It overloads the TrackContentWidget::canPasteSelection and TrackContentWidget::pasteSelection methods so they can be called without having a QDropEvent (only the QMimeData with the copied TCOs information). The overloaded canPasteSelection(MidiTime, QMimeData, bool) method required a third argument which says whether pasting over the same bar should be allowed or not, because it shouldn't when the QDropEvent comes from the same application but should when it doesn't. That is defined in the canPasteSelection(MidiTime, QDropEvent) method.

Also, the pasteSelection(MidiTime, QDropEvent) isn't optimal, since it calls canPasteSelection twice (more details in the comments, but it's basically because the two canPasteSelection methods can return different values depending on the origin of QDropEvent). This could later be fixed by calling canPasteSelection before pasteSelection and removing it from inside the method altogether.

Next step is to add the "tco_" key to the mimeData on the Copy/Cut operations and implementing the paste operation using those methods.

* Adds the TCO type to the clipboard

Adds the key with the TCO type ("tco_" + type number + ":" + TCO Data XML) to the clipboard, so it can be later used by the canPasteSelection and pasteSelection methods.

* Apply changes to "src/tracks/SampleTrack.cpp"

Change the SampleTCOView::contextMenuEvent() method so it behaves the same way as the TrackContentObjectView::contextMenuEvent() method. For that, I had to change the ContextMenuAction enum and the contextMenuAction methods to be protected instead of private, so SampleTCOView can access it.

* Implement the paste action

Now that the canPasteSelection and pasteSelection methods were overloaded, it was possible to implement the paste action using the same logic as the Drag&Drop copy/paste.

Other small changes:
	- Removes the TCO views AFTER creating the TCO data file, instead of before (which probably resulted in an empty data file).
	- Uses the StringPairDrag::mimeType() instead of Clipboard::mimeType() since that's the one the methods from StringPairDrag.cpp recognizes.

* Removes QDebug header

Forgot to remove the QDebug header on the last commit.

* Creates a Context Menu on the TCW for "paste"

Now it's possible to paste a selection of copied TCOs anywhere in the TCW, as long as the rules to paste are met (same rules as Drag&Drop copy/paste). If the rules are not met the "Paste" menu action shows but is disabled.

* Small code refactoring

Saving a few lines of code.

* Avoids double call to canPasteSelection

This commit adds a third parameter to the pasteSelection overloaded method, which will define whether we whould skip the canPasteSelection check. The only situation where we will want to skip it is if we are calling pasteSelection from inside the other pasteSelection method, which will already have checked it. Because of that the default value is false.

Organizes comments as well.

* Separates methods for the actions on selections

Now the remove, copy, cut, paste and toggle mute actions have a separate method for applying them to selections, which are then called from the contextMenuAction method. That made the code more organized and the contextMenuAction method smaller.

Also, the mouse shortcuts for muting and removing (CTRL+middle button, middle button, CTRL+right button) now apply the action on selections as well.

* Fixes small bug and reorganize code

Fixes a small bug where using a mouse shortcut or choosing an action on a TCO that is not selected while other TCOs were selected would result in the selection being affected.

Also reorganizes the code so the conditional for choosing between the selection action and the individual action stays inside the method.

* Move logic to the action methods

Since the methods that called the action+Selection() methods didn't need the list of selectableObjects, I moved it to the inside of the action+Selection() methods and removed the parameter from them.

* Changes logic structure and labels

As suggested by Spekular, the logic structure was changed. Now, the mousePressEvent and contextMenuAction methods determine whether the action should happen to a selection of TCOs or an individual TCO. The list of TCOs to be affected populate a QVector list called "active", which is parsed to the action method that will apply the action to each object in the list.

I changed the method names to removeActive, cutActive, copyActive and toggleMuteActive, since I believe that better describe the behavior. The paste method is still called pasteSelection for now, because the paste behavior isn't related to the active TCOs but to the content of the clipboard.

The contextMenuEvent method on both src/core/Track.cpp and src/tracks/SampleTrack.cpp were changed so they also check if the right-clicked TCO is part of a selection or an individual TCO, and the labels for the actions are changed to better describe the behavior (i.e.: "Delete" for individual TCO and "Delete selection" for multiple TCOs).

* Make removeActive and toggleMuteActive static

removeActive and toggleMuteActive methods are now static so they can be called from anywhere in the code since they don't require a TCO view instance to work. That makes it possible for them to be used in the future if any feature requires this type of action to be called from out of a TCO view instance.

The same couldn't be done for the copyActive and cutActive methods because those require an instance of the TCO view to call them, since when copying to the clipboard some metadata is written using information from the object instance.

* Renamed TCO View paste method

I renamed the TCO View paste method from pasteSelection to just paste, since the TCO view doesn't currently have a paste method (only the TCO class). It's also a name that accurately describes the action: it will paste either a group of TCOVs or a single TCOV on the current TCOV.

I also moved the logic for deciding between the multiple TCOV paste and single TCOV paste inside the paste method.

* Moves repeated code to a new method

This commit adds another method to TrackContentObjectView called getClickedTCOs, which will return a QVector with the TCO views that are supposed to be affected by a context menu action (either the individual right-clicked TCO or the selection of TCOs). Code was updated on the other methods to make use of this new method.

Method names for actions that affect multiple TCOs were changed. Instead of calling them copyActive, cutActive, toggleMuteActive and removeActive, they are just called copy, cut, toggleMute and remove, hence they are overloaded methods for those actions that affect multiple TCOs (their differenciation is the arguments list, which is a QVector list for those).

* Avoid unnecessary calls to getClickedTCOs()

We use a ternary operator inside TrackContentObjectView::mousePressEvent to avoid unnecessary calls to getClickedTCOs when the list is not going to be used.

The contextMenuEvent method on both Track.cpp and SampleTrack.cpp was reformated to use a more appropriate indentation and spacing between method calls.

* Fix indenting in a ternary operator assignment
2020-08-10 17:16:00 +02:00
Kevin Zander
ef961e53de Refactor PianoRoll (#5253)
* Rework PianoRoll paintEvent + some extras
* Split out PositionLine class to own file
* Refactor PianoRoll Q_PROPERTYs
* Reduce code by using Q_PROPERTY's MEMBER function and removing getter/setter functions
  After looking at the getters and setters, they did nothing different than what direct
  access would allow. Nothing outside of PianoRoll used the public functions as well.
  Considering these factors we can reduce the number of functions by 2x the number of
  Q_PROPERTIES, and go with direct access instead.
* Remove need for keyboard pixmaps
  With the recent change to allow zooming vertically, aligning pixmaps is a PITA. Since
  we have themes which can take brushes and colors, it would be simpler to take a solid
  color or a gradient with some extra style properties to resize the keys and text colors.
  While it will slightly be a downgrade from pixmaps since they can be anything really,
  this will allow us to customize the piano roll further moving forward.
* Added the ability to update margins for TimeLineWidget and StepRecorderWidget
  These take a X coordinate, which was hardcoded to WHITE_KEY_WIDTH, and never looked
  back. Now we can adjust on the fly if we need to. Currently this just allows us to
  shift the left margin to the style-defined white key width.
* Fix phantom pixmaps when PianoRoll not focused
* Update PositionLine class changes related to #5543
2020-08-09 18:01:35 -05:00
Johannes Lorenz
7a9b33627d Implement Lv2 Urid feature (#5517)
This includes implementing general feature handling, since this is the first supported feature.
2020-08-09 22:59:37 +02:00
thmueller64
df296b7931 Fix metronome playing when song is paused. (#5612) 2020-08-06 18:36:54 +02:00
pmerry96
b0333b6281 RemoteVstPlugin32: Fix Qt version check with MSVC 2019 + Qt 5.15 (#5607) 2020-08-05 16:49:23 +09:00
IanCaio
639f3a49a3 Changes the behavior of "solo" so it doesn't mute Automation Tracks (#5547)
* Changes the toggleSolo method

- Changes the toggleSolo method so it doesn't mute automation tracks (keeps their original state)

* Stop restoring Automation Track's mute values

- Since Automation Tracks are not affected by enabling solo on other tracks, there's no need (and it's even counter intuitive) to restore their previous mute value.
- Reduces a line by using "else if".

* Saves two lines merging 2 conditionals in 1

* Adds the new solo behavior as a new LED button

To allow the user choosing between the old solo behavior and the new one, a new LED button was added which will be used to enable the solo keeping the automation tracks states, while the red LED will enable the solo with the current behavior.

Changes to the code:
	- Added a purple LED image that will be used on the new button.
	- Increased the default width of the widget that holds the mute and solo buttons so the third one fits.
	- Changed the positioning of the LEDs on both the standard and compact track modes to accomodate them.
	- Added a new model called m_soloAutomationsModel, which is connected to the new LED button (m_soloAutomationsBtn). This will dictate the behavior of the toggleSolo method.
	- The red LED calls the toggleSolo method as before. The purple LED will change the m_soloAutomationsModel value and toggle the red LED, which will then call toggleSolo. But since the value of m_soloAutomationsModel will be different, the new behavior will be used on the method.

* Revert "Adds the new solo behavior as a new LED button"

This reverts commit fdbc8b2712.

After consulting fellow users and devs about this change to the PR, it was decided that adding a third button for the new solo behavior was not the best approach. This reverts the commit so we go back to just changing the solo behavior. Later an option can be added on LMMS settings to choose between the old and new behaviors.

* Adds an option to use the legacy solo behavior

This commit adds an option on LMMS settings (saved to the config file) to go back to the legacy behavior of the track solo button. The option can be found on Settings>General>"Use solo legacy behavior"

Changes to the code:
	- Since there's a change to the configuration file, an upgrade method was created (upgrade_1_3_0) to add the value to the config XML if it isn't already present (safety check).
	- An attribute is added to the DOM structure of the app configuration under the "app" tag, called "sololegacybehavior", which can be either 0 or 1.
	- Changes were made to include/SetupDialog.h, include/ConfigManager.h and src/core/ConfigManager.cpp to implement this new configuration option.
	- The toggleSolo method was changed to behave according to the value of the "sololegacybehavior" configuration.

* Changes the description of the solo setting

Changes the description of the solo setting on the Setup Dialog from "Use solo legacy behavior" to "Mute automation tracks during solo" since the latter is more descriptive and new users wouldn't be confused about what the legacy behavior was.

* Merges "if"s and "if-else"s where possible

A conditional could be merged by using the "||" logical operator and there was a "if" nested inside an "else" that could be merged into a single "if-else".

Very small code format change (keeping code block curly braces in separate lines).

* Uses default value instead of upgrading ConfigFile

Instead of using an upgrade method on the ConfigManager class to set a value to the sololegacybehavior parameter, we now use a default value on every call to ConfigManager::value that requests it.

* Removes repetitive method call

To make the loop more efficient, a local variable was created to hold the behavior of the solo selected in the setup dialog, instead of calling the ConfigManager::value method repeated times.

Observation:

Since no code was added/removed from ConfigManager.cpp, it was restored to its original state. There's however a TAB character in a blank line on line 145, which was there at the beginning of this PR but removed during it. It was written again in this commit to remove ConfigManager.cpp from the "Files changed" list.

* Saves one line of code and adds a comment
2020-08-01 20:03:23 +02:00
Kevin Zander
e37f3793f3 Fix validPattern to check if hasAutomation as well (#5124) 2020-07-29 20:26:20 +02:00
IanCaio
cbb1ec9a56 Removes unused variable on SongEditor.cpp (#5600)
There was a variable declared but unused on the SongEditor.cpp file (method SongEditor::keyPressEvent), called QVector<TrackContentObjectView *> tcoViews. The variable was removed.
2020-07-29 18:58:07 +02:00
Spekular
17565caf53 Improved relative paths (#5117)
* Create PathUtils

* Replace old SampleBuffer calls

* Fix automatic track names

* Fix things

* Remove accidental duplicate file

* Add includes

* More incldues

* PhysSong's code review + style

* Fix vestige loading?

Seems more reasonable to convert from relative on load and to relative on save than vice versa.

* Typo fix

* More Bases

* Enable more bases

* Add missing semicolons in prefixes

* Nicer sample track tooltip

* Use correct directories

"userXDir" gives the default dir for ladspa, sf2, and gig. "xDir" gives the user dir.

* Make relative to both default and custom locations

Part 1

* Make relative to both default and custom locations

Part 2

* Typofix

* Typofix

* Fix upgrade function after base renaming

* Fix Tests

* Update tests/src/core/RelativePathsTest.cpp

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>

* Choose UserXBase over DefaultXBase if identical

toShortestRelative sticks with the first base found if two bases give the same path length. By placing UserXBase Bases before DefaultXBase Bases in the relativeBases vector, toShortestRelative will prioritize them.

* Ensure baseLocation always has trailing slash

Otherwise, a user configuring a path without one will break things.

* Move loc declaration out of switch

* Semicolon

* Apply suggestions from code review...

* Include PathUtil and sort includes

* More granular includes

* Apply suggestions from code review

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>

* Update include/PathUtil.h

* Leave empty paths alone

* Fix stupid merge

* Really fix merge. Hopefully

* Switch Base from enum to class enum

* Don't pass Base by reference

* Use QStringLiteral for static QString allocation in basePrefix method

* Make VST loading more similar to previous implementation

* Fix tests after enum change

* Attempt to fix VST loading, nicer name for sample clips

* Fix last review comment

Don't append a "/" that will be removed by cleanPath later

* Apply suggestions from code review

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-07-28 17:07:35 +02:00
Rebecca DeField
67f0324ff5 Minor icon updates (#5588)
* Delete clear_ghost_note.png

* Delete ghost_note.png

* Delete loop_points_off.png

* Delete loop_points_on.png

* Updated and recreated icons

* Delete trackop.png

* New track gear icon
2020-07-26 11:14:18 -07:00
Kumar
86306042f5 Set default behaviour of playhead to << instead of |<< (#5591)
* Set default behaviour, correct spelling

* Set default behaviour, correct spelling

* Store stop behaviour in project

* Change how state is saved & loaded

* Change to use enum
2020-07-24 09:03:25 +02:00
Stefano Bonicatti
dc3e8cab45 Avoid leaking the track grip QPixmap at each paintEvent (#5590) 2020-07-24 10:33:46 +09:00
Cyp
04d8c0db06 Add missing ¹⁄₉₆ quantization (#5304) 2020-07-24 10:33:15 +09:00
Claudius Ellsel
23242b9529 Fix the outer border for the instrument track (#5594) 2020-07-21 18:35:36 +02:00
Kumar
a11fa71b94 Remove Xpressive help maximise button (#5570) (#5586)
* Remove Xpressive maximise button

* Fix grammar errors
2020-07-20 18:38:45 +02:00
LAMCILAK Theo
37d85ef24a Implement portable mode (#5561)
Adds portable mode by creating a file named portable_mode.txt next to lmms
and fixed a typo in the name of the function
2020-07-20 11:39:53 +09:00
Hyunjin Song
5a7ec92cf0 Fix crash on CLI rendering (#5579)
This is a temporary workaround. To make all export options available in CLI,
some properties of TimeLineWidget should be moved to a core class.
2020-07-20 11:38:46 +09:00
Spekular
619b1d67cd Merge pull request #5580 from IanCaio/hotfix/outputChannelBug
Fixes small conflict on a new commit
2020-07-14 09:09:59 +02:00
IanCaio
920ff35745 Fix bug from issue 5562 (#5565)
Fixes a small bug where projects that are saved with a soloed track can't restore the muted state of other tracks, because it doesn't store the m_mutedBeforeSolo variable on the project file.

With this fix, a new attribute is added to the Track DOM element, containing the muted state of tracks before the solo. When loading older projects that don't contain this attribute m_mutedBeforeSolo will be set to false.
2020-07-14 11:16:04 +09:00
IanCaio
159861a9a0 Fixes small conflict on a new commit
On the PR #5470 (Allows intruments to keep the midi channel information when forwarding), merged on Jun 1st 2020 commit 97680e0, there's a line removed on the src/gui/widgets/InstrumentMidiIOView.cpp file ( m_outputChannelSpinBox->setEnabled( false ); ), because since the output channel is now relevant even when MIDI forwarding is disabled, we need that spinbox always enabled. It was also disconnected from the LedButton to keep it from disabling/enabling it.

On the PR #5171 (Removed the excessive margin in instruments' GUI (#5129)), merged on Jul 9th 2020 commit 9895472, the line was reintroduced, possibly because it was an older PR that wasn't rebased to the latest changes. This broke the output channel spinbox because now it was disabled on the constructor, but it was still disconnected from the LedButton, as a result always disabled.

This hotfix removes the line again to fix the issue.
2020-07-13 22:20:34 -03:00
Spekular
574839f59c Small refactor in FxMixerView and FxMixer (#5577)
FxMixerView.cpp and FxMixer.cpp were inconsistent in their use of TrackContainer::TrackList vs QVector<Track *>. The former is a typedef of the latter, so this PR replaces all instances of QVector<Track *> with TrackContainer::TrackList.

Also, we were not including "TrackContainer.h" directly (the typedef was likely being included indirectly through one of the other include files), so we also include this header on both source codes.
2020-07-12 16:32:12 +02:00
IanCaio
3795fdff64 Small refactor on FxMixerView.cpp and FxMixer.cpp
The code on FxMixerView.cpp and FxMixer.cpp were using the types TrackContainer::TrackList and QVector<Track *> unconsistently. TrackContainer::TrackList is just a typedef for QVector<Track *> so it makes sense that we use it, specially in terms of readability.

Places where QVector<Track *> were used are now replaced with TrackContainer::TrackList.

Also, we were not including "TrackContainer.h" directly (the typedef was likely being included indirectly through one of the other include files), so we also include this header on both source codes.
2020-07-12 10:45:39 -03:00
Hussam al-Homsi
d0ef87543d Remove warning color from oscilloscope (#5492) 2020-07-11 18:40:12 -04:00
Kumar
2da0aaa460 Enable LMMS fullscreen and... (long title, read first line of description) (#5563)
* Enable fullscreen with hotkey & hotkey to toggle maximise in internal window

* Fix an obvious blunder

* Add fullscreen menu entry

* Change Alt+F11 to Shift+F11 (fix Windows bug)

* Move F5-F10 to Ctrl+F*, fullscreen by F11 and fix Linux bug

* Remove wrongly placed "fullscreen" attribute

* Remove temporary fixes for redundant bug

* Rename maximise to maximize

* Rename maximise to maximize

* Use fullscreen icon instead of maximise icon

* Actually include the icon in the commit

* Replace .svg icon with .png 16x16 icon

* Migrate editor hotkeys to Ctrl+1-7
2020-07-11 11:30:27 +02:00
thmueller64
4b4f117add Fix garbage in exported audio caused by resampling (#5552)
This makes AudioDevice::resample return the actual number of generated samples.
2020-07-10 10:58:52 +09:00
Artur Twardowski
9895472efd Removed the excessive margin in instruments' GUI (#5129) (#5171)
* Removed the excessive margin in instruments' GUI (#5129)

* Reduced the font size for "master pitch" label.
* Reduced the layout spacing for MIDI Input and MIDI Output groups
* Shortened labels, so that the LcdSpinBoxes are spaced evenly

* Added translator's comments

* Whitespace fix
2020-07-09 22:08:05 +02:00
Spekular
e07c78d2fc Better minimum length when resizing notes (#5512)
* Limit note length to quantization value

Draging a note to it's minimum value of 1 will add this new length to
the note if you later choose to stretch it which will not be clearly
visible in the Piano Roll unless you zoom in a bit. Limit the note
length to the quantization value and use <Alt> key to override and set
a smaller value.

* Update src/gui/editors/PianoRoll.cpp

Co-authored-by: Spekular <Spekular@users.noreply.github.com>

* Remember min note length if shorter than quantization()

* Find note length modulo quantization, pick smallest from selected notes

* Comment on and improve m_minResizeLen calculation

Co-authored-by: Oskar Wallgren <oskar.wallgren13@gmail.com>
2020-07-09 17:18:57 +02:00
Spekular
afbf80bfcb Refactor deleteUnusedChannels in FxMixerView (#5564)
* Refactor deleteUnusedChannels in FxMixerView

* Comments + style fix

Co-authored-by: Veratil <veratil@gmail.com>, formatting, suggestions on which lines to comment.

Co-authored-by: Kevin Zander <veratil@gmail.com>

* Update weird deleteChannel loop

* Use vector instead of array

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

Co-authored-by: Kevin Zander <veratil@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-07-09 16:33:54 +02:00
IanCaio
5aba3d2a73 Fix a bug on the "Remove unused channels" command (#5559)
On the FX mixer, the "Remove unused channels" action only checked for InstrumentTracks on every channel but ignored SampleTracks that could be linked to the particular FX channel. Because of that, if there was a channel where only SampleTracks are forwarded to and we clicked on "Remove unused channels", it was going to be removed. This commit fixes it.
2020-07-07 09:59:34 +02:00
Kumar
fd04efd394 Make Pause hotkey Shift+Space (#5554) 2020-07-06 17:37:27 +02:00
Hyunjin Song
c83c9bf54f Merge branch 'stable-1.2'
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	src/core/Track.cpp
2020-07-05 11:27:33 +09:00
Lost Robot
84998a26fd Update LcdSpinBox.cpp (#5555) 2020-07-04 10:48:16 -06:00
Hyunjin Song
94363be152 Bump version to 1.2.2 2020-07-04 20:58:46 +09:00
Hyunjin Song
fde11df89b Update PROJECT_YEAR 2020-07-04 20:39:07 +09:00
Hyunjin Song
24eb2304fd Add a CMake option for deploying Qt translations 2020-07-04 20:39:04 +09:00
Kumar
984fd3a935 Adding a trail (gradient) behind the position bar (#5543)
* src/gui/editors/SongEditor.cpp

* Gradient can be toggled and color can be changed.

* Made playback line (and tail) transparent to mouse clicks

* Gradient disappears when paused/stopped; tail length depends on zoom

* Fixes bug where gradient appears when a pattern is played; style corrections

* Cleaned up code

* Rename m_zoomLevels to s_zoomLevels

* Finalising code

* Make positionLine class independent of parent zooming model

* Edit a bug fix to make it more efficient

* Rename m_x and finalise positionLine code

* Rename m_x and finalise positionLine changes

* Rename X to playHeadPos
2020-07-02 10:26:41 -04:00
Hyunjin Song
c28dbd1835 Update CONTRIBUTORS 2020-06-23 10:45:39 +09:00
Hyunjin Song
c6f8f7b8e7 Travis: stop auto-uploading binary releases 2020-06-23 10:41:24 +09:00
Luna Nooteboom
5d7e6720e1 Automatically assign a midi input device to the selected track (#5499) 2020-06-21 11:17:05 +09:00
Dominic Clark
f56b4963c1 Fix some TCOs not saving properly (#5537) 2020-06-17 23:05:40 +01:00
Spekular
82f413568d Make better use of getSelectedNotes() in PianoRoll.cpp (#5526)
* Make better use of getSelectedNotes() in PianoRoll.cpp

* Save and reuse selected note vector more often

* Apply review suggestions

Thanks to @Veratil

* Comment, style, consistency
2020-06-15 09:33:51 +02:00
Spekular
733a4115de Merge pull request #5531 from IanCaio/feature/cloneBBTrackPattern
Adds a button to clone the current BB track pattern inside the BB Editor
2020-06-15 09:32:37 +02:00
IanCaio
b1c1d14601 Changes the clone pattern method name
- Changes method name from cloneBBTrackPattern to clonePattern
- Small fix on the comments
- Adds a TODO comment regarding reusing the code from TrackOperationsWidget as a reference, so we can later figure out a way to not repeat the code
2020-06-13 12:14:47 -03:00
IanCaio
503006057c Adds a button to clone the BB track pattern
Adds a button on the BBEditor that clones the current BB track pattern, but without also cloning the song editor TCOs. That can be useful when an user is editing drumlines and wants to make a section with a slight variation for example.
2020-06-11 01:12:42 -03:00
Hussam al-Homsi
8c7e63b35b Remove macros likely() and unlikely() (#5530)
* Remove macros likely() and unlikely(): https://github.com/LMMS/lmms/pull/5530/#issue-431515330

* Remove only use of macro Q_UNLIKELY(): https://github.com/LMMS/lmms/pull/5530/#issuecomment-641634577
2020-06-09 20:45:45 -04:00
Raine M. Ekman
a05306131b Consolidate error messages while loading project (#5269) 2020-06-04 14:21:30 +09:00
IanCaio
97680e081e Allows instruments to keep the MIDI channel information when forwarding (#5470)
Now it's possible to forward received MIDI events with their original channel, either to another track or to the instrument plugin itself. To do that, the user must select the channel "--" on the MIDI output widget. In that case, all MIDI events will be forwarded with their original channel, and the MIDI events produced by the track itself will be sent with the default channel.
2020-06-02 10:48:34 +09:00
Lukas W
b8a3765cb1 Merge branch 'stable-1.2' into master 2020-06-01 15:19:20 +02:00
Oskar Wallgren
82f9239cd1 24 bit FLAC export. Clip negative side of wave (#5501)
24 bit FLAC export. Clip negative side of wave to counteract a bug in libsndfile < 1.0.29

Co-authored-by: Spekular <Spekular@users.noreply.github.com>
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-27 18:33:54 +02:00
Spekular
f3032575af Remove stopPlaying connection
Missed this in #5477
2020-05-24 21:02:24 +02:00
Oskar Wallgren
0528a00cca Compensate beat note length when stretching (#5515)
* Compensate beat note length when stretching

We allow stretching beat notes to normal notes but the length starts
from -192 so there is a lag for one whole note before any change is
seen. Compensate by setting the oldNote value to 1 when stretching
if the note is 0 or below in length.

Co-authored-by: Spekular <Spekular@users.noreply.github.com>
2020-05-24 20:59:38 +02:00
Johannes Lorenz
c6a1abe150 Fix #5194: Fix knobs moving too fast (#5360)
This PR fixes issues on systems where `QCursor::setPos()` has no effect
or is not reliable. These issues included knobs moving to fast on some
operating systems. Affected widgets are `Knob` and `LcdSpinBox`.

With this PR, on all operating systems, the `setPos` calls are removed and
the cursor is not hidden anymore, so the mouse keeps moving normally
when changing values of one of the widgets.

As now the previous pointer position keeps moving (instead of being reset
to the original position using `QCursor::setPos`), the mathematics that
translate pointer pixel distance to `Knob`/`LcdSpinBox` value increase
have to be changed:

* The `Knob` transition function is now linear and uses a new factor.
* `LcdSpinBox` now uses float values and saves the current float remainder
  (this is actually a separate issue revealed by this fix), leading to a fluent,
  non hanging movement.
2020-05-24 13:35:16 +02:00
Johannes Lorenz
3a985ff1fc Fix #4201: BB editor: adjust cursor position (#5489)
This fixes an offset for cursors whose pointer position varies between
different themes.
2020-05-24 13:20:05 +02:00
Johannes Lorenz
2a66e83f53 Lv2 core implementation
Implementation of the Lv2 core, except for CV ports. No features or
extensions are supported yet.

You can now generate sound using Lv2 instruments (restricted to non-piano)
or effects.

For an explenation about the new classes, see Lv2Manager.h
2020-05-24 12:50:50 +02:00
thmueller64
d5a2366fc8 Fix #5504: invalid warning 2020-05-23 18:07:35 +02:00
Johannes Lorenz
7aef23d209 LinkedModelGroupView: Un-focus filter edit...
... whenever the user clicks other widgets
2020-05-23 09:00:11 +02:00
Johannes Lorenz
109cdf6cf3 Fix #5483: sf2_player: No crash when file is no soundfont (#5487) 2020-05-21 22:45:01 +02:00
bahaokten
c3e056a21d Implement compress action for commandline use (#5341) 2020-05-19 19:02:01 +02:00
Lost Robot
b6b75a5f21 Divide knob step size by 1000 for LADSPA effects (#4574) 2020-05-19 18:15:03 +02:00
Cyp
8a190e4e13 Fix wrong lengths of exported tracks, when tracks have different lengths. (#5348)
* Fix wrong lengths of exported tracks, when tracks have different lengths.

Song::updateLength() was called in ProjectRenderer::run() after Song::startExport(),
updating m_length too late, resulting in it being used as the length of the wrong track.

* Fix "Export as loop" resetting after rendering the first track

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-19 12:28:03 +09:00
necrashter
7f9b4c2401 Implement fade in to prevent Triple Osc from clicking (#5199) 2020-05-19 11:34:54 +09:00
Johannes Lorenz
29a5abc30b Fix Qt 5.15 build issues (#5498)
Add missing QPainterPath includes
2020-05-18 12:58:48 -04:00
Johannes Lorenz
b818234c15 ControlLayout: Allow removing search bar's focus 2020-05-17 09:22:36 +02:00
Ibuki
1e8fcbdf2d Show VST parameter string (#5321) 2020-05-17 11:15:39 +09:00
Oskar Wallgren
953a0b17c1 Song Editor - Delete selected objects with backspace key (#5497) 2020-05-15 19:16:06 +02:00
Johannes Lorenz
737fcd3e55 JackMidi: Remove confusing warning at shutdown
Warning is:

```
jack_port_unregister called with an incorrect port 0
Failed to unregister jack midi output
```
2020-05-15 18:49:55 +02:00
Johannes Lorenz
e3cae80580 Audio/MidiJack: Fix invalid read: (3) of #5408
This atomically unsets the MidiJack reference in AudioJack right before
MidiJack is destroyed. This avoids AudioJack using a destroyed MidiJack
object.
2020-05-15 18:49:55 +02:00
Johannes Lorenz
9e9c5acc17 Audio/MidiJack: Fix invalid read: (2) of #5408
This patch
* makes `m_stopped` atomic
* initializes `m_stopped` correctly to `true`
* moves the initialization of `m_stopped` to the point where jack ports
  are already connected
2020-05-15 18:49:55 +02:00
Johannes Lorenz
c6d60e982e Audio/MidiJack: Fix invalid read: (1) of #5408
This fixes reading from jack MIDI events in case where
there are no jack MIDI events.
2020-05-15 18:49:55 +02:00
Lukas W
f5ecddbb1f Fix Windows rpmalloc compile flags 2020-05-12 11:43:23 +02:00
Lukas W
dc95f07287 Fix Windows compilation with no gzip available 2020-05-12 11:31:05 +02:00
Lukas W
187f7f58c7 Merge stable-1.2 into master 2020-05-12 11:18:14 +02:00
Hussam al-Homsi
04239bafc3 addStretch() before adding the oscilloscope 2020-05-10 13:29:14 +02:00
Hyunjin Song
23fd4bd05c Forward search paths correctly in INSTALL_TARGET_DEPENDENCIES
Also fixes a typo in cmake/install/CMakeLists.txt.
2020-05-10 10:33:03 +09:00
Hussam al-Homsi
ec37f347de Refactor the oscilloscope (#5488)
* Rename files

* Update code

* Remove unused code

* Make background a member variable
2020-05-09 18:19:17 -04:00
Lost Robot
79511d6004 Decrease Bitcrusher bit depth reduction step size (#5407) 2020-05-09 14:03:34 -06:00
akimaze
ab107f01f9 VST preset preview (#5441)
* Enable vestige presets preview.

* Don't destroy vestige instrument on every preset change.

* Don't reload VST dll plugin when it's not necessary. Always hide plugin UI in preview mode.

* Don't remove other instruments in preview mode, don't send instrument change signal.

* Minor changes

* Add a change I missed

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2020-05-09 13:23:40 +09:00
Kevin Zander
317be01012 Fix #4098 (#5449)
Fixes piano roll crashing when window is scaled too large.
2020-05-07 14:18:15 +02:00
thmueller64
56fbefc700 Fix #5461 and ensure consistent use of check gate (#5475)
* Multiple effects: Calculation of `outSum` should be after D/W mixing
* CrossoverEQ.cpp: `outSum` must be divided by frames in the end 
* CrossoverEQ.cpp: don't overwrite `outSum` in for loop, but increment it
2020-05-06 11:23:40 +02:00
Kevin Zander
1a6f4c1104 Add option to move SideBar to right side of window (#5114) 2020-05-05 11:46:25 +09:00
Spekular
6095bbc762 Merge pull request #5477 from Spekular/SampleIndicator
Sample track activity indicator
2020-05-04 17:11:38 +02:00
tresf
71b6107d9b Remove unwarranted CXX flag
Per https://github.com/LMMS/lmms/pull/4080#issuecomment-623058847
2020-05-03 02:26:57 -04:00
Hyunjin Song
c18edd4cef Use local cursor instead of global one in PianoRoll (#5200)
Fixes stuck vertical cursor as well.
2020-05-03 12:44:30 +09:00
Andreas Müller
f4f10c11fc 3rdparty/cmake: Do not reset CMAKE_C(XX)_FLAGS (#4080)
CMake 3rdparty: Do not overwrite CMAKE_C(XX)_FLAGS

Co-authored-by: tresf <tres.finocchiaro@gmail.com>
2020-05-02 16:55:06 -04:00
Oskar Wallgren
ca09b29087 Select the correct piano key for marking semitones (#5478)
When selecting a Piano Key to mark semitones in the Piano Roll we
select key from the y position of the pop-up menu and not the mouse.
Incidentally these two are most often the same as the menu builds
from the mouse y positon and down. If there is room for it. If there
is no room downward it will create the menu so the lower part of the
frame aligns with the mouse y position.
Fixed by creating a variable to hold the pressed key before creating
the menu.
2020-05-02 16:41:44 +09:00
Spekular
e643f83bc0 Merge branch 'SampleIndicator' of https://github.com/Spekular/lmms into SampleIndicator 2020-05-01 20:04:24 +02:00
Spekular
9ed5f80fe0 Refactor palette update on un/mute 2020-05-01 20:03:27 +02:00
Spekular
0c180b8dc5 Nicer spacing in activity indicator's setGeometry call
Co-authored-by: Kevin Zander <veratil@gmail.com>
2020-05-01 12:27:41 +02:00
Spekular
aaf94ef69d Formatting chananges 2020-04-30 22:07:00 +02:00
Spekular
ae2af96c9a Use nullptr instead of NULL
Requested by Veratil <veratil@gmail.com>
2020-04-30 18:06:06 +02:00
akimaze
c755b56a52 Piano roll vertical zoom (#5442) 2020-04-30 11:22:28 +09:00
Spekular
5821466f18 Fix indicator in BB editor 2020-04-29 21:17:16 +02:00
Spekular
b46ea0e9af refactor 2020-04-29 20:44:09 +02:00
Spekular
7c2c77cc89 Mergefix 2020-04-29 17:49:28 +02:00
Hyunjin Song
687870d302 AFP: fix loading start and loop points if the loop point is automated (#5472) 2020-04-28 14:41:11 +09:00
Hyunjin Song
e199f72686 Fix crash on drawing line on the end of a graph (#5471)
This bug was introduced in dff76b2e83.
The function changes [sample_end, sample_begin), but emits the signal
as if [sample_end, sample_begin] has been changed. That bug made
Multitap Echo crash when tweaking the cutoff of the 32nd stage.

This commit fixes the issue by emitting sampleChanged with sample_end - 1.
2020-04-28 14:39:39 +09:00
Spekular
9efb6f9a8e Merge pull request #5469 from Veratil/issue-5254
Set AutomationPattern length to 1 bar if the length is 0
2020-04-26 22:21:04 +02:00
Veratil
a4f677362d Add comments and reduce unnecessary code 2020-04-26 14:44:05 -05:00
Veratil
aec0dd3b3e If AutomationPattern has a single tick at 0, set it's length to 1 bar. 2020-04-26 12:52:17 -05:00
Hyunjin Song
1c5a3f8a36 DrumSynth: ensure correct envelope length in any sample rate (#5467) 2020-04-26 10:59:43 +02:00
Michael Gregorius
31996fee7a Merge pull request #5454 from michaelgregorius/5453-OpenContainingFolder
Implements "Open containing folder" (#5453)
2020-04-23 19:48:37 +02:00
Oskar Wallgren
149eca1ec9 Note selection: Editing values works in dialog (#5438) 2020-04-22 22:25:14 +02:00
tecknixia
abcfee1334 disable drag after drawing line (#5315) 2020-04-22 20:47:59 +02:00
Johannes Lorenz
27b1ce914b Remove plugins/LadspaEffect/swh/ladspa-util.c (#5451)
This file contains no used code and it caused build problems, so we
remove it. Thanks to @plater for the issue report.
2020-04-22 10:35:00 +02:00
Michael Gregorius
c37fdd0055 Code review changes (comment added)
Add a comment which describes that only the folder is opened without
selecting any file. Also explain why it is only done like this for now.
2020-04-21 20:12:50 +02:00
Michael Gregorius
b85aef2f33 Code review changes
Move openContainingFolder to the end of the method block.

Adjust FileBrowserTreeWidget::contextMenuEvent to the coding conventions
and also make the code more readable by splitting up some conditions.

Add comments to clarify as to why the member m_contextMenuItem is set to
nullptr at the end of the execution of contextMenuEvent. Please note
that this implementation is not exception safe and should be changed in
the future, e.g. by passing the FileItem as a parameter of the slot.
2020-04-19 22:08:09 +02:00
Michael Gregorius
2aea19fff1 Add "Open containing folder" (#5453)
Add functionality to open the containing folder of a file that's selected
in LMMS' file browser.

Technical details
------------------
Add a new private method openContainingFolder to FileBrowser. Add a new
action to the context menu of a selected file. This action in turn calls
the added method.

The current implementation of openContainingFolder delegates to
QDesktopServices::openUrl with the directory of the selected file. Please
note that this will only open the directory but not select the file as
this is much more complicated due to different implementations that are
needed for the different platforms (Linux/Windows/MacOS).

Using QDesktopServices::openUrl seems to be the most simple cross
platform way which uses functionality that's already available in Qt.
2020-04-14 14:45:08 +02:00
Spekular
24194334e6 Merge pull request #5401 from Spekular/dropPosition
Bias dropped clip position backwards
2020-04-12 11:10:42 +02:00
Hyunjin Song
174630087e Use shimmed std::as_const instead of qAsConst 2020-04-04 12:13:01 +09:00
Hyunjin Song
8d908c681e Ensure plugin dependencies are deployed correctly 2020-04-04 12:13:01 +09:00
Hyunjin Song
924743dd17 Fix submodule fetching from non-default branches with old Git 2020-04-04 12:13:01 +09:00
Hyunjin Song
ebfa883e4d Carla: fix MSVC compatibility 2020-04-04 12:13:01 +09:00
Hyunjin Song
7628b253b0 Fix linking issues with the dummy Carla library(especially with MSVC) 2020-04-04 12:13:01 +09:00
Hyunjin Song
d173f42fec Fix wine detection 2020-04-04 12:13:01 +09:00
Hyunjin Song
9c2ccdf3a8 Fix some issues in shell scripts spotted by shellcheck 2020-04-04 12:13:01 +09:00
Hyunjin Song
044c88c271 Merge branch 'stable-1.2'
# Conflicts:
#	.gitmodules
#	.travis.yml
#	.travis/linux..before_install.sh
#	.travis/linux..install.sh
#	CMakeLists.txt
#	cmake/linux/package_linux.sh.in
#	cmake/modules/BuildPlugin.cmake
#	include/AutomatableModel.h
#	plugins/MidiImport/MidiImport.cpp
#	plugins/carlapatchbay/CMakeLists.txt
#	plugins/carlarack/CMakeLists.txt
#	src/core/Song.cpp
#	src/core/Track.cpp
#	src/gui/editors/SongEditor.cpp
#	tests/src/core/AutomatableModelTest.cpp
2020-04-04 12:08:55 +09:00
Hyunjin Song
8afa2d5412 Fix the linking method for the dummy Carla library 2020-04-04 12:06:35 +09:00
Johannes Lorenz
656eede6ba Fix bug made in #5336
This removes a duplicate dataChanged() emit. Thanks to @PhysSong for the
hint.
2020-04-01 21:24:22 +02:00
Hyunjin Song
a8df120a58 STK Mallets: don't silence active notes when switching instruments
This also fixes the underlying noise on instrument switches.
2020-03-25 11:09:55 +09:00
Hyunjin Song
b51079e921 Use proper synchronization methods on some instrument track operations 2020-03-25 11:09:55 +09:00
Hyunjin Song
2367a62a51 Fix crashes and hangs on importing some Hydrogen drum kit songs (#5420) 2020-03-23 15:11:13 +09:00
Hussam al-Homsi
85e0574138 Refactor FFT helpers (#5309)
* Do not check if unsigned int is negative

* Reduce scope of some local variables

* Use right types for iterators

* Check conditional returns first

* Remove unused functions

* Utilize a range-based for loop opportunity
2020-03-11 15:07:02 -04:00
Tres Finocchiaro
0196f31509 Fix SDL2 detection
Per #5389 (Comment)
Recommended by @PhysSong 
Adopted from upstream SDL1 patch c5c217c6b5
2020-03-11 11:55:33 -04:00
Johannes Lorenz
d382d4e08b Fix previous commit 2020-03-08 08:47:40 +01:00
Johannes Lorenz
ab8be73047 Cherry-pick from master commit 4dc26d1 (#5413) 2020-03-08 08:24:46 +01:00
Muhammed Furkan USLU
4dc26d1aab Fix issue #5409. (#5413)
Fix multiple uninitialized reads.
2020-03-08 07:31:36 +01:00
Hyunjin Song
94431ea9de RemoteVstPlugin: fix issues with FXP/FXB files on Windows (#5411) 2020-03-01 12:03:49 +09:00
Spekular
b2c4f2939d Elaborate on desired version information
Closes #5368
2020-02-28 20:40:12 +01:00
Johannes Lorenz
47786865ef Document strange bug 2020-02-25 20:40:49 +01:00
Johannes Lorenz
97a6379c6d Update UI after linking models (#4904) 2020-02-25 20:40:49 +01:00
Johannes Lorenz
a0f4e50805 Fix knobs not updating vals on link (#4904) 2020-02-25 20:40:49 +01:00
Johannes Lorenz
534d7ca9c5 Fix doxygen comment 2020-02-25 20:40:49 +01:00
Spekular
bbb3624399 Bias dropped clip position backwards 2020-02-23 14:01:56 +01:00
Johannes Lorenz
eebdc0f4be Linked model groups (#4964)
Add labeled controls for different types with a common base class

Implement a container for multiple equal groups of linked models and
suiting views. Such groups are suited for representing mono effects where each
Model occurs twice. A group provides Models for one mono processor and is
visually represented with a group box.

This concept is common for LADSPA and Lv2, and useful for any mono effect.
2020-02-21 19:26:29 +01:00
tresf
a77e592c19 Fix handling of plugin_export.h
Fixes error: definition is marked ‘dllimport’
Per #4813
2020-02-08 01:57:30 -05:00
Hyunjin Song
3410db4d99 Travis/macOS: rename qt5 to qt in the installation script
Travis-CI started installs Qt 5 to their macOS images.
To exclude qt properly, it should not be written as its alias 'qt5'.
2020-02-07 15:03:43 +09:00
Hyunjin Song
ea670287f3 macOS CI: fix package conflicts due to Homebrew's Python 2 2020-02-07 15:03:43 +09:00
Martin Pavelek
89d8363218 Add the vectorscope plugin (#5328)
The credit for the `ColorChooser` class goes to CYBERDEViLNL.
2020-02-07 15:00:42 +09:00
Hye Sung Jung
8679f79e2b fix spelling errors (#5385) 2020-02-01 13:38:59 +01:00
Hyunjin Song
aeac24c06d Fix a muted demo project "Greippi - Krem Kaakkuja (Second Flight Remix)" 2020-01-26 16:05:47 +09:00
Johannes Lorenz
d280b8628d Fixes #3183: Fix file factory delimeter position 2020-01-22 05:57:28 +01:00
Johannes Lorenz
427d779668 FileBrowser: Add helpful comments 2020-01-22 05:57:28 +01:00
Javier Serrano Polo
fd77c79cda Switch to Xenial build environment (#4813)
* Switch to Xenial build environment
* Add Carla submodule/weak linking support, related #3963 
* Fix Carla detection in AppImage, closes #5369
2020-01-17 10:55:07 -05:00
Hussam al-Homsi
63d11f763c Simplify FadeButton update (#5311) 2020-01-12 20:42:54 -05:00
Dominic Clark
c52682dfb1 Fix stuck notes with Helm VSTi 2020-01-08 07:53:13 +01:00
Martin Pavelek
ef99c53357 fix locking of the useless_lock in LocklessRingBuffer.h 2020-01-05 17:54:29 +01:00
Johannes Lorenz
a9640c8898 Comment-out deprecated attribute
It may be valid, but fails our CI
2019-12-26 18:23:52 +01:00
Hyunjin Song
11e5de3a4e Debian: add libx11-xcb-dev as an explicit build dependency 2019-12-24 12:03:17 +09:00
Cyp
42f7e262e9 Fix scrolling direction in SongEditor due to stuck Ctrl/Shift. 2019-12-23 21:17:18 +01:00
Cyp
d849cc179c Only filter out <>:"/\|?* while exporting tracks. 2019-12-23 20:05:26 +01:00
Hyunjin Song
4bfcc30a71 MIDI import: fix putting notes before the beginning of a pattern (#5343) 2019-12-23 17:33:46 +09:00
Hussam al-Homsi
abf3530d33 Return EXIT_SUCCESS instead of 0 in main 2019-12-15 00:50:43 -05:00
liushuyu
a9e3e70ae3 filebrowser: making the string more flexible for i18n 2019-11-24 00:50:15 -07:00
liushuyu
b11e8eb33b SpectrumAnalyzer: Fix typo 2019-11-24 00:50:15 -07:00
Cyp
578a9475ec Fix invalid read in RemotePlugin::RemotePlugin() on opening the ZynAddSubFx GUI. (#5299)
Calling .toUtf8().constData() returns a pointer which is invalid at the end of the statement.
2019-11-22 22:26:00 +09:00
Hyunjin Song
a2e328e3dd Fix crash on deleting instrument with controller connections on knobs (#5306)
Knob::friendlyUpdate() can be called after the model is deleted
due to signal-slot connections.
Adding a check for the model fixes a crash due to null pointer dereference.
2019-11-22 21:26:47 +09:00
Martin Pavelek
da73ddd242 Spectrum analyzer update (#5160)
* advanced config: expose hidden constants to user screen
* advanced config: add support for FFT window overlapping
* waterfall: display at native resolution on high-DPI screens
* waterfall: add cursor and improve label density
* FFT: fix normalization so that 0 dBFS matches full-scale sinewave
* FFT: decouple data acquisition from processing and display
* FFT: separate lock for reallocation (to avoid some needless waiting)
* moved ranges and other constants to a separate file
* debug: better performance measurements
* minor fixes
* build the ringbuffer library as part of LMMS core
2019-11-21 14:44:18 +01:00
Andres
df3e388393 Fix triggering of stop animation when playing no samples after stopping song playing samples 2019-11-19 19:07:10 -03:00
Kapandaria
2f0010270e Xpressive plugin updates (#5217)
* Updated plugin artwork.

* Update the formula in the presets to use integrate(f) instead of
  t*f, as integrate operation is more robust to frequency changes.

* rename X-Pressive to Xpressive in help window title.

* Xpressive.cpp, spaces to tabs and remove commented code.
2019-11-18 21:29:08 +01:00
Andres
229de18bc0 Fixed triggering of stop animation when not playing 2019-11-17 23:05:16 -03:00
Dominic Clark
cf4bb7b851 Fix remote plugin crash reading parameters from Grooove plugin (#5300) 2019-11-17 16:09:48 +00:00
Kevin Zander
256ae6dad6 Fix incorrect m_lastSoloed after moving/deleting an FX channel
Original code by @gi0e5b06.
2019-11-16 10:46:09 +09:00
Hussam al-Homsi
33b36ffc5e Add some missing includes 2019-11-15 17:09:57 -05:00
Olivier Humbert
ffce1d947a Debian packaging improvements (#5264)
* d/control: http -> https
* d/control: rearrange lists (one item per line + alphabetically ordered)
* d/copyright: http -> https
* Delete contributors.patch (integrated now)
* d/series: removes contributors.patch
2019-11-14 23:30:49 -05:00
Andres
e056ecb27b Added to sampletrackview the code needed for the activity indicator mute behaviour 2019-11-07 21:02:55 -03:00
Andres
caaeb62a95 Moved the activity indicator mute code to parent class 2019-11-07 20:53:05 -03:00
nia
b4459bed9e Support NetBSD's OSS audio/midi implementation (#5277) 2019-11-07 13:47:20 +09:00
Hussam al-Homsi
a24f1d779d Do not include unused headers 2019-11-06 22:06:15 -05:00
Andres
4d9e5e36a6 Sampletrack activity indicator 2019-11-05 08:17:25 -03:00
Lukas W
fb25575339 Merge issue templates (PR #4884)
Add issue templates
2019-11-05 09:46:30 +01:00
Lukas W
8a52ddb642 CricleCI: Test merged pull request 2019-11-01 14:01:12 +01:00
Kevin Zander
a8d91b10e8 Fix vertical piano mouse click unresponsiveness
`PianoRoll::mouseDoubleClickEvent` wasn't forwarding the event to the base class when not acting on the event. The base class calls `mousePressEvent`.

Fixes #3005
2019-11-01 08:37:43 +01:00
Kevin Zander
ebf71003c7 Fix vertical piano mouse click unresponsiveness
`PianoRoll::mouseDoubleClickEvent` wasn't forwarding the event to the base class when not acting on the event. The base class calls `mousePressEvent`.

Fixes #3005
2019-11-01 08:36:54 +01:00
Shmuel H
08c7e8e8dd appimage: Escape $DIR to avoid word-splitting 2019-11-01 09:10:01 +02:00
Shmuel H
02980e610c appimage: Use command -v instead of which (sc2230) 2019-11-01 09:10:01 +02:00
Shmuel H
55b65527c3 appimage: move launcher code into launch_lmms.sh. 2019-11-01 09:10:01 +02:00
David CARLIER
dac59a5fa0 C++11 inheritance updates
Add `override` and remove `virtual` where applicable
2019-10-31 20:05:33 +01:00
Cyp
fd203c3f7b Fix crash due to calling QWidget::move from a non-GUI thread while exporting tracks.
Calling via QMetaObject::invokeMethod should be thread safe.

Crash callstack:

QWidget::move
SongEditor::updatePosition
Song::stop
Song::stopExport
ProjectRenderer::run
QThreadPrivate::start
2019-10-31 17:24:13 +01:00
Alexandre Almeida
46f5433732 New BARS_PER_GROUP constant 2019-10-31 15:14:04 +01:00
Alexandre Almeida
53e6b645c8 Use "bar" instead of "tact"
Closes #4865
2019-10-31 15:13:25 +01:00
Lukas W
b8e499d6d8 Merge "Don't use deprecated Qt5 functions" (#5156) 2019-10-31 09:41:43 +01:00
Hyunjin Song
488c4ea603 CircleCI: support Qt from a PPA on /opt 2019-10-31 15:14:52 +09:00
Hyunjin Song
9cb1f8e784 Change the docker tag for CircleCI Linux builds
In response to https://github.com/LMMS/lmms-ci-docker/pull/7
2019-10-31 14:37:40 +09:00
Lukas W
400c8d8105 Remove Travis MinGW builds
We already run them on CircleCI with a newer Qt version.
2019-10-30 12:13:27 +01:00
Lukas W
b5b3b2e6a6 CMake: Require Qt 5.6+ 2019-10-30 12:13:27 +01:00
Lukas W
d9f1383ca9 Remove remaining usages of QSignalMapper 2019-10-30 12:13:27 +01:00
Noah Brecht
2c5bf2b9dd lambdas instead of QSignalMapper 2019-10-30 12:13:27 +01:00
Noah Brecht
38f599b6e7 setPath rather than operator= for qDir 2019-10-30 12:13:27 +01:00
Noah Brecht
200d1c209c more depricated qt functions 2019-10-30 12:13:27 +01:00
Lukas W
35daff9a84 GitHub: Add Discord contact link to template chooser 2019-10-29 22:42:52 +01:00
Lukas W
4a9e9da78c Issue templates improvements
* Ask users to search the tracker first
* Ask for the LMMS version in bug reports
2019-10-29 22:42:20 +01:00
Oskar Wallgren
6c865c072d Piano Roll - Fix retrigger with vol/pan sliders (#5271) 2019-10-29 14:01:05 +01:00
Shmuel H
1b45ce5a98 CircleCI: Add macOS support. 2019-10-28 22:34:18 +02:00
nia
eeaaf6d1da Support CMAKE_INSTALL_MANDIR (#5276) 2019-10-28 09:56:34 +09:00
knittl
5e4e536bf0 Replace initializer list macros with delegating constructors (#5279)
Closes #5278
2019-10-27 21:17:04 +01:00
Mark-Agent003
3745bfbd7f Increase File Browser Spacing (#4252)
Increase File Browser Spacing
2019-10-25 09:20:02 +02:00
Hyunjin Song
13c4f4a995 Let Travis Mac builds use the Xcode 9.4 image 2019-10-22 11:30:36 +09:00
Hyunjin Song
7ebaa0e211 Merge branch 'stable-1.2'
# Conflicts:
#	data/locale/pl.ts
#	include/SongEditor.h
#	plugins/vst_base/CMakeLists.txt
#	src/core/Song.cpp
#	src/gui/editors/SongEditor.cpp
2019-10-21 11:18:39 +09:00
Hyunjin Song
dbf5f47149 Bump version to 1.2.1 2019-10-21 09:27:12 +09:00
Shmuel H
82c38193de Add windows NSIS artifact extensions (#5244)
* MSVC: Move MSVC year detection to DetectMachine.cmake.
* NSIS: Add compiler to installer name
2019-10-20 23:28:42 +03:00
Raine M. Ekman
4f11cf1b23 Make SampleBuffer adjust its members when resampling
Fixes #5218.
2019-10-19 22:41:51 +03:00
Oskar Wallgren
a9262b9613 Fix Organic offset glitch (#5252) 2019-10-19 11:40:06 +02:00
David Carlier
732448c392 FreeBSD build version 2019-10-18 16:52:38 +02:00
Lost Robot
2d17bf07f3 Allow mid-note automation of BitInvader sample length (#4705) 2019-10-17 16:44:55 +09:00
Shmuel H
a22b6d7575 NSIS: Add compiler to installer name 2019-10-17 03:04:18 +03:00
Shmuel H
d005eec1aa MSVC: Move MSVC year detection to DetectMachine.cmake. 2019-10-17 03:03:26 +03:00
Hyunjin Song
f1831ffdc6 Export TrackContentObject class
Fix a build error introduced in #5223.
2019-10-17 08:54:51 +09:00
Kevin Zander
170d28ffbd Remove global automation from MIDI import (#5223) 2019-10-15 11:22:41 +09:00
Hyunjin Song
95c46a805d RemoteVstPlugin: fix crashes when failed to open a file (#5235) 2019-10-15 11:18:46 +09:00
Oskar Wallgren
6dee6a4418 Show icon on 'Turn off all notes' button (#5237)
Backporting fix from 2815da2805
by @karmux
2019-10-12 17:41:30 +02:00
Oskar Wallgren
e321dff733 Translation Fixes (Continuation of #4482) (#5185)
Fix some formatting issues with some translations. 

* Russian
* Polish
* Swedish
* Ukrainian
2019-10-10 19:01:17 +02:00
Hyunjin Song
d7a78fe121 Specify timeout for transfer.sh uploads
Prevents "No output has been received in the last 10m0s" errors on Travis CI.
2019-10-10 14:22:42 +09:00
Hyunjin Song
91a38a922d Add back '-Wl,-E' (#5233) 2019-10-10 10:06:14 +09:00
Kevin Zander
e1d311730b Fix regression introduced in #5170 (#5224) 2019-10-07 21:33:11 +02:00
Steffen Baranowsky
5aa87886c9 Rubberband fix for selecting large area in Songeditor (#5003) 2019-10-07 18:13:44 +02:00
Shmuel H
45cb7f21c5 linuxdeployqt: drop -unsupported-allow-new-glibc 2019-10-07 15:40:09 +03:00
Shmuel H
770e8cc777 CircleCI: Use xenial for linux.gcc builds
AppImage will fail otherwise.
2019-10-07 15:40:09 +03:00
Hyunjin Song
2df4fff1c0 Work around a winegcc bug of Wine >= 4.14 (#5211)
See https://bugs.winehq.org/show_bug.cgi?id=47710 for details
2019-10-07 08:02:03 +09:00
Hyunjin Song
16390f61a5 Work around a winegcc bug of Wine >= 4.14 (#5210)
See https://bugs.winehq.org/show_bug.cgi?id=47710 for details
2019-10-07 08:01:48 +09:00
Tres Finocchiaro
da09b2a941 CheckSubmodules: Workaround submodules failing (#5222)
Workaround git's inability to recover from a shallow clone
2019-10-06 01:05:53 -04:00
Tres Finocchiaro
15fe551b1d Submodules: Only fetch required (#5182, closes #5105) + Non-shallow fallback (hotfix)
* Retry updating submodules non-shallow if shallow clone fails (master hotfix)
* Add `PLUGIN_LIST` support to CheckSubmodules (#5105)
* Remove `SKIP_SUBMODULES` switch (it's redundant to specifying `PLUGIN_LIST`)
* Add `NO_SHALLOW_CLONE` switch
2019-10-03 17:47:49 +02:00
Hussam al-Homsi
9f0baab93a Fix regression of some default settings
The regression was introduced in #3820.
2019-10-01 21:14:55 -04:00
https://gitlab.com/users/CYBERDEViLNL
ca8871455e Make undo for PianoRoll cut action possible (#5214) 2019-10-02 08:00:59 +09:00
https://gitlab.com/users/CYBERDEViLNL
5132d91bfc Give focus to AutomationEditor when the window gets the foucs (#5170)
This will make shortcuts work on opening the editor.
2019-10-02 08:00:11 +09:00
Kevin Zander
867639929a Add close button to SideBarWidget (#5133) 2019-10-01 11:36:45 +09:00
Shmuel H
57a486c75d Merge pull request #5142 from Reflexe/cmake/install-refactor
Support automatic dll collection and refactor cmake installation process.
2019-09-24 11:36:24 +03:00
Hyunjin Song
94354e3053 Support deploying dependencies in MSVC builds with CMake < 3.14 2019-09-24 10:47:24 +03:00
Hyunjin Song
2f64c461e8 Fix missing system libraries in MSVC installations
* Install UCRT libraries
* Install debug libraries in debug builds
2019-09-24 10:47:24 +03:00
Shmuel H
ae9d619abd BuildPlugin: Always remove 'lib' suffix from the DLL name 2019-09-24 10:47:24 +03:00
Shmuel H
1324cf48c1 Enable automatic dll installation for RemoteVstPlugin32
Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>
2019-09-24 10:47:24 +03:00
Hussam al-Homsi
90dec52db0 Add missing icons of File menu actions (#5183) 2019-09-19 12:02:11 -04:00
Oskar Wallgren
419321dd01 Only MacOS and Windows are case insensitive (#4768) 2019-09-16 07:09:42 +02:00
Tres Finocchiaro
ffa03df72b Fix $PATH value in AppImage
Closes #5187
2019-09-15 10:18:47 -04:00
Hyunjin Song
6782b6d6c4 Merge branch 'stable-1.2'
# Conflicts:
#	.mailmap
#	cmake/linux/lmms.desktop
#	src/gui/editors/PianoRoll.cpp
#	src/tracks/BBTrack.cpp
2019-09-15 21:08:33 +09:00
Kevin Zander
8fdf6c4d12 Fix #4188 - Check for failed std::find (#5137) 2019-09-14 20:36:06 +03:00
Shmuel H
0059c6e71f Fix #4188 - Check for failed qFind (#5184) 2019-09-14 20:35:54 +03:00
Kevin Zander
b07c007a27 Add save/load of PianoRoll marked semitones (#5146) 2019-09-14 19:57:44 +03:00
Hussam al-Homsi
9eb6e3fa33 Update .mailmap 2019-09-13 14:03:26 -04:00
Hyunjin Song
c436e5ca57 Remove MIDI connections from factory .mmpz files (#5163) 2019-09-13 07:54:48 +09:00
Dominic Clark
91cf5bd88d Support compilation with MSVC 2019 (#5180) 2019-09-10 15:17:55 +01:00
Hussam al-Homsi
a0e7a88e67 Remove "What's This?" leftovers (#5173) 2019-09-09 00:22:43 -04:00
Dominic Clark
2e84cd3e0c Fix stuck keys when dragging on piano view (#5127)
* Fix stuck keys when dragging on piano view
* Add comment

Co-Authored-By: Shmuel H. <shmuelhazan0@gmail.com>
2019-09-08 14:43:15 +02:00
malcops
e1236f53e2 Remove maximize from Meter(Metro) menu (#5071)
Fixes #4984.
2019-09-08 11:18:45 +09:00
Hussam al-Homsi
84d1091100 Rewrite the setup dialog (#3820) 2019-09-05 20:32:17 -04:00
Shmuel H
13da2b9576 CMake: extract dll installation code into a portable function 2019-09-04 10:15:31 +03:00
Shmuel H
72bdb23531 CMake: Provide API for install-time variables with generator expression 2019-08-31 09:15:29 +09:00
Hyunjin Song
7a23ee8ad1 AppVeyor: create Windows installers 2019-08-31 09:09:49 +09:00
Hyunjin Song
8d169fa529 CircleCI: create Windows installers 2019-08-31 09:09:49 +09:00
Lukas W
4fd8e08f3b Rewrite CMake dependency installation
Replaces the hard-coded library paths by a method based on CMake's
GetPrerequisites module which recursively finds a binary file's linked
libraries. Advantage: Potentially works on any system without adaption as
long as CMake supports it, so it could be used to create portable Linux
packages as well. Disadvantage: "Potentially".

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>
2019-08-31 09:09:49 +09:00
Lost Robot
c2eefe73d0 Prevent LMMS VisualizationWidget from showing clipping color at exactly 0 db (#5162) 2019-08-30 16:36:04 -06:00
Winnie
e803a31a90 Simplify TemplatesMenu class (#5155) 2019-08-28 22:51:54 +02:00
Spekular
8568ae4eac Make splash screen text white (#5149)
Make splash screen text white
Closes #5023
2019-08-27 09:24:13 -04:00
Winnie
605aef7afc Fix loading state for recent projects menu (#5152) 2019-08-26 09:33:25 +08:00
RossGammon
4c2d8941dc Fix some spelling errors in lmms (#5151) 2019-08-26 09:09:05 +08:00
Artur Twardowski
a631c0c47e Fix invalid MIDI Program Change decoding (#5154) 2019-08-26 09:05:59 +08:00
Winnie
2cdb9f2f38 Extract RecentProjectsMenu class from MainWindow (#5148)
* Extract RecentProjectsMenu class from MainWindow
* Clean up updateRecentlyOpenedProjectsMenu
* Remove m_recentlyOpenedProjectsMenu from MainWindow
2019-08-24 18:55:30 +02:00
Winnie
a863830795 Extract TemplatesMenu class from MainWindow (#5125) 2019-08-24 09:33:52 +02:00
Dominic Clark
93f9134c45 Fix crash opening VST automation window (#5144)
The VST automation window initially adds a subwindow with a null widget, so we have to check that w isn't nullptr before getting its size hint.

Fixes #5132.
2019-08-23 20:38:46 +03:00
Kevin Zander
c80519e65e Allow playing muted pattern in the piano roll (#5134) 2019-08-21 12:41:33 +08:00
Shmuel H
ce5c74432e Update appveyor image to Visual Studio 2017 (#5130) 2019-08-20 12:37:42 +03:00
Steffen Baranowsky
e1ef5fad0d shows the vertical scrollbar of songeditor and bb-editor only if needed (#5102) 2019-08-18 10:49:02 +02:00
Kun Deng
00d2cd304a Fix for the SF2 with no "default" patch (#5084)
Fixes #323
2019-08-13 21:23:57 +03:00
Olivier Humbert
0db83c55a0 Better French translations in the menu item file (#4711)
in order to stick with the original English meaning
2019-07-31 01:17:55 +02:00
Olivier Humbert
db200fb90c Create FUNDING.yml (#5057) 2019-07-30 08:40:07 +08:00
Hussam al-Homsi
e206798c1e Use mean based logic for controlling loop points. (#4034)
* Use median based logic for controlling loop points.

* Limit controlling loop points to right mouse button.
2019-07-29 12:08:07 -04:00
Spekular
1c715bc335 Enhanced snapping in song editor (#4973)
* New default behavior: Preserves offsets when moving clips, resizes in fixed increments.

* Adds shift + drag: Snaps move start position (like current behavior) or end position (new),
based on which is closest to the real position. When moving a selection,
the grabbed clip snaps into position and the rest move relative to it.

* Adds alt + drag: Allows fine adjustment of a clip's position or size,
as an alternative to ctrl + drag.

* Adds a Q dropdown in the song editor to allow finer or coarser snapping (8 bars to 1/16th bar)

* Adds a proportional snap toggle. When enabled, snapping size/Q adjusts based on zoom,
and a label appears showing the current snap size. This is disabled by default.
2019-07-27 17:14:49 +08:00
Steffen Baranowsky
bdbea87149 show BBEditor on clicking the TrackLabelButton (#5060) 2019-07-26 10:04:16 +02:00
Hyunjin Song
7492e53b02 Fix broken translations in 12ea80d4fb 2019-07-22 09:01:58 +09:00
Johannes Lorenz
a966d25ad2 Merge branch 'variable-tab-widget' 2019-07-22 01:22:10 +02:00
Johannes Lorenz
6e7c4a47c2 Fixes #5061: Fix Effect Rack View in Instrument
The EffectRackView in an InstrumentTrackWindow had some parts hidden when
loading files with >= 4 effects. This was now fixed by force-resizing the
EffectRackView to its desired size.

It's a dirty fix, but good enough, plus many Instrument UIs might get
rewritten to be resizable in the future.
2019-07-22 01:20:13 +02:00
Johannes Lorenz
ba6a86d331 TabWidget: Improve size hints 2019-07-22 01:20:00 +02:00
Lost Robot
d949770144 Merge pull request #5083 from freshstudio/fix/context-menu-channel-rename
Fixed renaming mixer channel from the context menu
2019-07-20 07:29:38 -06:00
Freshek
0ed7581355 Fixed renaming mixer channel from the context menu 2019-07-20 15:19:10 +02:00
Martin Pavelek
c3b4d5188a New Spectrum Analyzer (#4950)
Replace old spectrum analyzer by new one with higher resolution and
many new features.

Resolves #2847.
2019-07-17 22:45:26 +02:00
Johannes Lorenz
73c2c70d96 Merge branch 'variable-tab-widget' 2019-07-17 22:21:47 +02:00
Johannes Lorenz
aa8f9361c6 Rename InstrumentView250 to InstrumentViewFixedSize 2019-07-17 22:20:25 +02:00
Johannes Lorenz
a4df7a9765 Split InstrumentView into itself and InstrumentView250 2019-07-14 10:20:54 +02:00
Johannes Lorenz
4f3ed9f9e1 EffectControlDialog: Use 'Preferred' size policy
This does not have any effect, as the surrounding MDI sub window always
uses the minimumSizHint. It's just preparation.
2019-07-13 22:49:26 +02:00
Johannes Lorenz
a4b801fe1b TabWidget: Add missing size hints
This is mostly for completeness, it does not fix any known issues.
2019-07-13 22:49:10 +02:00
Johannes Lorenz
3585b14b98 Instrument view: Add missing size hints
Those are needed for the case when an instrument is being resized
manually.
2019-07-13 22:48:48 +02:00
Johannes Lorenz
f5db880867 SubWindow.cpp: Fix comment 2019-07-13 22:48:15 +02:00
Johannes Lorenz
59e186d208 Closes #5050: Add Mixer threading comments (#5069)
[ci skip]
2019-07-11 18:22:41 +02:00
Steffen Baranowsky
d766b87688 Drop sample on sampletracks (#5043)
* implements drag and drop samples to sampletracks

* clean up / take care of timeLineWidget heigth in songeditor

* unused memeber removed

* clean up

* Update include/TrackContainerView.h

Co-Authored-By: Spekular <Spekular@users.noreply.github.com>

* Update src/gui/TrackContainerView.cpp

Co-Authored-By: Spekular <Spekular@users.noreply.github.com>

* Update src/gui/TrackContainerView.cpp

Co-Authored-By: Spekular <Spekular@users.noreply.github.com>

* Update src/gui/editors/SongEditor.cpp

Co-Authored-By: Spekular <Spekular@users.noreply.github.com>

* load AFP if we don't drop on a sample track

* take care of timeLineWidget size changes

* clean up

* consolidate some code

* requested changes by code review

* move logic to SampleTrackView

* clean up

* clean up

* clean up
2019-06-28 02:26:27 +02:00
Steffen Baranowsky
68cb91726a MDI Subwindow Decoration for VeSTige instruments closes #2824 (#2826)
* MDI Subwindow Decoration for VeSTige instruments closes #2824

* revert changes

* change QMdiSubWindow to our SubWindow in Vestige
2019-06-26 13:34:13 +02:00
Noah Brecht
7834e10bc7 FadeButtons now remain partially lit as a note plays out (#4969) 2019-06-25 20:26:57 +09:00
Johannes Lorenz
a0c2a62c27 Add .editorconfig
This file tells the github online editor to use tabs of width 4 instead
of 8. Open
[this](https://github.com/JohannesLorenz/github_test/blob/master/test.cpp)
test file in your browser to see how it works (the width is 5 in the
example).

Actually, it also tells many other editors...
2019-06-25 03:37:14 +02:00
Lost Robot
2547098dca Merge pull request #5038 from DouglasDGI/better-fx-mixer
Increase Mixer fader falloff speed
2019-06-22 07:16:47 -06:00
Hussam al-Homsi
5431cc7942 Replace tLimit() with qBound() and remove templates.h (#5040)
* Replace tLimit() with qBound()

* Remove templates.h
2019-06-15 23:33:29 +03:00
Lost Robot
499d425b4b Increase Mixer fader falloff speed
This also fixes a display bug that is present with large fader falloff speeds.
2019-06-14 18:38:56 -06:00
Olivier Humbert
3ada5b8a12 Update .mailmap (#5037) 2019-06-14 21:07:14 +02:00
Hyunjin Song
f141ae68e0 Fix macOS builds 2019-06-12 17:42:24 +09:00
Hyunjin Song
12ea80d4fb Merge branch 'stable-1.2'
# Conflicts:
#	data/locale/cs.ts
#	data/locale/en.ts
#	data/locale/ko.ts
#	data/locale/ru.ts
#	data/locale/uk.ts
#	data/locale/zh_TW.ts
#	include/Engine.h
#	plugins/nes/Nes.cpp
#	src/core/NotePlayHandle.cpp
#	src/core/SampleBuffer.cpp
#	src/tracks/SampleTrack.cpp
2019-06-12 17:41:12 +09:00
Hyunjin Song
4cb243b0ef Travis: drop unneeded prefix setting for npm 2019-06-12 17:38:53 +09:00
tresf
df79f8c1be Enable dark title bar on macOS
Closes #5031
2019-06-11 22:57:01 -04:00
Shmuel H
723a451ebc Add a save option to discard MIDI connections (#5021)
* Song: add isSavingProject.
* VersionedSaveDialog: Add support for a custom option dialog.
* AutomatableModel: Support the discardMIDIConnections save option.
* InstrumentTrack: Support the discardMIDIConnections save option.
* SaveOptions: Show the save option dialog on "save as".
2019-06-09 15:44:32 +03:00
Hyunjin Song
0fbaca40bd Bump version to 1.2.0 2019-06-09 20:28:34 +09:00
Rebecca DeField
bfa8a4bc8c fix color profile error (#5019) 2019-06-08 11:57:56 +02:00
Tres Finocchiaro
ca06b886f5 DMG rebranding (#5013)
Rebrand macOS DMG background
- Design and artwork courtesy @RebeccaDeField
- Closes #4289
2019-06-08 01:17:15 -04:00
Johannes Lorenz
457f2c6712 Fix German translation
* Fix "Export Tracks"
* Add "Export MIDI"

[ci skip]
2019-06-07 18:33:48 +02:00
Johannes Lorenz
6e5650c50a Fixes #4996: Fix metadata when exporting multiple tracks (#5005)
Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>
2019-06-07 18:28:11 +02:00
Rebecca DeField
d194c70391 updated splash (#5002) 2019-06-06 18:18:49 -07:00
Hyunjin Song
47d6388182 MP3 export: initialize ID3 tag with id3tag_init
Fixes wrongly set 'Blues' genre(ID 0) in exported mp3 files.
2019-06-06 20:24:06 +09:00
Hyunjin Song
c37228c7e3 Travis: fix macOS build due to the old default version of Node.js
appdmg recently dropped support for Node.js < 8.5
2019-06-06 19:33:10 +09:00
liushuyu
359de2083e i18n: update template strings 2019-06-05 19:29:07 -06:00
Shmuel H
665e50395c Bugfix - SampleTrack -> Play: Fix sample track not being played in the
right place when it not played from the begining.

That has created a difference between the ticks and the metronome and
the sample track.

The cause of the problem was that the calculation of the frame to play
was wrong: we had calculated `framesPerTick` according to the current
engine's sample rate instead of the SampleBuffer's sample rate.
2019-06-02 20:48:58 +03:00
Shmuel H
6d27f90271 Bugfix - SampleTrack -> Load & Save: Fix recorded sample track not being
played correctly after saving and loading a project due to sample rate
not getting saved in the project file.
2019-06-02 20:48:58 +03:00
Shmuel H
37f0c3f33d SampleBuffer -> Use processingSampleRate.
SampleBuffer was using baseSampleRate as the default samplerate instead of the actual processingSampleRate.
2019-06-02 20:48:58 +03:00
Lost Robot
d683a51350 Merge pull request #7 from LMMS/master
Master
2019-05-30 18:55:33 -06:00
liushuyu
fad89d6be7 i18n: update translations from Transifex 2019-05-28 15:13:51 -06:00
David CARLIER
46c74d0a81 Making clearer the hierarchy. (#4967)
Add `override` keyword
2019-05-28 00:02:17 +02:00
Shmuel H
9c6e2278ce SampleTrack: call requestChangesInModel before unref SampleBuffer (#4982)
To avoid a race condition between the gui thread which destroys the
samplebuffer and the mixer thread which increases the buffer's ref-
count, we'll make sure to touch the ref-count only when wh're synced
with the mixer.
2019-05-27 21:26:30 +03:00
Johannes Lorenz
fb1b18e6b8 Merge pull request #4990 from sharpblade4/fix#4963_nextver
playing/recording pianoRoll's chord notes (#4963)
2019-05-25 03:53:00 +02:00
sharpblade4
28143e61ed playing/recording pianoRoll's chord notes (#4963) 2019-05-24 19:37:14 +03:00
T0NIT0 RMX
ec64de0723 Fixes #4781: Don't disconnect LADSPA automation on export 2019-05-14 21:19:30 +02:00
Johannes Lorenz
4b4b470550 Extend ProjectJournal docs, thx to @DomClark 2019-05-13 20:23:01 +02:00
Hyunjin Song
934ea6d086 Fix controller loading error on loading projects
Fixes a regression in 91f9f1a890,
which added the range check into the wrong if statement.
2019-05-10 07:32:40 +09:00
Oskar Wallgren
50796b2088 Nescaline and Freeboy - Better default sound (#4968) 2019-05-09 19:51:10 +02:00
Hyunjin Song
b9503a8c70 Fix race conditions in NotePlayHandleManager (#4966)
NotePlayHandleManager::acquire uses a read lock unless the pool is empty.
If two threads try to acquire NotePlayHandle simultaneously
when the value of s_availableIndex is 1, one thread will try to read s_available[-1].
If the acquire action and the release action are done at the same time,
NotePlayHandleManager::acquire may try to read data
before NotePlayHandleManager::release actually writes.

This commit prevents them by always using the write lock when acquiring a NotePlayHandle.
2019-05-08 15:12:17 +09:00
Ron U
3dcffbf96f fix hanging mouse in piano roll (#4822) (#4960)
* fix hanging mouse in piano roll (#4822)

* fix hanging mouse in automation & pianoroll (#4822);

* fix hanging mouse in automation & pianoroll (#4822)

removed TODO comment that I forgot in the code
2019-05-06 11:00:37 +02:00
Hyunjin Song
d54c79d33b Fix the wrong merge 2019-05-06 16:43:01 +09:00
Hyunjin Song
6d7ce58dec Merge branch 'stable-1.2'
# Conflicts:
#	CMakeLists.txt
#	cmake/linux/package_linux.sh.in
#	src/3rdparty/CMakeLists.txt
#	src/core/Track.cpp
#	src/gui/editors/PianoRoll.cpp
#	src/tracks/SampleTrack.cpp
2019-05-06 15:46:17 +09:00
Hyunjin Song
9ff882d09d Fix invisible note editing handles when a note has detuning info
Fixes a regression in 32df2d7fba,
the clipping area was restored in a wrong place.
Also, a wrong value was used while restoring.
2019-05-06 15:43:12 +09:00
Hyunjin Song
8f4757ee3b Use extracted linuxdeployqt directly
As of https://github.com/probonopd/linuxdeployqt/pull/370/,
the AppRun of linuxdeployqt unsets LD_LIBRARY_PATH.
This behavior isn't suitable for our cases, so we use
the extracted binary directly as a workaround.
2019-05-06 12:13:22 +09:00
https://gitlab.com/users/CYBERDEViLNL
cb6b4ec44b Show/Focus BBEditor on TrackLabelButton click #4946 (#4959)
It will be shown even if the parent is hidden.
2019-05-05 15:57:16 +02:00
Hyunjin Song
32df2d7fba Don't draw note detuning info over the volume/panning area (#4965) 2019-05-05 12:39:36 +09:00
Hyunjin Song
8bcdf06c6c Travis: fix a debootstrap error from missing keyrings
Uses 18.04's debian-archive-keyring to fix the missing keyrings.
2019-04-29 16:34:35 +09:00
Johannes Lorenz
c9ed6fc806 Merge pull request #4902 from JohannesLorenz/model-visitor
Make Model class visitable
2019-04-27 20:09:14 +02:00
Johannes Lorenz
2c134d65fe Code style + Extend for TempoSyncKnob 2019-04-27 15:26:17 +02:00
Johannes Lorenz
777da5e391 Fix CI on windows 2019-04-27 11:11:48 +02:00
Johannes Lorenz
8d005e7565 AutomatableModelTest: Improve tests
Check whether returned pointers from the cast are equal to the original
pointers, rather than just checking wether they are not `nullptr`.
2019-04-27 10:48:37 +02:00
Johannes Lorenz
0fd5693e12 Improve dcast
* document `dcast`
* make `dcast` not only cast exact, but also upwards
* add `dcast` test
* rename `dcast` -> `dynamicCast`
2019-04-27 00:29:49 +02:00
Dominic Clark
ca9a9564cd Make more connections direct for automation (#4942) 2019-04-26 12:59:53 +01:00
Alexandra Dutton
160d306f48 Record chords (#4938)
* Added check for chord to notes recorded from keyboard
2019-04-24 19:18:53 +02:00
Dominic Clark
461faccaa0 Fix notes getting stuck under high CPU conditions (#4908) 2019-04-24 12:50:07 +01:00
Hyunjin Song
c80f0bf5e7 Fix wiki submodule 2019-04-24 13:58:37 +09:00
Johannes Lorenz
b5e408d25a Update wiki submodule 2019-04-22 20:03:57 +02:00
Johannes Lorenz
7ae4e85ffe Document graph widget 2019-04-22 11:05:59 +02:00
Johannes Lorenz
d537561ffc Document Effect::checkGate 2019-04-22 09:27:01 +02:00
makepost
a685049627 Allow build for Wayland w/o X11Extras, if VST off
@lukas-w reminds in 134dae8 comments that X11Extras help Linux users of
VST effects #3786. Now LMMS builds and runs on Weston without X11
dependencies, though only if WANT_VST is off.
2019-04-22 09:26:33 +02:00
Johannes Lorenz
22fb650a4f Merge branch 'variable-tab-widget' 2019-04-22 08:59:59 +02:00
CYBERDEViLNL
407444ea1d FileBrowser: Backup expanded directories and restore that state when the tree is reloaded. 2019-04-21 00:14:33 +02:00
Johannes Lorenz
e1df16c45b Coding conventions 2019-04-20 22:12:32 +02:00
Johannes Lorenz
53942a146a Fix bad identation in old code 2019-04-20 18:32:17 +02:00
Johannes Lorenz
91099e28d5 Fix -1 offset in plugin tab
In the instrument plugin tab, there was an orange stripe for
TripleOscillator. This was because internally, TabWidget moves up the
widget by 1 (TabWidget.cpp, line 89).

The size of the whole window is:

```
widget->height() + m_tabbarHeight - 1
```

So this code adds an offset of "-1" to the necessary computations.
2019-04-20 13:23:42 +02:00
Johannes Lorenz
d06f5088a1 Move macro definition out of class 2019-04-20 13:09:49 +02:00
Johannes Lorenz
96cc5e0e5e Add PluginIssue class (#4901) 2019-04-17 19:08:59 +02:00
https://gitlab.com/users/CYBERDEViLNL
5784dd6dc9 Use local cursor for TrackContentObjectView (#4918)
Fixes crash on cloning patterns on Qt >= 5.12.
2019-04-16 06:37:20 +09:00
Spekular
5a56969af2 Allow sample track TCOs to resize smaller than one bar (#4933)
Other changes:
* Update TCO position more exact when a drag leaves a TCO and enters `TrackContentWidget` (required to detect that the cursor has really moved when leaving a TCO with length < 1 to the right)
* Use exact length when samples are loaded, don't round it up
* Reset size when reloading same file
2019-04-15 17:54:18 +02:00
Noah Brecht
91f9f1a890 Don't try to connect to nonexistent controllers (#4939)
Fixes crash on loading presets with controllers.
2019-04-14 19:26:49 +09:00
Lost Robot
271e20dc6d Merge pull request #4 from LMMS/master
Master
2019-04-13 18:59:52 -06:00
Lost Robot
b3461e2aa3 Merge pull request #4943 from RoxasKH/new-monstro-icons
New monstro icons
2019-04-13 15:00:14 -06:00
Lost Robot
be31a5598e Shrink ComboBox arrow section slightly
This is being done for two reasons:

1. The new Monstro icons (and the icons for Microwave when it's finished) are too large.
2. All ComboBoxes (subjectively) look much nicer this way.
2019-04-13 14:30:46 -06:00
Lost Robot
07dcea1294 Replace Monstro icons 2019-04-13 14:26:41 -06:00
Gingka Akiyama
82e3ba75c6 [Equalizer] Bright analyzer colors, opacity increased (#4772)
* [Equalizer] Bright analyzer colors, opacity incr

Brightened spectrum analyzer colors and increased opacity a tad to make more visible

* Fixed RGB Value

* Update EqControlsDialog.cpp

* Fixed color change

* Changed colors again

* Fixed colors, now brighter and bluer

* Ok, its actually bright now lol
2019-04-06 09:19:32 -07:00
Johannes Lorenz
ac257f08f9 PluginBrowser: Tree layout and search bar (#4759) 2019-04-03 22:10:49 +02:00
CYBERDEViLNL
3ef33dbbe9 PluginBrowser: Tree layout and search bar 2019-04-03 00:35:33 +02:00
Johannes Lorenz
d52c220a5c Fix instrument window tab sizes
- Fix the instrument window tabs minimum width and height formulae
- Also set minimum height and width for instrument tab
2019-03-29 18:43:39 +01:00
Hyunjin Song
93ec816d4c SetupDialog: fix file dialog not opening for theme directory
It was caused by a typo affecting a signal-slot connection.
2019-03-28 10:48:01 +09:00
Hyunjin Song
4dce466873 Remove some Qt4 compatibility code 2019-03-27 07:05:38 +09:00
Hyunjin Song
f18efb470f Travis: fix shellcheck warnings for the Debian sid script 2019-03-26 10:43:14 +09:00
Hyunjin Song
7984bb9db6 Merge branch 'stable-1.2'
# Conflicts:
#	.travis.yml
#	.travis/linux..script.sh
#	.travis/linux.win.download.sh
#	.travis/linux.win32.script.sh
#	.travis/linux.win64.script.sh
#	.travis/osx..script.sh
#	include/VstSyncController.h
#	plugins/audio_file_processor/audio_file_processor.cpp
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/Bank.cpp
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/Bank.h
#	src/gui/SetupDialog.cpp
#	src/gui/editors/SongEditor.cpp
2019-03-26 09:53:33 +09:00
Hyunjin Song
032c324dbc Travis: use carla instead of carla-git
Due to some breaking changes in the development branch of Carla,
we can't use the package right now.
Fortunately, the carla package now points to 2.0 series. So we will use it.

See also: https://kx.studio/News/?action=view&url=changes-in-kxstudio-repos-regarding-carla-and-jack2
2019-03-26 09:39:54 +09:00
Johannes Lorenz
82cf45351a Allow sub plugins for instruments aswell
This allows sub plugins for instruments. They had been working for effects only, previously. This is a requirement for many plugin APIs, like Lv2.
2019-03-22 20:54:33 +01:00
Johannes Lorenz
34835811e1 Fix invalid display names 2019-03-22 20:35:21 +01:00
Johannes Lorenz
52d1f5588a Remove useless include 2019-03-22 18:32:59 +01:00
Johannes Lorenz
2061d6c35f Merge branch 'master' into instr-sub-plugins 2019-03-22 10:51:23 +01:00
Johannes Lorenz
1adf16037f Make instrument window's piano optional 2019-03-21 20:05:36 +01:00
necrashter
f79c2929a5 Fix empty editors after closing them and creating a new project (#4891) 2019-03-19 18:06:02 +09:00
Tres Finocchiaro
ea5cbe6789 Allow new Zyn bank creation on Linux (#4905)
Allow new Zyn bank creation on Linux
Closes #4642
2019-03-18 12:41:01 -04:00
tresf
79524168b3 Bump zyn submodule
Per #4642
2019-03-18 12:37:07 -04:00
Lukas W
e1adfc3952 TCO drag: Fix Ctrl+Drag crash
Fix some assumptions that source and target of a drag actions are the same
track container. Instead of looking up necessary information (track name,
type and container id) by track index, add it to the metadata.
Refactor canPasteSelection to take QDropEvent instead of the drop event's
QMimeData. Coincidentally, this fixes the method to be consistent with its
documentation.

Fixes #4844
2019-03-18 12:38:54 +01:00
Lukas W
dd6c18e62b Automation Editor: Don't accept drag events when there's no pattern
Fixes #4857
2019-03-18 12:38:37 +01:00
Martin Pavelek
0c3db1045c Fix Blackman-Harris window formula (#4895)
Adds missing parentheses
2019-03-17 23:00:47 +09:00
Johannes Lorenz
ef6bac68c2 Merge branch 'misc-lv2-preparation' 2019-03-17 11:23:59 +01:00
Johannes Lorenz
4129be873e Add explenation for LadspaControls::m_noLink 2019-03-17 11:22:05 +01:00
Johannes Lorenz
7e7141f388 Fix too small instrument tabs
Previously, they had been resized by the fixed size parent tab widget. We need
to do this manually now.
2019-03-17 11:02:41 +01:00
Johannes Lorenz
7e75a82f7e Always instantiate at least a dummy plugin 2019-03-16 22:05:46 +01:00
Johannes Lorenz
aac516e27f Forbid copying the Knob class 2019-03-16 20:59:45 +01:00
Johannes Lorenz
5101aa0214 Make Model class visitable 2019-03-16 20:19:27 +01:00
Johannes Lorenz
f8ba88d55a Make instrument window's piano optional 2019-03-16 20:10:19 +01:00
Johannes Lorenz
dd43127514 Allow instrument views to grow with contents
Make InstrumentTrackWindow as large as the InstrumentView requires
2019-03-16 19:46:21 +01:00
Johannes Lorenz
9aa997e574 Allow TabWidget to be variable sized 2019-03-16 16:38:16 +01:00
Johannes Lorenz
2d71d6163b Rework after code reading
* Fix possible segfault in `SubPluginFeatures::displayName`
* Minor fixes
2019-03-15 18:42:34 +01:00
Dominic Clark
3aeacca7ac Fix layout of VstSyncData struct
Ensure member of type double is 8-byte aligned for consistent layout between 32- and 64-bit Linux builds.
2019-03-14 09:44:48 +09:00
Dominic Clark
205b57531d Don't show error when loading empty VeSTige instance 2019-03-14 09:44:48 +09:00
Dominic Clark
6fef905dfe Ensure VST windows show properly in taskbar 2019-03-14 09:44:48 +09:00
Dominic Clark
17f6235500 Add VST always-on-top config option 2019-03-14 09:44:48 +09:00
Javier Serrano Polo
295b899df2 Avoid shallow clones in all Debian sid builds (#4888)
hallow clone may break version detection. This is fatal in Debian builds, so use full clone.

Note: This is safe for stable-1.2 but needs review after merging to master due to submodules.  See #4888 for more information.
2019-03-13 18:27:54 -04:00
tresf
97d5529c18 Fix compilation on Qt4 2019-03-12 00:25:17 -04:00
Johannes Lorenz
37290ace1d Add info about LadspaControls::m_noLink 2019-03-11 23:03:43 +01:00
tresf
04768ee3e1 Fix zyn pitch on project load/export
Closes #3451
2019-03-11 14:24:12 -04:00
Hyunjin Song
61c3f87ee6 Support FX Mixer for sample tracks and add controls to sample track window (#3866)
This work is based on https://github.com/LMMS/lmms/pull/3632 by @grejppi.
2019-03-11 17:06:39 +09:00
Hyunjin Song
5eb6b138aa Allow creating AppImages on systems newer than linuxdeployqt officially supports
Note that the additional -unsupported-allow-new-glibc switch
may result in an AppImage which is unusable on old systems.
2019-03-11 16:20:42 +09:00
Hyunjin Song
ae4e40de97 Modify VST build systems to make debian integration work correctly 2019-03-11 16:20:42 +09:00
Hyunjin Song
8c4514ff20 Check if winegcc works before building RemoteVstPlugin 2019-03-11 16:20:42 +09:00
Hyunjin Song
af40c764ef Better Wine detection and support
* Support more Wine packagings

* Allow building 64-bit RemoteVstPlugin using 32-bit Wine tools if possible

* Provide suitable library paths for creating AppImages
2019-03-11 16:20:42 +09:00
Hyunjin Song
97502a14ac Debian: don't bundle CALF LADSPA library separately anymore
It's LMMS specific now
2019-03-11 16:20:42 +09:00
Hyunjin Song
92805685b1 Debian integration: update build dependencies
It was wrongly done in 231a8407e8.
2019-03-11 16:20:42 +09:00
Hyunjin Song
9a91848b36 Fix CONTRIBUTORS override 2019-03-11 16:20:42 +09:00
Lukas W
7e1df5cec9 Add issue templates
Add Github issue templates for bug reports and feature requests
2019-03-10 14:47:05 +01:00
Michael Gregorius
2a72808095 Fix #3926: QCursor in AFP
Fix a crash that occurred on the following steps:
1. Add an AFP track.
2. Open it, and move the waveform display to overlap the track label
button.
3. Close the AFP window and open it again by clicking the track label.
4. Move the mouse pointer.

The problem occurs because the code makes the implicit assumption that
AudioFileProcessorWaveView::enterEvent (and hence
QApplication::setOverrideCursor) is called before
AudioFileProcessorWaveView::mouseMoveEvent. This is not the case when
the waveform display is on top of the track label. In this case the AFP
windows is opened with the mouse being immediately positioned over the
wave form display. There is no enter event and move events are issues
directly. This then leads to a crash in
AudioFileProcessorWaveView::mouseMoveEvent when trying to determine the
value for is_size_cursor because the override cursor is still null but
is dereferenced directly without checking.

Only adding a check would not solve the problem because in that case the
cursor would not change to the hand cursor when being moved inside the
waveform display.

The solution is to remove all calls to the global methods
setOverrideCursor and restoreOverrideCursor and to only set the cursor
locally.

This fix is based on a patch by gi0e5b06 which is committed under 8a10c52
in his repository but for which he never created a pull request.
2019-03-10 10:33:48 +01:00
Lukas W
17e87c1d68 Fix MidiJack crash on exit
* Fix uninitialized m_jackClient being used in MidiJack destructor
* Fix destruction order in Mixer.cpp so that MidiJack doesn't access the
  deleted AudioJack instance

Fixes #4688
2019-03-10 10:27:51 +01:00
Hyunjin Song
9148ce1b6f Fix loading 32bit VSTs when loading LMMS in the build directory
Fix another regression in #4797
2019-03-10 17:27:57 +09:00
Douglas
6b23e64c3b Merge pull request #3 from LMMS/master
Master
2019-03-09 10:01:59 -07:00
Hyunjin Song
9ea2611fa7 Fix loading 32bit VSTs on Linux
Fix a regression in #4797
2019-03-09 20:47:30 +09:00
justnope
6b19455875 Install 32-bit RemoteVstPlugin to a separate directory (#4797) 2019-03-07 19:55:12 +09:00
Javier Serrano Polo
cdd1ddbb0c Sync Debian version (#4840)
* Sync Debian version

* Drop temporary logging
2019-03-07 06:32:23 +01:00
tresf
9e6ce0638d Blacklist $HOME as VST directory
Closes #4854
2019-03-06 23:42:28 -05:00
Tres Finocchiaro
991ffcd2e0 Disable soundio on macOS
Temporarily disable soundio on macOS to address stability issues with PortAudio
Closes #4864
2019-03-05 16:42:36 -05:00
Alexandre Almeida
009a451d0b Fix AudioFileProcessor tooltip (#4868) 2019-03-05 16:36:01 -05:00
tresf
e54969c568 Add /sbin to AppImage search path
Closes #4846
2019-03-05 15:55:41 -05:00
Michael Gregorius
0e77947793 Fix failing build due to missing include
Fix the build of MixHelpers.cpp which fails due to a missing include of
cstdio (printf is not defined).
2019-03-03 14:44:19 +01:00
Alexandre Almeida
05d5e2036d Fix DrumSynth sscanf (#4869) 2019-03-03 09:44:20 +01:00
Lukas W
a233291c27 Add missing include
Compilation fails with debug build. Fixes regression from
dd99f3a7c4
2019-02-27 09:50:48 +01:00
Javier Serrano Polo
ad1fa16a95 Move apt_mingw_cache out of build directory (#4842) 2019-02-25 13:06:01 -05:00
Tres Finocchiaro
e34f75a8c7 Add needed macOS shortcuts (#4851)
Fix insert bars, delete bars, delete notes on Apple keyboard
2019-02-24 21:57:53 -05:00
Javier Serrano Polo
31dc8e18ff Test deployment preparation in regular builds (#4847)
Tests whether contributions break packaging inadvertently
2019-02-24 21:53:05 -05:00
Hyunjin Song
231a8407e8 Merge branch 'stable-1.2'
# Conflicts:
#	.travis.yml
#	.travis/linux..script.sh
#	.travis/linux.win32.script.sh
#	.travis/linux.win64.script.sh
#	.travis/osx..install.sh
#	.travis/osx..script.sh
#	data/locale/en.ts
#	data/locale/id.ts
#	include/Graph.h
#	include/VstSyncController.h
#	include/lmms_math.h
#	plugins/vst_base/RemoteVstPlugin.cpp
#	src/core/RemotePlugin.cpp
#	src/core/Song.cpp
#	src/core/Track.cpp
#	src/gui/SubWindow.cpp
#	src/gui/widgets/Graph.cpp
2019-02-24 20:45:52 +09:00
makepost
e7720cc8cb lmms_math: Fix build with musl
When deciding to polyfill glibc features, check if the standard library claims to be glibc, instead of enumerating platforms in the condition. Unlike master branch which in de3b344 changes math function calls to standard, stable-1.2 keeps their glibc names and fails to build on Linux with another libc such as musl.
2019-02-22 17:51:51 +01:00
Hyunjin Song
18d478782c Fix path to the LMMS binary in AppImage build script 2019-02-19 21:02:02 +09:00
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
Mister-Lemon
29c210128a Step Recording feature (#4544)
(Addresses #1421)

**Behaviour description:**

* Toggle step-recording mode using the dedicated icon.
* This mode is mutually exclusive with other recoding modes (record/record
  accompany).
* Step-Recording while song is playing is allowed (and fun! :) ).
* When start recording, the start recording-position will be set where the
  timeline curser points (quantized backwards using PianoRoll's current
  quantization). If step-recording is started while the pattern is playing the
  start recording-position is set to the beginning of the pattern.
* Step length is determined by the Piano Roll's current note-length (can be
  changed dynamically during step-recording).
* The record-position can be moved forward/backward using the right/left keys.
* When notes are pressed on keyboard/midi-device, they will be added
  temporarily ("recorded") with a length of a step. while still pressed, user
  can adjust the length by steps resolution using the arrow keys (e.g. moving
  right once will make the note's length 2-steps, another right press will make
  the length 3-steps etc.).
* When all pressed-keys are released, the actual recording happen and the
  notes are added.
* If the user press multiple notes, and release some of them for some time
  which indicates it is intentional i.e. he didn't want to do a full release
  to record the step but rather just change what will be recorded (I set the
  "intentional release threshold" to 70 milliseconds) - these note will be
  removed from current step-recording. e.g.
* Added notes are not quantized, making the addition simpler and WYSIWYG
* Similiarly to adding notes using mouse clicks, an undo-checkpoint is added
  per added step and not for the whole recording as in other record modes.
2019-02-09 22:45:27 +01: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
CYBERDEViLNL
3d17200925 Better ghost notes context menu handling. 2019-02-08 17:36:00 +01:00
CYBERDEViLNL
9981b760e4 Ghost notes improvements.
* Make a copy of a pattern it’s notes instead of pointing to a pattern.
* Save/load the ghost notes in/from the DOM document.
2019-02-08 17:36:00 +01:00
Léo Andrès
7a0b874d17 shellcheck maxdepth 3
shellcheck against all project files, maxdepth of 3 directories
2019-02-07 14:52:12 -05: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
justnope
e6bcf13cd3 replaced alternative token "not" with "!" 2019-02-04 10:36:27 +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
Steven Christy
b68c5ee5b5 Rendering looped sections multiple times on export (#4624) (#4639) 2019-01-27 10:22:47 +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
Johannes Lorenz
d5dcebed83 Use QString for SubPluginFeatures' virtuals
The former virtuals returned `const char*`, which lead to invalid reads when
`LadspaSubPluginFeatures` returned pointers to temporary `QByteArray::data`.
2019-01-18 23:22:52 +01:00
https://gitlab.com/users/CYBERDEViLNL
5126070bb1 Add basic ghost notes feature. (#4575)
Lets you set a melody pattern as visible in the background of the Piano Roll
as support when building a new pattern. The pattern is visible throughout
the session or until cleared via the provided button.
2019-01-17 19:07:52 +01: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
bth
68cefc15c4 Set 32 for buffersize min value in gui (#4336)
This is a bit too low resolution as some values cannot be reached by dragging the slider so we also reduce the maximum buffer size to 4096.
2019-01-13 10:31:39 +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
e116cc0701 Allow console output on Windows if available (#4719) 2019-01-10 15:13:30 +09:00
Pavel Shlyak
c467f5b08a Corrected assignment (#4757)
There is no need in conversion from float to integer
2019-01-06 21:30:27 -05:00
Lukas W
a0ace860f4 MSVC: Fix SID (#4505)
Use the provided working buffer instead of a local one to avoid use of VLA
2019-01-06 19:27:58 -05: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
Douglas
a2b123e5bc Merge pull request #2 from LMMS/master
Master
2019-01-02 17:33:59 -07:00
Johannes Lorenz
5ebe0e002d Merge pull request #4750 from JohannesLorenz/master
Extend quoting for AutomatableModels
2019-01-02 12:27:25 +01:00
Johannes Lorenz
ee05523319 Extend quoting for AutomatableModels
This now also quotes, if required:

- non automated models
- models controlled by controller
2019-01-01 20:58:16 +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
Johannes Lorenz
aa0ce7fc54 Improve CALF's CMakelists
Let CALF's CMakelists apply the name filter only on the basenames of the
files, but not on their directories. This prevents errors if the LMMS folder
is under a directory which contains, e.g., "lv2".
2018-12-28 16:02:40 +01:00
Johannes Lorenz
f3b23830fb Fix missing IntrumentTrack header 2018-12-27 22:37:34 +01:00
Johannes Lorenz
fcd1a7ee86 Fix or remove wrong or useless debug printfs 2018-12-27 22:15:56 +01:00
Johannes Lorenz
4d64c422b2 Fix Engine.cpp not compiling on some compilers 2018-12-27 21:59:50 +01:00
Johannes Lorenz
a1b355828e Allow sub plugins for instruments aswell
* Move m_key member of Effect into Plugin
* Pass key to Instrument ctors and instantiaters
* Add pluginKeys to all plugin selector widgets, and let them pass the keys
  when instantiating the instruments; or, if the keys must be passed over
  threads, pass the keys to the Engine using `Engine::setDndPluginKey()`
* As instrument plugin libraries now also need to get their key passed, their
  second argument, which was always the same as the first, is now used to pass
  the sub plugin keys. This affects *all* instrument plugins.
* Plugin.h: Add more virtuals to `SubPluginFeatures` in order to draw logos
  and images into instrument selector widgets
* LadspaSubPluginFeatures: Implement the `displayName` virtual because the
  new behaviour to resolve displayNames is to first look at the
  SubPluginFeatures, which, without override, returns the superior plugin's
  name (Plugin.cpp)

Additional:

* PluginFactory.h: Allow setting up search paths without discovering plugins
  yet
* Plugin.h: Add full documentation (should be checked)
2018-12-27 21:24:19 +01:00
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
Johannes Lorenz
05128b9a33 Fix error in SetupDialog
This adds constants into a lambda capture list. Unnecessary, says the
C++14 standard, but this fixes the MSVC C++11 error.
2018-12-12 17:10:54 +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
Johannes Lorenz
cf3d7950b1 Refactor SetupDialog 2018-12-01 11:01:39 +01:00
Hyunjin Song
3922d25b50 Fix CircleCI builds
I don't know why, but it fails to fetch submodules...
2018-11-29 12:06:02 +09:00
Hyunjin Song
187fbf4191 AppVeyor: don't specify any patch version of Qt
Fixes broken build due to the upgraded Qt version in the AppVeyor image.
2018-11-29 12:06:02 +09:00
Hyunjin Song
244b70b4c8 Fix building unit tests targetting windows
Fixes MSVC's LNK4217 warnings and MinGW errors.
2018-11-29 12:05:59 +09:00
Hyunjin Song
d9b91338ea Fix finding pkg-config on cross compile
Switch back to `ENV{PKG_CONFIG}` to ensure that
FindPkgConfig doesn't overwrite `PKG_CONFIG_EXECUTABLE`.
Since CMake 3.3 supports the environment variable,
it's safe to use that.
2018-11-22 14:01:23 +09: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
4252f755c2 Merge branch 'stable-1.2'
# Conflicts:
#	cmake/nsis/CMakeLists.txt
#	src/core/ProjectRenderer.cpp
#	src/tracks/Pattern.cpp
2018-10-29 16:20:58 +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
4babbe25c5 Enable compiled-in XPM pixmaps (#4578) 2018-10-11 19:32:11 +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
Johannes Lorenz
a0737a4efc Add AutomatableModel nodename attribute (#4578)
* Save `AutomatableModel` nodename in attribute if it must be quoted
* Loading an `AutomatableModel` with name <name> now means it
  - either <name> must be `QDomElement::nodeName()` (as before)
    *and* must not have a `nodename` attribute (new)
  - or must have a `nodename` attribute with value <name>
2018-10-07 11:46:10 +02: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
Tres Finocchiaro
0dc1bdbb68 Minor cmake fixes (#4636)
Minor cmake fixes
2018-09-30 21:30:56 -04:00
Hyunjin Song
bd3f40933c Fix compilation on non-x86 platforms 2018-09-27 23:23:41 +09:00
Hyunjin Song
a2685c1cca Bump version to 1.2.0-rc7 2018-09-25 16:47:51 +09:00
Tres Finocchiaro
27fd8d0460 Add wiki as clonable submodule (#4588)
* Add wiki as clonable submodule per #4578
2018-09-24 11:04:51 -04: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
222b28a71e Add '-Wno-misleading-indentation' only for GCC >= 6 2018-09-21 10:33:33 +09: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
Z3R0C
00cc6dc22b Fix sample track playback crash (#4586)
Fixes double-freeing `AudioPort` which is a regression in #4310.

Co-authored-by: Shmuel H <shmuelhazan0@gmail.com>
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
2018-09-18 11:21:45 +09:00
Hyunjin Song
78142cee3d Update ZynAddSubFX submodule 2018-09-18 09:56:09 +09:00
Hyunjin Song
4069aaada2 Merge branch 'stable-1.2'
# Conflicts:
#	.travis/osx..install.sh
#	CMakeLists.txt
#	cmake/apple/install_apple.sh.in
#	doc/lmms.1
#	include/VstSyncController.h
#	plugins/carlabase/carla.h
#	plugins/vestige/vestige.cpp
#	plugins/vst_base/CMakeLists.txt
#	plugins/vst_base/RemoteVstPlugin.cpp
#	plugins/vst_base/Win64/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/core/Song.cpp
#	src/core/main.cpp
2018-09-18 09:54:38 +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
Johannes Lorenz
20e4668d85 Replace deprecated QDrag::start by QDrag::exec 2018-09-15 20:17:35 +02:00
Johannes Lorenz
767607e0c8 Spelling fixes in German locale 2018-09-15 20:17:35 +02: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
Hyunjin Song
a1415a374b Fix AppVeyor CI failure due to Vcpkg
Adds --recurse option to allow rebuilding dependencies
2018-09-01 14:04:48 +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
763c08b8b6 Fix typo in previous merge 2018-08-25 08:51:29 +09:00
Hyunjin Song
3d5e74d638 Merge branch 'stable-1.2'
# Conflicts:
#	cmake/modules/MinGWCrossCompile.cmake
#	plugins/FreeBoy/FreeBoy.cpp
2018-08-24 09:54:39 +09:00
Hyunjin Song
12d251cc3e Merge branch 'stable-1.2'
# Conflicts:
#	cmake/linux/package_linux.sh.in
#	data/locale/cs.ts
2018-08-24 09:50:36 +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
8d00e90322 Remove peak value references from Mixer::getPeakValues
Adjust Mixer::getPeakValues so client do not have to allocate the
variables that will store the peak values.

Adjust both existing clients: FxMixer and VisualizationWidget.
2018-08-16 19:49:30 +02: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
Lukas W
c44bc4eb7f CMake: Fix missing space in linker flags
Fixes #4518, a regression from a7b0c99242
2018-08-02 21:20:25 +02: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
b67cfffe5f InstrumentFunctions - Arpeggiator code refactoring (#4487) 2018-07-29 15:34:46 +02:00
Lukas W
792cf7a262 CMake: Fix FindFFTW pkg-config bug
Remove the REQUIRED flag from pkg_check_modules for when pkg-config is
available but cannot locate FFTW.
2018-07-29 14:03:36 +02:00
Oskar Wallgren
b9634fa672 Setup Dialog - Fix bottom of letters cut off (#4483) 2018-07-28 14:07:21 -04:00
Lukas W
1c5e374192 MSVC: Fix Xpressive instrument 2018-07-28 14:44:51 +02:00
Lukas W
d4f4500359 Fix compiler warning 2018-07-28 14:38:51 +02:00
Lukas W
b7c09974ac MSVC: Fix Monstro instrument 2018-07-28 14:20:36 +02:00
Lukas W
57c85f49b7 MSVC: Fix ReverbSC 2018-07-28 14:09:00 +02:00
Lukas W
ac65fb9924 MSVC: Fix Organic instrument 2018-07-28 14:00:06 +02:00
Lukas W
adcc009d2b MSVC: Fix vibed plugin 2018-07-28 13:44:16 +02:00
Lukas W
f245d7454b MSVC: Enable VstEffect 2018-07-27 18:03:51 +02: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
Lukas W
515fefa6ce Winewrapper fixes (#4501)
* Fix library fix regression from 38f6371de6
* Fix missing windows include directory
2018-07-26 18:37:35 +02:00
Lukas W
7ddca851d1 VstPlugin: Fix detecting machine type with relative paths 2018-07-26 14:16:15 +02:00
Lukas W
ce4c01246b Merge branch 'PJ-Finlay-stable-1.2'
# Conflicts:
#	CMakeLists.txt
2018-07-22 11:55:22 +02:00
Lukas W
e65ccea7ba Merge branch 'stable-1.2' 2018-07-22 11:49:20 +02:00
Lukas W
63fd427c5e CMake: Minor uninstall changes
* Fix missing CMAKE_UNINSTALL_PREFIX variable
* Use CMAKE_MINIMUM_REQUIRED instead of CMAKE_POLICY for IN_LIST support
* Use FILE(REMOVE …) instead of EXECUTE_PROCESS(…) for better performance
* Control flow changes
2018-07-22 11:41:54 +02:00
P.J. Finlay
020ce8e4db Added an uninstall target for make 2018-07-21 21:42:54 -04:00
Lukas W
a35d23f3b8 Merge remote-tracking branch 'lukas/cleanup/qt4' 2018-07-17 08:57:57 +02:00
Lukas W
ff1c30e35d Merge remote-tracking branch 'lukas/cleanup/qt4'
# Conflicts:
#	cmake/toolchains/common/MSYS.cmake
2018-07-17 08:52:49 +02:00
Lukas W
8cca464c27 CMake: Add support for clcache 2018-07-17 08:49:13 +02:00
Lukas W
820d006c4e Add Appveyor script, fix 32bit Windows compilation 2018-07-17 08:49:13 +02: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
Lukas W
3a7b5207b4 CMake: Fix mismatching if condition error
Regression from c45a21aac3
2018-07-11 21:56:50 +02:00
Lukas W
c670d4827a Minor QString usage improvements 2018-07-11 20:13:47 +02:00
Lukas W
cce730ebff Add CMake find modules for FFTW, LibSampleratae and LibSndFile.
Removes reliance on pkg-config for finding these libraries.
2018-07-11 19:57:09 +02:00
Michael Gregorius
8dab817e13 Implement changes from a code review
Use tabs in the style sheets. Make the calculation of the Y offset more
concise.
2018-07-10 22:43:16 +02:00
Michael Gregorius
0dc28436fa Add option to show note values on notes in Piano Roll (#4466)
Add the option to show note values on notes in the Piano Roll. This
functionality is currently coupled with the option "Enable note labels
in piano roll" which can be found in the main menu.

The notes are rendered at about 80% of the notes height. They are only
rendered if they fit on the whole note and if the font does not become
too tiny.

Enable the configuration of the note value text's color via the
stylesheets and set the value to white for both shipped themes.

Other changes:
* Clean up some warnings about old school casts and implicit casts.
2018-07-10 22:43:16 +02:00
Hyunjin Song
f2d68326a7 Fix occasional audio interface deadlock (#4450) 2018-07-10 11:13:56 +09:00
David CARLIER
1efcec7790 Removing unsetting jack headers path so weakjack can benefit it (#4373) 2018-07-09 11:47:00 -04:00
Lukas W
846a2afeaa Merge branch 'msvc/vst-rebase' (#4421) 2018-07-07 17:17:59 +02:00
Lukas W
f8f38a3d87 CircleCI: Make sure build fails when AppImage building does 2018-07-07 17:16:08 +02:00
Lukas W
e1cdfd1d47 RemotePlugin: Revert unnecessary invalidate() changes
Reverts some changes made in 9db8cbfb31.

The consequences of this changes are unsure, so reverting them for now.
Since a VST plugin's architecture is now detected before trying to load it,
this fix is not needed any more for 64&32-bit VSTs to work, as the
idVstBadDllFormat-message-mechanism was removed.

It should be noted however that the bug still exists, probably rendering
4fd8ecd7e4 ineffective.
2018-07-07 17:16:08 +02:00
Lukas W
156c134301 winegcc_wrapper: Remove misleading usage hint
winegcc_wrapper.in is only intended to be used within FindWine.cmake. Also
moved it to the same directory for this reason.
2018-07-07 17:16:08 +02:00
Lukas W
d42194f8e1 VstPlugin: Fix define naming conflict with MinGW 2018-07-07 17:16:08 +02:00
Lukas W
38f6371de6 Fix AppImage 64bit RemoteVstPlugin libwine discovery 2018-07-07 17:16:08 +02:00
Lukas W
ae815d3ac7 CircleCI: Display Appimage log when failing 2018-07-07 17:16:08 +02:00
Lukas W
b4d6332632 Fix AppImage VST 2018-07-07 17:16:08 +02:00
Shmuel H
e2a7587600 AudioSdl: Use NULL for device names in order to get the default device.
The zero index device may not be the default device.

Many thanks to @PhysSong.
2018-07-07 17:16:08 +02:00
Shmuel H
ff8de2d7eb AudioSDL -> SDL2: Fix a crash from calling a SDL1 function instead of
SDL2's.
2018-07-07 17:16:08 +02:00
Shmuel H
ec28a65c89 AudioSdl: Add support for full SDL2 with float samples and recording
(with backward compatibility for SDL1).

Cherry-picked from dcc442411f
2018-07-07 17:16:08 +02:00
Lukas W
8165152552 MSVC VST compilation fixes 2018-07-07 17:16:08 +02:00
Lukas W
fe2483e309 Enable 64bit VSTs on Linux
* Remove trial-and-error approach of detecting VST's machine types. Read PE
  headers instead.
* Add RemoteVstPlugin64 to AppImage
2018-07-07 17:16:08 +02:00
justnope
f2a8f56944 MSVC fixes (#4352)
* locale: using path instead of individual files to reduce command line size
* remotevstplugin: changed order return type & calling convention (compiler error)
* lmmsobj: removed single quotes for command line defines
* added vcpkg support & std::make_unique for MSVC
* carla: include exports header
* package_linux: corrected RemoteVstPlugin name
* vstbase: toolchain file conditional on MSVC
* Added install for remotevstplugin
* msvc: installer works with vcpkg

Remotevst 64bit install removed due to an ApImage problem
2018-07-07 17:16:08 +02:00
Lukas W
23e284b189 CMake: Fix Clang detection 2018-07-07 17:16:08 +02:00
Lukas W
20a6b96161 Fix 64bit VSTs on Linux by fixing callback calling convention 2018-07-07 17:16:08 +02:00
Lukas W
d454ef60e2 More export fixes 2018-07-07 17:16:08 +02:00
Lukas W
90799d91ea Mingw64 compilation fixes 2018-07-07 17:16:08 +02:00
Lukas W
2e6bb72847 Fix export errors with MinGW 2018-07-07 17:16:08 +02:00
Lukas W
48cdce9a79 Fix compilation with MinGW versions without threads support
Older versions of MinGW don't provide std::mutex or std::thread
2018-07-07 17:16:08 +02:00
Lukas W
ff9622c10e CMake quoting fixes 2018-07-07 17:16:08 +02:00
Lukas W
bba072d54e VST build fixes 2018-07-07 17:16:08 +02:00
Lukas W
ea154694f9 Fix Linux VST compilation 2018-07-07 17:16:02 +02:00
Lukas W
47a5248d1d Linux compile fixes 2018-07-07 16:40:37 +02:00
Lukas W
7feedb4ed9 VST: Fix main entry calling convention
This will probably break everything, but it was needed to load 32bit VST
plugins with MSVC.
2018-07-07 16:40:37 +02:00
Lukas W
d756a7ade0 MSVC: Fix VST build 2018-07-07 16:40:37 +02:00
Lukas W
07a22181da RemoteVstPlugin: Debug LoadLibrary failure 2018-07-07 16:40:37 +02:00
Lukas W
87a7b0a2f0 MSVC: Port RemoteVstPlugin 2018-07-07 16:40:37 +02:00
Lukas W
1027386113 CMake: Fix MSVC architecture detection 2018-07-07 16:40:33 +02:00
Lukas W
966bf1c6de Use CMake GenerateExportHeader 2018-07-07 11:20:54 +02:00
Hyunin Song
170a46e7a3 Merge branch 'stable-1.2' 2018-07-07 10:40:35 +09:00
Hyunin Song
0f3b41f590 Fix fwrite parameter ordering 2018-07-07 10:37:30 +09:00
Lukas W
a7b0c99242 MSYS compilation fixes
* Fix MSYS and processor detection when not using the provided toolchain
  file
* Fix creation of import library (ENABLE_EXPORTS not working)
2018-07-06 15:58:29 +02:00
Lukas W
3c6f200beb Merge branch 'stable-1.2'
# Conflicts:
#	cmake/modules/BuildPlugin.cmake
#	plugins/CMakeLists.txt
#	plugins/LadspaEffect/swh/CMakeLists.txt
#	plugins/LadspaEffect/tap/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/gui/MainWindow.cpp
2018-07-06 12:42:15 +02: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
Pikamander2
406bbcc2ee Fix grammar on MIDI import dialog (#4457) 2018-07-02 11:37:05 +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
392c7534d5 Fix Clang compilation 2018-06-22 17:44:26 +02:00
wadej
c3575a4c17 Ensure MSVC startup project is LMMS 2018-06-22 17:44:26 +02: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
Lukas W
11c693205e Remove usage of deprecated Qt API
Removes usage of the following deprecated Qt functions:
- QPixmap::grabWidget
- QString::null
- qFind
- qSort
- qGreater
- qCopy
2018-06-17 14:27:28 +02:00
Lukas W
fefec9a8c6 Fix cleanup logic error 2018-06-17 14:03:01 +02:00
Lukas W
da1c78ce86 Remove Qt4 compatibility code 2018-06-17 12:47:12 +02:00
Lukas W
a87aa7e356 Merge branch 'stable-1.2'
# Conflicts:
#	src/gui/widgets/EffectView.cpp
2018-06-17 11:51:50 +02:00
dobbelaj
d11966a7ea Introduce UI_CTRL_KEY and use where appropriate (#4431)
This is an abstraction for the name of the 'Ctrl' (or equivalent) key on
linux, windows and apple
2018-06-17 11:20:00 +02: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
Oskar Wallgren
1bdaafc488 Typo - austain -> sustain 2018-06-10 16:39:12 +02:00
Dave French
662f5199fd Merge pull request #4416 from curlymorphic/eqaa
Equalizer plugin has antialiasing enabled in the spectrum analyzer
2018-06-09 21:30:15 +01:00
curlymorphic
cbf4d5056d Equalizer plugin has Antialiasing enabled in the spectrum analizer widget 2018-06-09 20:58:47 +01:00
Dave French
0e98e03745 Equaliser, Disable analyser when not visible (#4399) 2018-06-08 18:26:07 +02:00
Dave French
7f284626e4 Merge pull request #4396 from curlymorphic/eqlp
Fix one of Equlizer LP48 filter taking HP value
2018-06-06 02:38:03 +01:00
Hussam al-Homsi
6d46bd473f Remove "What's This?" and update tooltips (#4128) 2018-06-06 01:50:11 +03:00
Hyunjin Song
2f19fa11c8 Piano roll: reset editing mode when lost focus (#4393) 2018-06-05 17:39:04 +09:00
curlymorphic
5751d75ced The Equliser plugin had a bug,where the LP48 filter was having one of its
poles incorrectly set by the HP filter model. This resulted, in an unusable
LP48 filter.

This fixes the above.
2018-06-03 15:14:53 +01: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
Colin Wallace
4fd8ecd7e4 RemoteVST: process all remaining messages after the process has quit
Courtesy of @justnope (https://github.com/LMMS/lmms/pull/4371)
2018-06-01 20:53:35 -07:00
Douglas
fad13626bc 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:47:32 -07: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
Colin Wallace
2c672d47fe Prefer = default over empty destructor.
Same thing but less verbose.
2018-05-28 19:28:05 -07:00
Hyunin Song
3e8120d532 Make "Clear this track" undoable
Fixes #4375
2018-05-28 13:49:38 +09:00
Hyunin Song
3cf2afd831 Merge branch 'stable-1.2'
# Conflicts:
#	include/MixerWorkerThread.h
#	src/core/MixerWorkerThread.cpp
2018-05-26 16:09:38 +09:00
Colin Wallace
a3cdda04c0 Give our threads names (#4356)
* Give our threads names

It helps with debugging.

* Use Q_OBJECT macro to automatically name threads.

By default, QThread sets its name based on the Qt meta class. To get an
accurate metaclass, the class which inherits QThread must declare
Q_OBJECT in its header. Futhermore, Qt's MOC requires that a Qt type be
the primary base class when declaring Q_OBJECT, hence the order of
base classes has been rearranged for some classes.
2018-05-24 18:01:51 -07: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
Hyunjin Song
0fa7fbde0f Fix MSYS2 build 2018-05-22 11:45:41 +02:00
Johannes Lorenz
074d82f2aa CALF: Version bump, fix issues from #3987 2018-05-19 08:52:54 +02: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
Matt Kline
9c0d50d425 plugins/LadspaEffect: Use C++11
The rest of LMMS is built against it, and almost every flavor of MinGW
should support it these days.
2018-05-13 20:02:01 -07:00
Matt Kline
ea98ba4dae FPTruncateMode: Removed unused variables on non-386
While we're at it, make fistp an inline function. Type safety is nice.
2018-05-13 20:02:01 -07:00
SecondFlight
4585a07673 Allow renaming of FX mixer channels with the F2 and enter keys. (#4348)
* Add f2 as a FX mixer rename shortcut. Enter doesn't work yet.

* Add both enter keys, remove code duplication

* Fix renaming with enter/return

* Clean up
2018-05-13 17:15:32 -04:00
Hussam Eddin Alhomsi
0d73f32c03 Reorder the main windows' buttons & shortcuts (#3938)
Puts Project notes after Controller rack.
2018-05-11 12:23:31 +03:00
Oskar Wallgren
d6d55cef7b Remove old commented out code (#4349) 2018-05-10 12:05:44 +02:00
Premik
e8b69b9700 Zooming with mouse wheel center (#3835)
* Horizontal mouse-wheel zooming. Ensure zoom center is always on the current mouse position.

* Horizontal zoom using mouse wheel center on the mouse position. For the SongEditor too.

* Wheel center on the Automation editor too.
2018-05-10 00:45:45 +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
Colin Wallace
82972ca842 Merge pull request #4260 from curlymorphic/master
Remove audio artifacts when automating the Equalizer parameters.
2018-05-08 20:11:47 -07:00
Colin Wallace
b4a6ae7bcc Merge pull request #4344 from mrkline/default-empty-detors
Default some empty destructors
2018-05-08 18:44:48 -07:00
Hyunjin Song
03aa5fb3c7 Fix crash on exit from MIDI connections (#4340) 2018-05-07 17:08:43 -07:00
Matt Kline
68c9d227d0 Default some empty destructors
Moving empty destructors out of the .cpp files and into headers
allows them to be devirtualized in certain cases.
(When the compiler can't "see" a function in a header, it must largely
assume it's some black box that the linker will resolve.)

While we're at it, use C++11's `= default` to define empty virtual
desturctors for us.

For some classes (e.g., Piano), nothing is derived from it, so we can
mark the class as final and remove any explicit virtual dtor.

There are many other places where this can be done, but this is a large
enough patch as-is.
2018-05-06 16:34:08 -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
Hussam Eddin Alhomsi
c1b2728d65 Allow setting/moving points at the left edge of AE grid (#4323) 2018-05-01 23:04:39 -07:00
Hyunin Song
4b36ba9f81 Fix a regression from #3711 2018-05-02 12:41:10 +09:00
Hyunin Song
8a41def616 Merge branch 'stable-1.2'
# Conflicts:
#       .circleci/config.yml
#       .travis/osx..install.sh
#       CMakeLists.txt
#       plugins/zynaddsubfx/zynaddsubfx
#       plugins/zynaddsubfx/zynaddsubfx/src/DSP/FFTwrapper.h
#       plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#       plugins/zynaddsubfx/zynaddsubfx/src/Params/PADnoteParameters.cpp
#       plugins/zynaddsubfx/zynaddsubfx/src/Synth/OscilGen.cpp
#       src/CMakeLists.txt
#       src/core/Track.cpp
#       src/tracks/Pattern.cpp
2018-05-01 09:59:07 +09: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
Lukas W
d2e068ca40 Merge pull request #4330 from lukas-w/circleci-update
Update CircleCI to Ubuntu 18.04
2018-04-28 22:26:19 +02:00
Matt Kline
ebed0296b3 Axe atomic int (#4326)
* ThreadableJob: Move from AtomicInt to std::atomic

This is the first in a series of commits that migrates away from
AtomicInt towards the C++11 standard library types.
This would allow the removal of AtomicInt and related Qt
version-specific code.

While we're at it, also make ProcessingState an `enum class` so that
it's not implicitly convertible to integers.

* LocklessAllocator: Switch from AtomicInt to std::atomic_int

If it looks like some assignments around the Compare & Swap loops went
missing, it's because compare_exchange_weak() updates the first argument
to the current value when it fails (i.e., returns false).

* BufferManager: Remove extra AtomicInt include

* MixerWorkerThread: AtomicInt to std::atomic_int

* NotePlayHandle: AtomicInt to std::atomic_int

* Remove AtomicInt.h

* Move from QAtomicPointer to std::atomic<T*>

This removes some #ifdef trickery that was being used to get
load-acquire and store-release from Qt5 and "plain" (presumably
sequentially-consistent) loads and stores from Qt4.
2018-04-28 12:54:46 -07:00
Lukas W
4ff993e2a4 Update CircleCI to Ubuntu 18.04 2018-04-28 11:15:09 +02: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
d42a685007 Refactoring: Remove duplicate code (#4310) 2018-04-25 18:49:39 +02:00
Matt Kline
ffccd6ddd2 Use atomics to count shared_object without locks
C++11 (and subsequent C++ standards) provide portable ways to issue
atomic hardware instructions, which allow multiple threads to load,
store, and modify integers without taking a lock. The standard also
defines a memory model that lets you express the ordering guarantees
around these atomic operations. (x86 is relatively strongly-ordered, but
many other common architectures, such as ARM, are free to reorder loads
and stores unless told not to.)

This patch removes the lock from shared_object and replaces it with the
standard thread-safe reference counting implementation used in
C++'s std::shared_ptr, Rust's std::sync::Arc, and many others.

Additional resources on the topic:
https://assets.bitbashing.io/papers/concurrency-primer.pdf
https://www.youtube.com/watch?v=ZQFzMfHIxng
2018-04-25 12:50:44 +02: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
Hussam Eddin Alhomsi
f7a0553e6a Responsive "Effects chain" & "User controller" LEDs (#4297) 2018-04-24 11:25:49 +03:00
Lukas W
418bcce402 AppImage: Use wget -N instead of mtime logic 2018-04-22 14:05:20 +02:00
Lukas W
d9ea65ad7f Fix AppImage build with missing fuse support 2018-04-22 14:05:20 +02:00
Lukas W
19bc0439a6 Fix mingw pkg-config 2018-04-22 14:05:20 +02:00
Lukas W
138281badf Add CircleCI config.yml 2018-04-22 14:05:20 +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
Colin Wallace
3401de4a83 Use themed file dialogs everywhere. (#4298)
Previously lmms used themed dialogs for project saving/opening, but not
when editing settings (edit -> settings).

With this change, the settings editor also uses themed dialogs.
2018-04-20 19:01:11 -07: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
ef264eafa7 Re-enable upstream libgig formulae (#4304) 2018-04-20 15:45:35 -04:00
Tres Finocchiaro
18a4346fd5 Better default working directory (#4288)
* Better default working directory
Closes #1135
2018-04-20 15:41:08 -04:00
Lukas W
78a7f4563f Remove -fstrength-reduce compiler options
Clang doesn't support -fstrength-reduce and warns when it's used. GCC will
specify it by default when using -O2, which is  implied by -O3.
2018-04-18 08:22:46 +02:00
Colin Wallace
da126bfb5c Use range-based for loops + fix const correctness 2018-04-17 09:17:33 +02:00
Tres Finocchiaro
ae0dd21df3 Upgrade Calf LADSPA plugins to 0.90 (#3987)
Upgrade Calf LADSPA plugins to 0.90
2018-04-15 21:38:37 -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
Hyunjin Song
0850b78104 Try git fetch for unadvertised object error
Fixes fetching submodules from non-default branches.
2018-04-13 13:50:12 +09:00
gnudles
0c0bfbd060 Add the function randsv to Xpressive (#4089)
Adds the function randsv, which gives you persistent upon note plays and waveforms transit in the gui.
Moves lmms exprtk submodule back to latest upstream
2018-04-12 11:05:42 -04: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
Tres Finocchiaro
9af7821eb1 Add PerfLog (#3974)
Add `PerfTime` class representing a point in CPU time and `PerfLogTimer`, used for measuring and logging a time period. Used in `ProjectRenderer::run()
2018-04-03 13:37:25 +02: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
Colin Wallace
ca3a7f3015 Remove unused method and extraneous state from AutomatableModelView (#4258)
* Remove DataType.

An AutomatableModel should not need to know what concrete type it is.
Use virtual methods and implement them in the derived class instead of
testing the type in the base class.

* Remove unused method

* Remove m_hasLinkedModels

We can compute it on-the-fly with very little cost, and doing so
simplifies the code.

* Remove extra 'public:'

Probably a remnant of merging master
2018-03-28 00:03:10 -07: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
liushuyu
47ab8edef8 i18n: update translation file 2018-03-23 13:11:04 -06:00
Hyunjin Song
ac543ffc75 Play correct note when dragging left side of virtual keyboard (#4265) 2018-03-21 23:39:17 -04:00
Tres Finocchiaro
7bdb607391 Add ZynAddSubFX status (#4264) 2018-03-21 15:52:57 -04:00
Noah Brecht
87e6b48df7 Fix ui glitch where track ticks did not line up (#4171) 2018-03-21 04:13:42 +01:00
Colin Wallace
56b4740146 Copy/paste model values to system clipboard
Previously they were copy/pasted internally, and not visible across LMMS
instances.
2018-03-20 00:43:15 -07:00
Colin Wallace
7593b2ee58 Replace macro magic with a template base class 2018-03-20 00:42:21 -07: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
Hyunin Song
7cf1be1dc5 Bump ZynAddSubFX submodule 2018-03-19 07:28:21 +09: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
curlymorphic
1e777cf945 Remove audio artifacts when automating the Equliser parameters.
The Equliser pluging uses biquad filters, These do not like having
there parameters updating during processing, and are know to produce
clicks and DC biasing. A twin filter system has been employed with a
cross fade, to interpolate between parameters.

This has removed for the use of sample exactness, as the filter is only
updated once per frame, with interpolation provided by the crossfade.

The same filters are used as pervious, ensuring unautomated filtering
remains unchanged.
2018-03-17 22:25:12 +00:00
Colin Wallace
bf1b61023c Use ampToDbfs instead of 20*log10 x.
The function's there (in lmms_math.h) for a reason :)
2018-03-16 20:35:08 -07:00
Colin Wallace
b706ee208d Replace more instances new/delete with owning types (#4245)
* Use owning types when possible.

Note: the QByteArray s is detached to mimic previous behavior;
detach() guarantees that the QByteArray uniquely owns its data, since
otherwise it's COW. This may be relevant in case Plugin:instantiate
modifies s.data() -- this way the original QString is safe.

* Make m_filter a unique_ptr.

* Make m_activeRenderer a unique_ptr

* use std::string instead of strcpy + buffers
2018-03-15 18:46:55 -07:00
Colin Wallace
80ce77fc91 Merge pull request #4249 from Wallacoloo/refactor/ModelViewTypes
Make *ModelView a templated type instead of macro-based class
2018-03-13 22:54:34 -07: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
Colin Wallace
7adad4790e Merge pull request #4063 from Sawuare/Widgets
Use "Set value" as title for QInputDialog of some widgets.
2018-03-13 21:52:57 -07:00
Colin Wallace
45f9fc03c2 Make *ModelView a templated type instead of macro-based class.
Among other things, this makes it easier to grep for FloatModelView,
BoolModelView, IntModelView in the code base.
2018-03-13 20:57:34 -07:00
Colin Wallace
748cc0e3e3 Merge pull request #4235 from Wallacoloo/refactor/use-unique-ptr
refactor: Use unique_ptr for memory management
2018-03-12 22:45:59 -07:00
Oskar Wallgren
a54c54097f Draw the entire length of a notes pitch bend info (#4233) 2018-03-12 14:49:45 +01:00
Colin Wallace
ec3c9cdf10 Only use specific std:: items we need.
Also, fix `using std::unique_ptr` to `using std::make_unique` in
stdshims.h
2018-03-11 09:07:00 -07:00
Colin Wallace
c8d9cc02d5 Use namespace std instead of prefixing {move,unique_ptr} with std::. 2018-03-10 23:30:30 -08:00
Colin Wallace
ba278becbd Don't use #pragma; don't redefine make_unique if using C++14 2018-03-10 23:29:22 -08:00
Colin Wallace
a9d097cad9 Prefer emplace_back; take argument by value.
We copy the QString, so it makes sense to accept it by value and _move_
it into the collection instead. This causes the caller to move any
rvalue QString into the function, and then the QString is never actually
copied at all.
2018-03-10 16:08:21 -08:00
liushuyu
8120db292a i18n: update strings 2018-03-10 13:25:58 -07:00
liushuyu
c8ba4c548c Merge remote-tracking branch 'upstream/stable-1.2' 2018-03-10 13:23:02 -07:00
Colin Wallace
876615e3a3 Warn when compiling with C++14 or greater. 2018-03-10 00:28:58 -08:00
Colin Wallace
0f993895d4 Fix missing includes 2018-03-09 23:48:07 -08:00
Colin Wallace
fd871e46c9 refactor: Use unique_ptr for memory management 2018-03-09 23:03:19 -08:00
Tres Finocchiaro
d2c370a953 Enable FPE on Mac (#4213)
Allow #3687 to work on Mac
2018-03-09 11:41:17 -05:00
Orbital Ink
e9b83378f9 Typo - Phrygolydian to phrygian (#4223) 2018-03-07 16:44:16 +01:00
Hyunin Song
0a5d056bdb Merge branch 'stable-1.2'
# Conflicts:
        #       .travis/osx..install.sh
        #       .travis/osx..script.sh
        #       cmake/linux/package_linux.sh.in
        #       data/locale/en.ts
        #       src/core/CMakeLists.txt
        #       src/core/ProjectRenderer.cpp
        #       src/gui/FileBrowser.cpp
2018-03-07 23:54:28 +09:00
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
tresf
9f08e285bb Fix $PATH for creating AppImages 2018-01-07 02:37:11 -05:00
tresf
9547575c50 Move exprtk to non-volatile branch
Fix Travis-CI for #4089
2018-01-05 17:25:14 -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
tresf
5c3c052712 Remove QT5 flags
Fix a regression caused by #4041, closes #4077
2018-01-02 09:53:54 -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
Michael Gregorius
ab2cc42eea Make Song::setModified more compact
Implement a comment from a code review by pulling condition of the
second if clause into the first one.
2017-12-26 00:33:11 +01:00
Michael Gregorius
9acff89ad3 Remove Song's dependency to MainWindow
Finally remove Song's dependency to MainWindow by moving the window
title update which is triggered due to a changed project file name from
the class Song into MainWindow.

Implementation details:
Add a new signal projectFileNameChanged to Song and connect the new slot
method MainWindow::onProjectFileNameChanged to it. Update the window
title whenever the slot is triggered.

Add a new private method Song::setProjectFileName which sets the project
file name and emits the signal (only if the file name really changes).
Call setProjectFileName everywhere where m_fileName was manipulated
directly. This is done to ensure that the signal can be potentially
emitted in all relevant situations.

Remove the calls to gui->mainWindow from
Song::createNewProjectFromTemplate.

These changes finally remove the include to "MainWindow.h". The include
for "ConfigManager.h" was previously done implicitly through the include
of "MainWindow.h" and therefore had to be added explicitly after the
latter is removed.
2017-12-26 00:33:11 +01:00
Michael Gregorius
b79999a6bf Move some window title updates from Song into MainWindow
Move the window title updates which are triggered due to a changed
modify state from Song to MainWindow.

Implementation details:
Add a new signal modified to Song and connect the new slot method
MainWindow::onSongModified to it.

Currently only the window title is updated in the slot. It is only
updated if the code is executed from the GUI main thread. This
implementation was taken over from the original implementation of
Song::setModified. The assumption here seems to be that the Song might
also be set as modified from other threads (which is a bad design).

Add a new private method Song::setModified(bool) and replace all direct
manipulations of m_modified in Song by calls to this method. This is done
to ensure that the signal can be emitted in all these cases. Make
Song::setModified() delegates to Song::setModified(bool) for the same
reason.

Other changes:
Slightly refactor MainWindow::resetWindowTitle to get rid of an
unnecessary if statement.
2017-12-26 00:33:11 +01:00
Michael Gregorius
07caf85bf5 Remove GUI related code from Song::stop
Add the new signal Song::stopped which is emitted when the song is
stopped. Connect the new slot method MainWindow::onSongStopped to that
signal. Remove all GUI updates from Song::stop and handle them in
MainWindow::onSongStopped.
2017-12-26 00:33:11 +01:00
Michael Gregorius
7fa62266a9 Move showing of save result dialog out of Song
Move the showing of save result dialogs, e.g. "The project XYZ is now
saved.", from the class Song into the class MainWindow.

Implementation details:
Add three new methods guiSaveProject, guiSaveProjectAs and
handleSaveResult to MainWindow. The first two correspond to the methods
with the same name in Song which don't do anything GUI related anymore.
The GUI related actions are instead implemented in the two new methods
in MainWindow. The method handleSaveResult shows the dialogs for
successful and failed saves, updates the list of recent files and the
title bar of the main window.

This commit also fixes a problem in Song::guiSaveProject where a failed
saved without a GUI would still have returned true, i.e. success.
2017-12-26 00:33:11 +01:00
Michael Gregorius
6a716ef985 Move import functionality from Song to MainWindow
Move the functionality of the method Song::importProject into the
MainWindow as it mainly consists of GUI related actions.

Add a new method Song::setLoadOnLauch to ensure that the boolean
Song::m_loadOnLaunch is still set at the end of the import.
2017-12-26 00:33:11 +01:00
Michael Gregorius
78d65ccc3a Move song export and track export from Song into MainWindow
The code to export a song and the tracks of a song mainly consisted of
GUI code. Therefore it was moved completely into MainWindow.

Add two new slots and a method that does the actual work to MainWindow.
Make both slots delegate to the worker method.
2017-12-26 00:33:11 +01:00
Michael Gregorius
989db1dc9b Move GUI dependencies out of Song::exportProjectMidi
Move all GUI dependencies out of Song::exportProjectMidi and move them
into the MainWindow.

Show the GUI in the new slot method MainWindow::onExportProjectMidi and
delegate to Song::exportProjectMidi once the file name has been
determined. The file name is given as a parameter to
Song::exportProjectMidi which still contains the business logic of
exporting the data.
2017-12-26 00:33:11 +01:00
Tres Finocchiaro
7f9d01e3b6 Enable auto-uploading of PRs (#4041)
Removes Qt4 from build system
Uploads PRs to transfer.sh
2017-12-23 02:23:32 -05:00
Tres Finocchiaro
07de45347a Install homebrew fftw without gcc 2017-12-22 22:10:23 -05: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
Hussam Eddin Alhomsi
9f0f61d914 Use "Set value" as title for QInputDialog of some widgets.
These widgets are the Fader, Knob and LcdSpinBox.
2017-12-21 12:17:03 +03:00
Tres Finocchiaro
c3438a1b4e Remove alpha channel from splash
Closes #4062
2017-12-20 20:46:47 -05:00
Hyunin Song
e9b76a5178 Add a comment for VST dependencies 2017-12-20 14:17:07 +09:00
Hyunin Song
59cfcf41a7 Merge branch 'stable-1.2'
# Conflicts:
#	.travis/linux..before_install.sh
#	.travis/linux..install.sh
#	.travis/linux..script.sh
#	cmake/linux/package_linux.sh.in
#	include/AudioWeakJack.def
#	plugins/vst_base/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
2017-12-20 14:16:16 +09:00
Hyunin Song
6aeba4fd13 Bump WeakJack to latest version 2017-12-20 13:58:28 +09: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
Michael Gregorius
3660ac9a6c Revert "Fix a crash that occurs when library "KF5WidgetsAddons" cannot be loaded"
This reverts commit 17fb59cdeb. It's
reverted because it's already fixed in stable-1.2 and only need to be
merged.
2017-12-08 18:50:55 +01:00
Michael Gregorius
17fb59cdeb Fix a crash that occurs when library "KF5WidgetsAddons" cannot be loaded
Add a check to see if the library "KF5WidgetsAddons" could be loaded and
return if that's not the case.

Also move a using declaration near the place where it is used first.
2017-12-07 18:55:40 +01: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
Hussam Eddin Alhomsi
004da34942 Remove the "Empty project" message and allow exporting empty projects. 2017-12-05 13:20:20 +03:00
Hussam Eddin Alhomsi
2469851e6b Allow exporting empty projects. 2017-12-04 14:43:13 +03: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
03e9889605 Remove old CMake compat code 2017-11-29 17:33:18 +01:00
Lukas W
e735260d53 Merge pull request #3860 from PhysSong/unit-auto
Fix warning in automation unit test
2017-11-29 17:24:00 +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
Hyunjin Song
6de7cb6a87 Fix song-editor regressions and BB-editor bugs from #3487 (#4008)
* Fix TCO copy with Ctrl + Dragging
* Fix text float display in song editor
* avoids override cursor in BBEditor for sampletracks at left side
2017-11-29 14:31:13 +09:00
Lukas W
4ff5eba0f9 Merge pull request #4010 from LMMS/fix/sendEvent-assert
Fix sendEvent assert
2017-11-27 20:43:02 +01:00
tresf
d0194e6c64 Bump Qt to 5.9.2
Closes #3925
2017-11-27 10:42:17 -05:00
Tres Finocchiaro
67231cbba0 Bump to exprtk submodule to latest (#4013) 2017-11-27 10:02:54 -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
a96771bb2d Add Q_OBJECT to FloatModel, IntModel, BoolModel 2017-11-24 13:48:36 +01:00
Lukas W
c9c22e4a0e shared_object: Use deleteLater in unref for thread safety
This makes unref safe when it's not called from within the object's thread.

Fixes #4009
2017-11-24 13:30:15 +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
Lukas W
aa1406bac9 Merge pull request #4000 from LMMS/fix/msvc
MSVC fixes
2017-11-24 11:58:12 +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
Hyunin Song
26b0f74130 Fix libgig install logic for packaging 2017-11-24 11:18:07 +09:00
Hyunin Song
90b1fb57f0 Merge brnach 'stable-1.2' 2017-11-24 09:56:08 +09:00
Lukas W
7fdbcc3c71 Xpressive: Fix Clang patch on macOS 2017-11-23 15:05:01 +01:00
Léo Andrès
79e4775cd3 Fix CMake warning (#4002) 2017-11-22 18:01:05 -05:00
Lukas W
3c9a1bbe5e Fix Clang compilation with gig 2017-11-22 20:38:10 +01:00
Lukas W
1531fb9e1a MSVC: Fix include, fix GNU compiler flag 2017-11-22 17:57:42 +01:00
Lukas W
8f3ab4b1b0 Merge branch 'master' into fix/msvc
# Conflicts:
#	plugins/LadspaEffect/CMakeLists.txt
#	plugins/Xpressive/Xpressive.cpp
#	plugins/opl2/CMakeLists.txt
#	plugins/papu/CMakeLists.txt
#	plugins/xpressive/CMakeLists.txt
#	src/CMakeLists.txt
2017-11-22 17:34:22 +01:00
Lukas W
852708863a Fix Linux compilation issues caused by MSVC fixes 2017-11-22 16:36:51 +01:00
Lukas W
313d43bc16 MSVC: Show compiler version in AboutDialog
Make AboutDialog support MSVC compiler info so we can use a screenshot of
it to brag with on #devtalk
2017-11-22 13:54:19 +01:00
Lukas W
95c0538d1c MSVC: Fix plugins not loading with debug builds
The "d" suffix used in debug builds breaks plugin loading because LMMS
expects to find a descriptor named e.g. "kickerd_plugin_descriptor" instead
of "kicker_plugin_descriptor" when discovering a plugin with the filename
"kickerd.dll".
2017-11-22 13:52:31 +01:00
Lukas W
6224e5ed6b MSVC: Various fixes
* CMake
  * Compiler flags fixes
  * Don't strip
* Fix default template argument errors
* Fix VLAs. MSVC doesn't support C99, so Variable-Length-Arrays are not
  available. Use QVarLengthArray instead.
2017-11-22 13:49:57 +01:00
Lukas W
3d2062392d MSVC: Blacklist unsupported plugins 2017-11-22 11:51:37 +01:00
Lukas W
ba2ed12f05 MSVC: EXPORT macro fixes 2017-11-22 11:08: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
Tres Finocchiaro
d634ed344f Various CheckSubmodules fixes (#3996)
Various CheckSubmodules fixes
Closes #3992, #3993, #3994
2017-11-20 23:42:52 -05: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
tresf
5e2c105d5b Fix CheckSubmodules.cmake 2017-11-17 09:51:56 -05:00
Tres Finocchiaro
5aa713d5a6 Switch weakjack to submodule 2017-11-17 09:51:56 -05:00
Hussam Eddin Alhomsi
e8debf9015 Fix horizontal track resizing.
Fixes a regression from PR #3878 that broke horizontal track resizing.
2017-11-17 10:31:59 +03:00
Tres Finocchiaro
c102fa8ab4 Switch tap to submodule 2017-11-16 22:23:00 -05:00
Tres Finocchiaro
d63cfe0980 Bump veal submodule 2017-11-16 22:16:00 -05:00
tresf
d393bdc36d Coerce XML files to C 2017-11-16 21:12:47 -05:00
tresf
44a704cfe7 Move swh to submodule 2017-11-16 21:12:47 -05: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
Hussam Eddin Alhomsi
aad98d7405 Remove useless code from the about & export dialogs.
A follow-up to PR #3826.
2017-11-16 15:28:35 +03:00
Tres Finocchiaro
0dab4aea06 Use CMake to fetch submodules
Custom CMake module which attempts to automatically clone submodules when they're missing.  Uses the `--depth` option if supported, which should be faster than running `--recursive` on initial clone.
2017-11-15 14:23:04 -05:00
Hyunjin Song
601046aa03 Fix CAPS plugin build with some compilers (#3972) 2017-11-15 10:18:03 -05:00
François Mazen
0f7d192681 Replace int by int32_t in aeffectx.h structures (#3094)
* Replace int by int32_t in aeffectx.h structures to ensure that size does not vary with platform or compiler.
* Add missing header in aeffectx.h
2017-11-15 01:57:14 -05:00
Steffen Baranowsky
6289071bcd adds doxygen documentation to SubWindow.cpp (#3450)
Doxygen documentation for SubWindow.cpp
2017-11-15 00:15:01 -05:00
Levin Oehlmann
918f449eb3 UI: New behavior for the Plugin Browser (#3773)
Remove widget resizing altogether, display plugin info in tooltip instead
2017-11-15 00:08:48 -05:00
Hussam Eddin Alhomsi
548baa50a0 About dialog & export dialog improvements. (#3826)
* Improve appearance of about dialog, export dialog
* Cleanup code comments/formatting
2017-11-14 23:59:14 -05:00
Hyunjin Song
57de274fe8 Fix time display (#3711)
Make Bar:Beat:Tick / Min:Sec:Msec agree with playhead
2017-11-14 23:42:26 -05:00
Hussam Eddin Alhomsi
c9e5d3aef5 Restrict playing notes on the keyboard of the Piano Roll editor to left-clicks. (#3771)
Restrict playing notes on the keyboard of the Piano Roll editor to left-clicks
2017-11-14 23:31:39 -05:00
Hussam Eddin Alhomsi
6f305a6308 Track operations fixes and other stuff. (#3878) 2017-11-14 23:30:17 -05:00
Tres Finocchiaro
77b4985a2d Enable sf3 extension (#3895)
Add sf3 file extension, move `sf2` to `soundfonts`.
2017-11-14 21:59:58 -05:00
Tres Finocchiaro
de98781df4 Use "soundfonts" folder, not "sf2" 2017-11-14 21:55:25 -05:00
Tres Finocchiaro
28a4eb27f2 Patch exprtk on Clang (#3971) 2017-11-14 01:28:38 -05:00
Dominic Clark
7ed9bea9fb Disable plugin transparency on Qt5 (#3934) 2017-11-13 08:52:08 +09:00
tresf
231cc82de1 Rename xpressive to Xpressive 2017-11-10 21:57:44 -05:00
tresf
80a49db6f6 Switch exprtk to submodoule 2017-11-10 21:57:44 -05:00
Tres Finocchiaro
6c9e62164c Attempt to fix Travis-CI
Closes #3966
2017-11-10 21:19:32 -05:00
tresf
d37284b32a Point calf submodule at fork, rename library 2017-11-10 18:10:14 -05:00
tresf
ae291e0709 Move calf to submodule 2017-11-10 18:10:14 -05:00
tresf
289887f4fc Rename OPL2 to OpulenZ 2017-11-10 09:20:03 -05:00
tresf
dce32bede9 Switch opl2 to submodule 2017-11-10 09:20:03 -05: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
Hussam Eddin Alhomsi
aea3394810 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:27:01 +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
tresf
9e36e98753 Update translations 2017-11-08 20:47:22 -05:00
tresf
f0cdcd236c Rename papu to FreeBoy
Make API calls more intuitive
2017-11-08 20:47:22 -05:00
tresf
eef042dbd6 Refactor/subclass Basic_Gb_Apu 2017-11-08 20:47:22 -05:00
tresf
3794d2ee84 Switch papu to submodule 2017-11-08 20:47:22 -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
tresf
9d317e158e Cleanup unused files 2017-11-03 15:37:36 -04:00
tresf
b621c7eb34 Move zynaddsubfx to submodule 2017-11-03 15:37:36 -04:00
Oskar Wallgren
0c31cf49c0 linearToLogScale() - Input validation (#3932) 2017-11-03 09:41:28 +01:00
Steffen Baranowsky
c765249723 Sampletrack - resize from left (#3487)
Sampletrack - resize from left
2017-11-01 14:43:39 -04: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
Lukas W
68c85c8e05 Merge branch 'stable-1.2' 2017-10-30 11:07:05 +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
liushuyu
9fb74d9bff Update i18n strings 2017-10-20 13:30:52 -06:00
Lukas W
ad5884d2fe Revert "LADSPA: CAPS: fix compilation with MinGW GCC >= 5.0"
This reverts commit 14b2028438.
2017-10-20 16:26:23 +02:00
Lukas W
ff958338e7 Revert Travis docker changes 2017-10-20 10:54:24 +02:00
Lukas W
307deaef4c Fix merge damage 2017-10-19 22:18:52 +02:00
Lukas W
72501a0f2f Fix & silence shellcheck warnings 2017-10-19 09:48:08 +02:00
Lukas W
8927ceaed5 Merge remote-tracking branch 'origin/master' 2017-10-19 09:38:00 +02:00
Lukas W
fbfcb43aeb Merge pull request #3881 from zonkmachine/arppatternsort
Note sorting algorithm rework
2017-10-19 08:49:31 +02:00
Lukas W
01a6cb13f7 Merge pull request #3894 from LMMS/fix/scripts
Fix shellcheck failing on master
2017-10-19 08:38:08 +02:00
Oskar Wallgren
9341acd129 Remove obsolete function - qSort() 2017-10-19 03:35:55 +02:00
Lukas W
ae73fa4521 Fix some shellchecks warnings 2017-10-18 23:27:21 +02:00
Tobias Junghans
9fd77a4959 Travis: fix installer name 2017-10-18 19:22:07 +02:00
Tobias Junghans
0c06bc2498 Travis: install libz-mingw-w64-dev for Windows builds 2017-10-18 19:02:45 +02:00
Tobias Junghans
3781412a2e Travis: use Qt5LinguistTools from mingw-w64 toolchain 2017-10-18 18:51:26 +02:00
Tobias Junghans
f68b462a61 CMake: always require Qt5LinguistTools 2017-10-18 18:51:01 +02:00
Tobias Junghans
597e54ac8a CMake: enforce new behaviour for CMP0020 2017-10-18 18:47:58 +02:00
Tobias Junghans
350cd2738c Travis: fix syntax error in script 2017-10-18 18:38:50 +02:00
Tobias Junghans
cd677273ac Travis: only install required packages for software-properties-common 2017-10-18 18:36:04 +02:00
Tobias Junghans
c4ee2f70bd Travis: remove MinGW package caching relicts 2017-10-18 18:32:51 +02:00
Tobias Junghans
e462f90df1 Travis: call build script directly for Docker-based builds 2017-10-18 18:31:54 +02:00
Tobias Junghans
874edf362c Travis: fix typo in package name 2017-10-18 18:29:23 +02:00
Tobias Junghans
57a53feadd Travis: fix syntax error in Dockerfiles 2017-10-18 18:25:36 +02:00
Tobias Junghans
4730f8b068 Travis: cross-compile in Docker containers with mingw-w64 toolchain 2017-10-18 18:21:56 +02:00
Tobias Junghans
6e3046d9f9 CMake: migrate to new mingw-w64 toolchain 2017-10-18 18:17:53 +02:00
Lukas W
1059c92d87 Merge branch 'stable-1.2'
# Conflicts:
#	.travis/linux..before_install.sh
#	.travis/linux..install.sh
#	cmake/linux/lmms.desktop
#	plugins/vst_base/CMakeLists.txt
2017-10-18 17:33: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
Tobias Junghans
14b2028438 LADSPA: CAPS: fix compilation with MinGW GCC >= 5.0 2017-10-18 08:00:40 +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
9ae1bdecda MSVC compilation fixes 2017-10-16 15:51:21 +02:00
Lukas W
c2af8ae554 Remove "-fno-exceptions" compile flag 2017-10-16 15:03:20 +02:00
Lukas W
8ed6295a7d Use CMAKE_CXX_STANDARD as a portable way of setting C++11
Fixes MSVC warnings "unknown option -std=c++11"
2017-10-16 15:01:13 +02:00
Lukas W
d32b373d78 MSVC: Fix 64bit detection 2017-10-16 14:49:34 +02:00
Lukas W
f123b82f27 MSVC: Use Q_LIKELY and Q_UNLIKELY instead of gcc-specific extensions 2017-10-16 11:18:15 +02:00
Lukas W
5d4bba9c3c Port MicroTimer to portable C++11 for MSVC compatibility 2017-10-16 11:17:30 +02:00
Lukas W
142f0f29cd MSVC: Fix compiler warning flags 2017-10-16 11:17:03 +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
Tres Finocchiaro
7f92b82738 Upgrade to fluidsynth 1.1.8, switch to gist 2017-10-14 13:41:17 -04:00
Dan Williams
4d26654534 Fix warnings (#3852)
* Remove register keyword

Register is meaningless in c++, and removed in c++17

* Fix compiler warningsg

Add missing override, remove unused capture, and remove unused local variablees
2017-10-11 19:10:03 +02: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
Hyunin Song
0a6a6d1a77 Fix warning in automation unit test 2017-10-07 16:15:09 +09:00
Hyunin Song
e0bd797876 Merge branch 'stable-1.2' 2017-10-03 15:56:16 +09:00
Steffen Baranowsky
31d27d2099 don't allow dragging TCOs in BBEditor (#3832)
* don't allow dragging TCOs in BBEditor

* change bbtrack detecting

* code improvements
2017-10-03 00:53:49 +02:00
David CARLIER
fdec4da50c fixing C abs/C++ abs mix up (#3837) 2017-10-03 00:47:55 +02:00
David CARLIER
e7e24935b3 catching-up for openbsd sndio support + applying abs call fix (#3839) 2017-10-03 00:47:45 +02:00
Hussam Eddin Alhomsi
e5c1854df0 Update the grid after changing the quantization value in automation editor 2017-10-02 22:05:16 +02:00
Oskar Wallgren
29d8734c51 Save track height under a separate name, 'trackheight' (#3840) 2017-10-02 15:10:33 +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
Dominic Clark
d5a2ea136f Fix hang when remote plugin is missing (#3770) 2017-10-01 17:30:37 +02:00
Michael Gregorius
b1af4c233f Introduce an enum to describe the VCA mode
Replace the integer encoding of the VCA mode with an enumeration.
2017-10-01 11:51:44 +02:00
Michael Gregorius
4fa96bc6c6 LB302: Move init of VCA members into constructor initializer list
Move the initialization of the members belonging to the VCA into
lb302Synth's constructor initializer list. This also removes a
duplication initialization of vca_mode from the code.
2017-10-01 11:51:44 +02:00
Michael Gregorius
b2a01ad8c3 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-01 11:51:44 +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
Hyunjin Song
4ca6cdb9c7 Fix VST effect control icon display
Fix broken VST effect control icon display in master branch due to the difference in CMakeLists.txt
2017-09-24 15:42:02 +09: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
LMMS Service Account
28140aa1a4 Updating translations for data/locale/nl.ts 2017-09-13 10:25:26 -04:00
Steffen Baranowsky
b69b585612 fix CTRL in songeditor by losing focus (#3796)
* fix CTRL in songeditor by losing focus

* init m_ctrlAction
2017-09-12 21:57:40 +02:00
Oskar Wallgren
f26a02da04 Suppress midi in events on export (#3778) 2017-09-12 10:28:38 +02:00
LMMS Service Account
30020ebc8c Updating translations for data/locale/fr.ts 2017-09-11 12:32:45 -04:00
DomClark
cfb7a89f0e Fix empty VST tracks creating noise in playback (#3798) 2017-09-10 09:06:38 +02:00
liushuyu
661daedbe2 Update i18n strings 2017-09-09 16:14:20 -06:00
liushuyu
242223e1bf Update i18n source strings 2017-09-09 13:56:07 -06:00
liushuyu
da7b61535b Merge stable-1.2 into master 2017-09-09 13:55:36 -06: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
tresf
55521b508d Install libgig-*.dll for Windows builds 2017-09-07 16:12:21 -04:00
tresf
b18480ec2c Fix pthread location for msys2 2017-09-07 14:58:38 -04:00
Hyunjin Song
d67ecacdb4 Don't use temporary gz file for ppa listing
Fix shellcheck error, introduced by commit b6c97c5.
2017-09-07 16:54:41 +09:00
tresf
b6c97c5973 Msys2 fixes 2017-09-06 22:52:46 -07: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
Lukas W
12edb58c77 Merge remote-tracking branch 'upstream/stable-1.2'
# Conflicts:
#	data/themes/default/style.css
#	src/gui/ExportProjectDialog.cpp
#	src/tracks/Pattern.cpp
2017-08-27 13:07:45 +02:00
Steffen Baranowsky
9b5d3790b0 shortcut refactor for songeditor (#3649)
* shortcut refactor for songeditor

* Ctrl-modifier for copy Tcos

* QAction()::trigger methode qt4 compatible
2017-08-27 12:23:08 +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
Andrés
e387e77445 same note layering when sustain pedal is pressed (#3774) 2017-08-26 06:01:01 +02:00
Arash Partow
8dcf997872 General improvements and fixes (#3772)
Added fixes for a clean GCC 7.+ compile
2017-08-23 21:09:43 +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
Andrés
153ab375f9 "misc" view now shows the model state, of the track use of master pitch (#3753) 2017-08-16 01:35:04 +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
David CARLIER
9ae339c82b Fixes the OpenBSD build. (#3716) 2017-08-08 12:27:54 +02:00
Umcaruje
4d044439ab Fix file permissions for theme files (#3752) 2017-08-07 10:35:02 +02:00
Levin Oehlmann
e9a4063119 Add FLAC export and related options (#3731)
* Add FLAC export, based on WAV renderer

* Depend on sndfile>=1.0.18 (previously >=1.0.11)

* Add compression option to FLAC export, if available.

The code related to compression is only generated if LMMS_HAVE_SF_COMPLEVEL is defined(libsndfile>=1.0.26).

* Save into the correct file extension upon single-export.

* Use unique_ptr in FLAC renderer and be more expressive about involved types.

* Use unique_ptr and remove manual memory management in ExportProjectDialog

* Add 'flac' format info to --help and manpage
2017-08-04 07:19:39 +09:00
Hyunjin Song
37f6032b4d Fix deadlock when exporting is finished, if the project has any Sample TCO(s). (#3742)
[cherry-picked from stable-1.2]
2017-08-02 09:14:52 +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
Andrés
44028c8594 Midi sustain working when envelope is on (#3730)
* midi sustain working when envelope is on

* pressing sustain pedal again doesn't pause release
2017-08-02 07:20:09 +02:00
Tres Finocchiaro
0e88a27389 Add support for SDL2 (#3732) 2017-08-01 00:39:00 -04:00
Oskar Wallgren
4402ca95f2 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.

[cherry-picked from stable-1.2]
2017-07-30 14:33:30 +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
Michael Gregorius
1f257f8125 Fix another memory leak by returning the error messages on the stack
Change Song::errorSummary() to return the string with the error messages
on the stack to remove another memory leak.
2017-07-27 19:16:05 +02:00
Michael Gregorius
017fb4b089 Fix a memory leak in Song (dynamically allocated error list)
Make the member Song::m_errors a static member to prevent memory leaks.
The member was allocated dynamically when an instance of a Song was
created but was not deleted in the destructor.
2017-07-27 19:07:19 +02:00
Michael Gregorius
9d92ea2cca Show the names of patterns in their tool tip
Adjust PatternView::update to show the name of the pattern as the tool
tip (regardless of whether it is a beat and bassline or a melody
pattern).

Override the public slot TrackContentObjectView::update for
AutomationPatternView and BBTCOView. Implement it similar to
PatternView::update.
2017-07-27 17:26:13 +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
Michael Gregorius
379e1020ab Sample tracks: Show the file name of the loaded file in the label
Show the file name without the full path in the text label for sample
tracks. Show the file name with the full path in the tool tip.
2017-07-26 21:16:19 +02:00
Michael Gregorius
0a27bc180e Expose properties for note border color and fill color to style sheets
Expose properties to set the colors for note borders and note fills for
patterns to the style sheets. Both properties are exposed for the muted
and not muted case. Use these new properties during rendering.

Adjust the style sheets for the classic and default theme.
2017-07-26 20:39:50 +02:00
Michael Gregorius
5141dc5f3d Fix problem with Qt5 and move painting code in one block
Fix a problem with Qt5 by explicitly setting the pen width to 0 after
setting the transformation.

Reorder some of the other code to differentiate better between some
calculations that are in done in preparation for the painting and the
actual painting itself.
2017-07-26 20:39:50 +02:00
Michael Gregorius
ce0de8a3ff Paint notes as lines at small sizes and add a small border
Draw notes as lines in case the pattern size is smaller than 64 pixels.
Antialiasing is only used when the notes are drawn as rectangles.

Add a border of four pixels at the top and bottom of the area where the
notes are drawn so they don't get pushed under the pattern borders.

Set the transparency of the text label to 100.

Clean up of some other code:
* Remove an unnecessary assignment to a pixmap
* Move code closer to where it is needed
* Remove an unncessary call to QPainter::end()
2017-07-26 20:39:50 +02:00
Michael Gregorius
461cb2bb3c Improve the rendering of melody patterns (mapped to [0,1] x [0,1])
Compute the height of the potential text field before rendering the
melody pattern so that we can use that information later.

Transform the painter so that notes drawn into a [0,1] x [0,1]
coordinate system are drawn at the correct position on the pattern
widget. Add code that moves the pattern notes smoothly under the text
label in case there is not much space, i.e. for narrow patterns. Notes
are drawn as filled rectangles with a slightly darker border.

Always draw at least an octave of notes onto the pattern, so that
patterns with just a single note will not look strange, i.e. that they
are not filled completely with the note. If there is additional space to
fill it will be rather filled at the top of the pattern so that single
notes have a high chance of being drawn below the pattern text.

Simplify the drawing of the inner and outer border.

Use numeric_limits to initialize the minimum and maximum key.

Remove some redundant checks whether the pattern holds notes and
decrease the indentation depth by two tabs for most of the code.
2017-07-26 20:39:50 +02:00
Michael Gregorius
c1be21f478 First implementation to draw pattern notes as boxes
Still uses absolute positions without any transformations. Some
refactorings/changes to make the code better understandable and concise.
2017-07-26 20:39:50 +02:00
irrenhaus3
c8af34af2f 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-26 19:48:25 +09:00
Andrés
d87a8b3da4 Fix recording of sustained midi notes (#3710) 2017-07-26 03:13:55 +02:00
Andrés
2464a57f3c Fix recording of sustained midi notes (#3710) 2017-07-26 02:48:24 +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
Tres Finocchiaro
ebfdc0491a Sync zyn with repo version (#3715)
Sync zyn plugin with zyn repo fixes
2017-07-22 04:21:04 -04:00
tresf
fda557fd10 Sync zyn license with repo version 2017-07-21 16:26:50 -04:00
Michael Gregorius
17f1856c84 Add back the rendering of text shadows for pattern labels
Add back the rendering of text shadows for pattern labels. If some
design does not want shadows beneath the text it's always possible to
set the CSS property qproperty-textShadowColor to something completely
transparent.
2017-07-20 19:53:02 +02:00
Michael Gregorius
a81b14b6cf Handle cases where elided text becomes empty or "..."
Render the whole text if the elided text becomes empty or if it only
contains one character, i.e. if it becomes "…". Solved as implemented
because I was not able to check for "…" explicitly, i.e. the comparison
against "…" still failed.
2017-07-20 19:53:02 +02:00
Michael Gregorius
f15fe18360 Expose the background color of the text labels in the style sheet
Add a new property "textBackgroundColor" to TrackContentObjectView to
expose the property to the style sheets. Use this property in the code
that renders the text labels.

Adjust the two existing style sheets.
2017-07-20 19:53:02 +02:00
Michael Gregorius
a23e344886 Make text rendering consistent for TrackContentObjectViews
Add the method paintTextLabel to TrackContentObjectView. This methods
implements the painting of a given text on a given painter. The new
implementation does not draw any text label in case the trimmed text
becomes empty.

Use the method paintTextLabel to paint the text for automation patterns,
BB patterns and instrument patterns.

Adjust the style sheet of the classic and default theme by moving the
font definition from PatternView into TrackContentObjectView so that it
can be used by all inheriting classes.
2017-07-20 19:53:02 +02:00
Michael Gregorius
bcdb5ecb5a Fix a problem with the time display
Some changes made in commit e05c82758e
have broken the update of the time display. This commit fixes the problem
by introducing a second version of MidiTime::ticksToMilliseconds which
takes a double as an argument for the ticks. This new method is then
used by the call to ticksToMilliseconds in Song::processNextBuffer which
fixes the problem.
2017-07-20 18:23:10 +02:00
Oskar Wallgren
6f1b11f0ee Envelopes and LFO - Don't divide by 0 (#3381)
We perform division with some Envelope and LFO variables so they mustn't
be zero. They are given a minimum value of one frame ( f_cnt_t ).
Since #3687 we have a compile flag to turn on debugging of floating point
operations. This will currently not let you pass the Envelope/LFO
initiation and this is also fixed by this PR.
2017-07-20 02:33:31 +02:00
Karmo Rosental
dc829f48af Added support for wine-stable from WineHQ repositories. (#3708)
Added support for wine-stable from WineHQ repositories.
2017-07-19 15:46:27 -04:00
Michael Gregorius
e05c82758e Remove explicit time calculations by moving them into Song and MidiTime
Add a method to convert a MidiTime instance to milliseconds. Also add a
static method to MidiTime that computes the time in milliseconds for a
given number of ticks and a tempo.

Remove the method that sets the milliseconds explicitly from Song.
Replace it by a method that takes a MidiTime instance and one method
that takes an amount of ticks.

Remove several explicit time calculations from the implementation of
Song and TimeLineWidget. Instead use the new methods.
2017-07-18 21:26:15 +02:00
Michael Gregorius
ebc9137a0f Restore the track height when loading files
The track height is already stored for every file that is saved. Remove a
condition that prevents its retrieval from files.

The removed condition was added as a fix for an issue with the number
#3585927 but it was not possible anymore to find out what this issue was
about.
2017-07-16 11:58:13 +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
Michael Gregorius
b7b2204cbb Remove unnecessary assignments to pixmaps in TCOs
Simplify the code that reinitializes the pixmap that caches the
graphical representation of some TCO widgets.

See comment in issue #3699.
2017-07-15 15:27:11 +02:00
Hyunin Song
cc3822141e Merge branch 'stable-1.2' into master (@liushuyu) 2017-07-15 08:08:07 +09:00
Karmo Rosental
aaf09bb4db Updated Freeboy files from Game Music Emu 0.6.1. (#3618)
Uses upstream files to fix #326
2017-07-14 16:51:58 -04: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
Half-Gray
98952636b5 Add tooltip for refresh button (#3643) 2017-07-14 04:14:29 +02:00
Michael Gregorius
51dd094403 Add CMake option to enable the debugging of floating point exceptions
Add a new CMake option WANT_DEBUG_FPE which adds the define
LMMS_DEBUG_FPE if activated. Extend lmmsconfig.h.in with regards to that
define. Include information about development options to the CMake
output.

Install a signal handler to trap floating point exceptions when starting
LMMS in case it is compiled using the option described above. The
current implementation of the signal handler prints a stack trace and
then exits the application.

Currently this option is only enabled for Linux builds due to
uncertainty with regards to which of the needed headers are supported by
Windows and Apple.
2017-07-12 21:51:48 +02:00
Michael Gregorius
a70d255418 Use font properties from CSS to draw the pattern labels
Use the font properties that are defined in the CSS to draw the pattern
labels. This provides flexibility with regards to the font properties
that are used (size, font family, etc.).

Adjust the CSS for the default theme and the classic theme.
2017-07-11 21:23:13 +02:00
Michael Gregorius
c0a4f67544 Render a black semitransparent rectangle beneath the elided pattern text
Make the pattern names better readable by rendering them on top of a
semitransparent black rectangle. Elide the text and make it render a bit
more to the right.
2017-07-11 21:23:13 +02: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
Michael Gregorius
1b24a0520d Move the search bar on top of the file browser for sidebar pages (#3657)
Move the search bar on top of the file browser for the following sidebar
windows:
* "My Projects"
* "My Samples"
* "My Presets"
* "My Home"
* "My Computer"

Add the greyed out text "Search" to the search text edit.
The text is only shown as long as no text is entered in the search field.

Also rename some variable names to something more meaningful. Rename the
member m_l of FileBrowser to m_fileBrowserTreeWidget. Rename the
following local variables in the constructor of FileBrowser:
* ops -> searchWidget
* opl -> searchWidgetLayout
2017-07-07 18:52:41 +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
Tres Finocchiaro
94420d9d5c Merge pull request #3667 from zapashcanon/scripts
Fix scripts for shellcheck
2017-07-04 10:19:45 -04:00
zapashcanon
060c012b10 Clean code 2017-07-04 11:24:38 +02:00
zapashcanon
e90bc630fa Fix scripts 2017-07-04 11:12:21 +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
m4sk1n
996b1c4bfa Added Polish strings to LMMS.desktop (#3666) 2017-07-02 16:19:47 +02:00
gnudles
dff76b2e83 Xpressive plugin (#3259)
* First Preview of the X-Pressive Plugin
(exprtk.hpp is not included, get it from my exprtk fork in the branch
internal_data_functions)
available keys:
f- note's frequency. available only in the output expressions
t- time in seconds. in the Waves (W1,W2,W3) it's in the range [0,1)
key- the note's keyboard key. available only in the output expressions.
v- the note's velocity (divided by 255.0 so it is in the range [0,1]).
available only in the output expressions.
rel- gives 0 while the key is holded, and 1 after the key release.
available only in the output expressions.
A1,A2,A3- general purpose knobs (you can control them with the
automations). available only in the output expressions.
W1,W2,W3- precalculated wave forms. can be also load from file. you can
use them only in the output expressions
available functions:
cent(x)- gives pow(2,x/1200)
rand()- random number generator. in range [-1,1). each call gives other
value.
randv(i)- random vector (with pseudo infinite integer cells). the values
are in range [-1,1). it's stays consistent only across the note
playback. so each note playback will get other vector (even on the same
key).
sinew- sine wave with period of 1.
saww- saw wave with period of 1.
squarew- square wave with period of 1.
trianglew- triangle wave with period of 1.
expw- exponent wave with period of 1.
expnw- another exponent wave with period of 1.
moogw- moog wave with period of 1.
moogsaww- moog-saw wave with period of 1.
you can use * % ^ / + - pow sin log pi etc.

* Xpressive Plug-In:
Added Release transition knob that control the "rel" variable. (the
duration of transit from 0 to 1)
Fixed some problems in the displays. (update display when changing
A1,A2,A3, clear display with invalid expression.

* X-Pressive Plug-In: Few more fixes
Changed the callbacks in exprfront.cpp to be templated.
Added help.
Added ExprTk.hpp.
some bug fixes (inf issues).
Added integrate function.

* Special version of ExprTk with modified license (BSL) for the LMMS project https://github.com/LMMS/lmms

* Xpressive Plug-In- fixed some building errors.
Added the "e" euler's constant.

* Xpressive Plug-In - fix mingw64 issues

* X-Pressive Plug-in:
Added "trel" (time since release) variable.
The integrate function can now have unlimited usage.
Added selective interpolation per wave.
Improved a little the random vector function.
Some other improvements, code cleaning, etc...

* Xpressive Plug-In:
move clearGraph definition into Graph.cpp.
fixed compilation errors. (oops..)

* X-Pressive plug-in: updated presets names

* X-Pressive plug-in
added semitone function, added sample-rate variable

* X-Pressive plug-in, code cleaning, changed the rendering function to
achieve performace gain.

* X-Pressive plug-in - fix the string counting function

* X-Pressive plug-in - until somebody will find a better solution,
exprtk.hpp is patched under the name exprtk.patched.hpp ...

* X-Pressive plug-in - fix compiling errors.

* X-Pressive plug-in - added patch file for exprtk.hpp,
added last function that gives last calculated samples.
moved ExprSynth to be with ExprFront for performance reasons.

* X-Pressive plugin - moved the patched file back to the source tree, added .gitignore file..

* X-Pressive plugin - fix compilation error. (isnan isinf)

* X-Pressive plugin - tried to fix embed.cpp problem,
added new variable to the parser (tempo)

* X-Pressive plugin - fixed cmake script

* X-Pressive plugin - updated the license and the diff file.

* Updates to ExprTk

* Added return statement enable/disable via parser settings

Added exprtk_disable_return_statement macro for disabling return statements and associated exceptions at the source code level.

* X-Pressive plugin - updated CMakeLists.txt to use the correct flags on each platform.
also added exprtk.hpp as a dependency for the patch command.
Updated the exprtk diff file.

* X-Pressive plugin - moved the enhanced features flag to the WIN64 installation.

* X-Pressive plugin - another fix for CMakeLists.txt

* Minor updates to ExprTk

Updated multi-sub expression operator to return final sub-expression type.
Updates to exprtk_disable_return_statement macro for disabling return statements and associated exceptions at the source code level.

* X-Pressive plug-in - added try-block around exprtk calls and enabled the
-fexceptions flag, so patch file is no longer needed.

* X-Pressive plug-in - small fix in CMakeLists.txt

* Update ExprTk to tip of branch.

* X-Pressive plugin - added graph drawing feature..

* Updating exprtk.hpp to the latest upstream version
2017-06-26 19:45:59 +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
LMMS Service Account
d8dc29e675 Updating translations for data/locale/fr.ts 2017-06-03 10:30:10 -04: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
e6cbdf6447 Better message for missing sndio (#3596)
Better message for missing sndio
2017-06-01 21:15:54 -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
LMMS Service Account
730605fd59 Updating translations for data/locale/es.ts 2017-05-16 21:27:42 -04:00
LMMS Service Account
b4ab48277c Updating translations for data/locale/it.ts 2017-05-16 13:32:31 -04:00
LMMS Service Account
b683004172 Updating translations for data/locale/cs.ts 2017-05-15 15:32:09 -04: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
Tres Finocchiaro
51329a821d Merge pull request #3554 from karmux/missing_vsteffect_icons
Show missing pixmaps in VST effects dialog.
2017-05-12 21:31:15 -04: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
Karmo Rosental
7ea92305bf Show missing pixmaps in VST effects dialog. 2017-05-12 21:41:00 +03: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
LMMS Service Account
2ebd961f3f Updating translations for data/locale/nl.ts 2017-05-09 13:11:55 -04:00
liushuyu
1e3d0aa8a4 update i18n strings 2017-05-09 21:49:16 +08: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
Michael Gregorius
241d5f7479 Merge pull request #3516 from michaelgregorius/3021-24-Bit-Export
Implement 24 bit support for WAV export (#3021) and improve the export dialog (only show widgets relevant to output format, add variable bitrates for Ogg)
2017-05-07 12:31:04 +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
094258670f Merge pull request #3444 from LMMS/jasp00-patch-3
Document identifier collision in peak_controller_effect_controls.cpp
2017-05-02 22:20:28 -04:00
Michael Gregorius
954659fa8e Rename entry for bit depth from "24 Bit Float" to "24 Bit Integer" 2017-05-02 18:11:29 +02: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
Tres Finocchiaro
e3dc82c4a3 Merge pull request #3506 from zapashcanon/macosscript
Fix macos scripts
2017-05-01 18:44:52 -04:00
Léo Andrès
a74df5a4c5 Fix osx script, drop MacPorts support 2017-05-02 00:42:24 +02:00
Léo Andrès
c08c5ac0fc Use new brew package name syntax 2017-05-02 00:38:49 +02: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
tresf
7a82d5b0c6 Revert "Fix sporadic msys2 pkg-config path problems"
This reverts commit 4e76b78691.
2017-04-30 09:26:07 -07:00
tresf
4e76b78691 Fix sporadic msys2 pkg-config path problems
Closes #3492
2017-04-30 09:17:31 -07:00
Michael Gregorius
8ecae3e59c Make the 24 bit export the default selection in the export dialog 2017-04-30 11:48:35 +02:00
Michael Gregorius
02a36d1387 Add copyright info to the file OutputSettings.h 2017-04-30 11:19:57 +02:00
tresf
f9e01b59b4 Fix PPA downloads
Per #3492
2017-04-29 22:33:35 -07:00
Michael Gregorius
0ba4df406c 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-04-29 16:14:33 +02:00
Michael Gregorius
3a14d3b434 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-04-29 15:50:31 +02:00
Michael Gregorius
515b28d044 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-04-29 15:00:54 +02:00
Karmo Rosental
2815da2805 Fixed #3498. Show missing pixmaps in VeSTige plugin. (#3501) 2017-04-28 23:09:31 +02:00
Michael Gregorius
b1df8fd4fc 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-04-28 22:16:57 +02:00
Rebecca DeField
2f51062d1e Dual Filter Plugin Redesign (#3484)
* Dual Filter

* Design Tweaks
2017-04-27 23:34:27 +02:00
Tres Finocchiaro
cea7d7d002 Merge pull request #3476 from zapashcanon/shellcheck
Add shellcheck to the build
2017-04-17 02:26:40 -04: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
5e58d3c00b Fixed #3182. Always using master channel for preset previews. (#3503)
* Fixed #3182. Always using master channel for preset previews.
2017-04-16 08:57:06 -04:00
zapashcanon
7844b3e289 Add shellcheck to the build 2017-04-16 00:46:47 +02: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
Karmo Rosental
fc70ae3fba 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:05:34 -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
Jousboxx
e67779f817 Added Buzzer Beater to demos (#3482)
Add 2017 kicker competition winner to demo projects.
2017-04-08 15:32:30 -04:00
Lukas W
c7ce554ea1 Merge branch 'stable-1.2' 2017-04-07 11:41:27 +02:00
Lukas W
e65b1c8ba8 SampleBuffer: Keep settings on sample rate change
Fixes #2779
2017-04-07 11:40:46 +02:00
Lukas W
96a00300e8 Fix automation processing in BB tracks (#3481)
Fixes #3464
2017-04-06 23:10:00 +02:00
Tres Finocchiaro
b5ac3161c9 Revert "Update README.md"
Accidental github commit
This reverts commit bd1fb1a382.
2017-04-04 23:16:45 -04:00
Tres Finocchiaro
a486a7281c Revert "Update README.md"
Accidental GitHub commmit
This reverts commit 5f1550de72.
2017-04-04 23:16:07 -04:00
Tres Finocchiaro
5f1550de72 Update README.md 2017-04-04 23:08:27 -04:00
Tres Finocchiaro
bd1fb1a382 Update README.md 2017-04-04 23:04:22 -04:00
Karmo Rosental
0b43741f7e Added support for official wine-devel and wine-staging packages. (#3278)
* Added support for wine-devel packages.

* Added support for wine-staging packages.

* Staging extra flags.

* Dynamic Wine branch detection (stable, devel, staging).

* Using STRING() to correct WINE_INCLUDE_DIR and WINE_LIBRARY.

* Don't override CMAKE_PREFIX_PATH.

* REPLACE outputs new variables.

* Renamed variables.
2017-04-01 12:15:23 +00: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
Tres Finocchiaro
fc272d7aee Merge pull request #3455 from zapashcanon/scripts
Fix scripts using shellcheck
2017-03-28 14:31:22 -04: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
z-up
9c5a334fdd 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:27:56 +02:00
Oskar Wallgren
517417f0ca Automation Pattern - Rename 'controlKey' (#3459) 2017-03-28 09:54:53 +00:00
Lukas W
a22099c13f Merge branch 'stable-1.2' 2017-03-28 11:28:08 +02:00
Léo Andrès
5fca3d6f8c Fix scripts using shellcheck 2017-03-28 09:57:23 +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
Lukas W
9f905bce3e Use Qt's Resource System (2nd approach) (#1891)
* Remove bin2res, use Qt's resource system
* Use QDir search paths and QImageReader in getIconPixmap
* Don't include "embed.cpp" in plugins
* getIconPixmap: Use QPixmapCache, use QPixmap::fromImageReader
* Require CMake 2.8.9

* Fix ReverbSC embed usage
2017-03-26 22:06:43 +02:00
Léo Andrès
abc73c06ee Fix CMake warning (#3457) 2017-03-26 21:51:46 +02:00
Karmo Rosental
4dc5d14ea3 Fixed #3443. Added and fixed mixer automation labels. (#3453) 2017-03-26 20:58:41 +02:00
Lukas W
de3b344edd lmms_math: C++11 updates 2017-03-26 12:38:30 +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
91f20b65c6 Flag identifier collision in peak_controller_effect_controls.cpp 2017-03-20 02:43:23 +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
Tres Finocchiaro
f65ec07603 Bump version 2014-12-16 15:32:20 -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
Tres Finocchiaro
b789eb9a69 Merge pull request #1449 from curlymorphic/I1432
Proposed fix for issue 1432 LB302 preset preview audio cut-off
2014-12-16 12:30:03 -05:00
Tres Finocchiaro
569c83101a Merge pull request #1451 from curlymorphic/i1450
Proposed fix for 1450 Mem leak in sample-track
2014-12-16 12:23:39 -05:00
Dave French
8b2ce06da8 Proposed fix for 1450 Mem leak in sample-track 2014-12-16 16:41:08 +00:00
Dave French
8d3637e754 Proposed fix for #1411 Crash on LB302 preset preview . 2014-12-16 16:51:06 +01:00
Tres Finocchiaro
c6a22747da Merge pull request #1433 from Sti2nd/stable-1.1
New SnareMarch preset and updated KickPower

No objections after a week, merging. -Tres
2014-12-16 10:48:42 -05: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
f27ea7bc2b Proposed fix for #1432 LB302 preset preview audio cut-off 2014-12-15 21:40:58 +00:00
Dave
2aa7b64938 Merge pull request #7 from LMMS/stable-1.1
merge LMMS/lmms
2014-12-15 16:37:53 +00: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
Tres Finocchiaro
e6ae2be65a Bump DualFilter high cutoff to 20k
Closes #1395.
2014-12-13 12:19:20 -05:00
Tres Finocchiaro
a182a3e8cc Fix scroll bar gap
Closes #1437
2014-12-13 12:11:31 -05:00
Tres Finocchiaro
90bb470642 Merge pull request #1442 from tresf/stable-1.1
Check major/minor version before setting theme directory
2014-12-13 08:46:06 -08:00
tresf
a8924a34dd Check major/minor version before setting theme directory 2014-12-13 11:27:14 -05: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
73cad09968 Update FxMixer.cpp
prevent double adding of jobs
2014-12-13 13:05:50 +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
Stian Jørgensrud
60ad2c8aa0 New SnareMarch preset and updated KickPower
The snare sounds like it would be used for marching. If you can make it
brighter without making it sound funny, please do...

The kick was too dark for general purpose. Shortened it, raised it in
the frequency range and added more noise.
2014-12-11 00:24:52 +01: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
4a6257a47c Fix master channel peak display
Fix #1427

Conflicts:

	src/core/FxMixer.cpp
	src/gui/FxMixerView.cpp
2014-12-10 01:33:49 +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
Vesa V
891ab058eb Merge pull request #1425 from tresf/stable-1.1
Cleanup fmaf() usage, move to lmms_math.h
2014-12-09 17:27:07 +02:00
Tres Finocchiaro
bbe337bd03 Use correct FMA_ macros 2014-12-09 08:28:00 -05: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
Tres Finocchiaro
7431e77229 More fmal() fixes 2014-12-08 14:42:19 -05: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
Tres Finocchiaro
5a0dfdd3c0 minor fmaf() formatting fix. 2014-12-08 12:45:31 -05:00
Tres Finocchiaro
76d766fe25 fmaf() code cleanup, typos 2014-12-08 12:30:16 -05: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
Tres Finocchiaro
591acbf732 fastFmaf() formatting fixes 2014-12-08 12:22:33 -05:00
Tres Finocchiaro
56d0910533 Cleanup fmaf() usage, move to lmms_math.h 2014-12-08 12:20:47 -05: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
Tres Finocchiaro
6e01e8d4e0 Merge pull request #1424 from tresf/stable-1.1
Fix compilation on Apple/Clang (ambiguous fmaf())
2014-12-08 06:09:33 -08: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
2e8534955b Fix FX mixer race condition
Conflicts:

	src/core/FxMixer.cpp
2014-12-07 22:34:37 +02: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
82cd1ca65d Merge pull request #1415 from curlymorphic/Delay
Delay, added s postfix to knob values where applicable.
2014-12-07 00:38:21 +02: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
dave
decac20298 Replaced whitespace in knob definitions, for consistancy 2014-12-06 19:47:39 +00:00
dave
4a2a60255c Added postfix "s" to knobs where relevant, cleaned up unintentional white space 2014-12-06 18:34:24 +00:00
dave
cefee3a721 added s postfix to knob values where applicable. 2014-12-06 18:28: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
Vesa V
97a8705811 Merge pull request #1380 from softrabbit/journalling-killswitch
Master kill switch for journalling, useful when closing program.
2014-12-06 11:41:16 +02:00
Vesa V
074eada27f Merge pull request #1392 from curlymorphic/Delay
Delay Plugin, Changed default delay time to 0.5 seconds from 2.0.
2014-12-06 11:40:16 +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
Tres Finocchiaro
951663ec3d Merge pull request #1402 from mikobuntu/origin/stable-1.1
Added TR909-RimShot preset to Kicker Instrument. ( also reverted an old change i had made to zyn-globals.h )
2014-12-05 00:31:19 -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
mikobuntu
8c0ab4dfec Fixed naming of Kicker preset (RimShot to TR909-RimShot) 2014-12-04 20:55:39 +00:00
mikobuntu
762b667b47 Added TR909-RimShot preset to Kicker
:///home/mikobuntu/lmms/presets/Kicker/RimShot4.xpf
2014-12-04 19:56:54 +00:00
mikobuntu
fc6374a07b reverted changes to globals.h 2014-12-04 19:49:40 +00: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
dave
e7e8e79630 Changed default delay time to 0.5 seconds from 2.0. 2014-12-04 02:39:26 +00: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
Raine M. Ekman
c3c5501396 Master kill switch for journalling, useful when closing program. 2014-12-01 21:28:29 +02: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
Tres Finocchiaro
828dd625fa Bump version 2014-11-30 23:00:28 -05: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
4cbb2b721f Update timeline.cpp
tab added
2014-11-29 21:52:21 +02:00
Vesa V
34ce79487c Merge pull request #1367 from curlymorphic/issue1293
fix for underlying bug 1293 loop markers
2014-11-29 21:50:58 +02:00
Vesa V
1d35b61846 Merge pull request #1369 from curlymorphic/issue1347
Issue 1347 Dual filter not loaded properly? rebased to stable-1.1
2014-11-29 21:49:19 +02:00
dave
05fd71190b fix for underlying bug 1293 loop markers
initilized m_moveXoff when moving loop markers
2014-11-29 11:41:27 +00:00
dave
e84c2465ee Added checks to
if( m_dfControls.m_filter1Model.isValueChanged() || m_filter1changed )
if( m_dfControls.m_filter2Model.isValueChanged() || m_filter2changed )

so the filter types get initilized
2014-11-28 22:26:45 +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
2dd511da7d Merge pull request #1346 from Sti2nd/stable-1.1
Two new presets for Kicker
2014-11-26 14:06:43 +02:00
Vesa V
c25cf8a5cf Merge pull request #1351 from curlymorphic/stable-1.1
changed LFO amount to absolute value.
2014-11-26 14:05:21 +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
a9bc056400 Piano Roll: Don't switch to select mode when pressing Ctrl+A
Or don't act like we did. Fixes #431
2014-11-26 01:09:39 +01:00
Lukas W
394d8da286 When removing a track, remove its solo state
Fixes #1103
2014-11-26 01:09:33 +01:00
Lukas W
e7cbc55c69 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-26 01:07:53 +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
dave
9b7738dc60 changed LFO ammount to absolute value. 2014-11-25 22:38:49 +00: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
Vesa V
55c59a77bd Merge pull request #1327 from DanWin/stable-1.1
Fix most warnings and errors when generating translation files
2014-11-25 21:04:04 +02: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
Vesa V
aed82571e3 Merge pull request #1342 from Umcaruje/stable-1.1
Fix old sourceforge links, update Readme
2014-11-25 07:01:11 +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
Lukas W
e47c1242b8 Add scrollbar to instrument plugin browser
Fixes #959
2014-11-25 00:36:23 +01:00
Stian Jørgensrud
22ca36f764 Two new presets
The clap is nothing more than a dry clap. As of now there is a clap with
decay or something. I used two evenings to make the clap I wanted so I
figured other people maybe wanted a dry clap too. Of course it is
probably I who suck at adjusting knobs correctly, but I reckon there are
more of us. 😟

I probably didn't spend too much time on the kick, but as of now there
is only a trapkick in LMMS (kick with long delay), and though we agree
on that it is easy to make kicks in Kicker, it is even easier to use
existing presets and adjust a preexisting preset. So I missed a short
kick in LMMS, and so I made one.
2014-11-24 22:38:13 +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
Tres Finocchiaro
27bff6f5d3 Merge pull request #1344 from midi-pascal/stable-1.1
Stable 1.1
2014-11-23 16:16:13 -05:00
pascal
e6ca46fabb Merge branch 'stable-1.1' of https://github.com/midi-pascal/lmms into stable-1.1 2014-11-23 15:44:38 -05:00
pascal
d1e50b9f32 Bug #1335
Hide Size and Maximize options from the intrument dialog
system menu since its size is fixed.
2014-11-23 15:24:42 -05:00
Daniel Winzen
3602aa316f Move Monstro macros back to headers 2014-11-23 19:58:00 +01:00
Umcaruje
180b293ce3 Fix old sourceforge links, update Readme 2014-11-23 19:55:34 +01:00
Daniel Winzen
ad844e72a3 Also scan headers for translatable strings 2014-11-23 19:54:51 +01:00
Garrett
366e799791 More What's This messages 2014-11-23 10:31:18 -08:00
Vesa V
09f2f60af3 Merge pull request #1304 from curlymorphic/stable-1.1
Tempo synced Delay Plugin
2014-11-23 15:16:26 +02:00
Vesa V
79b1c4df37 Merge pull request #1326 from DeRobyJ/stable-1.1
Italian Loca - Grammar Fix 01
2014-11-23 13:58:42 +02:00
dave
7e780fc057 Improved ui 2014-11-23 11:20:03 +00:00
Daniel Winzen
92930b2240 Update German translation 2014-11-21 21:40:26 +01:00
Daniel Winzen
df3a03f64c Add more missing Q_OBJECT macros 2014-11-21 21:08:48 +01:00
grindhold
61a380a2d4 renamed method logError to collectErrorForUI 2014-11-21 19:02:27 +01:00
Lukas W
22ec15f2d7 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 17:04:46 +01:00
Lukas W
941ed33248 Travis: Install nsis 2014-11-21 16:58:04 +01:00
Daniel Winzen
a9a851d2f0 About dialog: Move involved tab into .ui file 2014-11-21 16:29:32 +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
Vesa V
ac35d2e1dc Merge pull request #1334 from diizy/stable-1.1
Fix logscale saving
2014-11-21 14:03:04 +02:00
Vesa
1cd3c9be2c Fix logscale saving
User-set logscale property wasn't getting saved properly in projects, fixed now
2014-11-21 13:55:32 +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
Daniel Winzen
5c0829399f Fix moc_file inclusion in cmake files
This should fix the Windows builds
2014-11-21 07:16:45 +01:00
Daniel Winzen
3ca76d40ed Add missing Q_OBJECT macros in header files
Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts":
/home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro
/home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro
...
2014-11-21 06:46:47 +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
Lukas W
733e206b44 Travis: Install nsis 2014-11-20 09:17:52 +01:00
Tres Finocchiaro
06d5ee2ec3 Bump version
Skip RC 8 and go to RC 9 to avoid confusion, since RC 8 used in tresf/releases to test a bug
2014-11-20 00:03:01 -05: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
Tres Finocchiaro
67c4f4fa14 Merge pull request #1331 from grindhold/stable-1.1
adjust height of setup_dialog for  stable-1.1

Closes #1328
2014-11-19 11:29:45 -05:00
grindhold
b09067e0b8 adjusted height of setup dialog 2014-11-19 17:10:44 +01:00
grindhold
4509bdcec6 adjusted height of setup dialog 2014-11-19 16:52:24 +01:00
dave
e0c10e030b Added linear interpolation , with help from Vesa 2014-11-18 20:38:39 +00:00
Daniel Winzen
1a1e012632 Revert "Add missing Q_OBJECT macros in header files"
This reverts commit 337003a3b0.
Seams to break Windows builds.
2014-11-18 20:20:10 +01:00
Daniel Winzen
337003a3b0 Add missing Q_OBJECT macros in header files
Fixes 20 warnings similar to the following ones when generating a translation file with e.g. "make de.ts":
/home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Class 'AutomationTrack' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:41: Class 'FxRoute' lacks Q_OBJECT macro
/home/daniel/Lmms/src/core/FxMixer.cpp:554: Class 'FxMixer' lacks Q_OBJECT macro
/home/daniel/Lmms/src/gui/widgets/MeterDialog.cpp:52: Class 'MeterDialog' lacks Q_OBJECT macro
...
2014-11-18 19:38:26 +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
DeRobyJ
7df8878cc3 Italian Loca - Grammar Fix 01
Corrected one text: "Export Tracks" had a typo
2014-11-18 17:06:43 +01: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 V
688e732276 Merge pull request #1324 from LYF610400210/patch-1
[Translation] zh.ts
2014-11-18 13:54:22 +02:00
LYF610400210
ef7e465563 [Translation] zh.ts
More translation, and the previous file is buggy (See L1005)
2014-11-18 18:08:03 +08:00
Vesa
6f963159df Merge branch 'stable-1.1'
Conflicts:
	data/locale/zh.ts
2014-11-18 10:52:40 +02:00
Vesa V
09771174f4 Merge pull request #1323 from diizy/stable-1.1
Move the denormals protection to the run() function of the thread
2014-11-18 10:49:21 +02:00
Vesa
d98c2392b2 Move the denormals protection to the run() function of the thread
The constructor was probably the wrong place to put it, run() is definitely executed in the new thread so that's where the setting should be applied I think?
2014-11-18 10:48:03 +02:00
Vesa V
b935cb0a81 Merge pull request #1322 from LYF610400210/stable-1.1
[Translation] zh.ts
2014-11-18 10:05:02 +02:00
LYF610400210
46b86e70ae [Translation] zh.ts 2014-11-18 15:39:43 +08:00
Vesa
e6938994cd Merge branch 'stable-1.1' 2014-11-18 09:22:25 +02:00
Vesa V
0037b9ade9 Merge pull request #1321 from diizy/stable-1.1
Add denormal protection to Fifowriter thread
2014-11-18 09:20:48 +02:00
Vesa
eb7343e25a Add denormal protection to Fifowriter thread 2014-11-18 09:19:56 +02:00
Tobias Doerffel
9f56ba966d Merge pull request #1296 from ma2moto/patch-2
Update ja.ts
2014-11-17 22:24:45 +01:00
dave
932d7905ba The delay buffer now resizes on sample rate change.
tidy up formatting
2014-11-17 20:10:34 +00:00
Daniel Winzen
e1bb2988a1 Move definitions to fix 26 errors which adds new translatable strings
Fixes the following 26 errors when generating a translation file with e.g. "make de.ts":
/home/daniel/Lmms/plugins/monstro/Monstro.h:69: tr() cannot be called without context
/home/daniel/Lmms/plugins/monstro/Monstro.h:70: tr() cannot be called without context
...
/home/daniel/Lmms/plugins/monstro/Monstro.h:96: tr() cannot be called without context
/home/daniel/Lmms/plugins/monstro/Monstro.h:97: tr() cannot be called without context
2014-11-17 21:00:28 +01:00
Daniel Winzen
7a5812af73 Add includes parameter to fix warnings when generating a translation file.
When generating a translation file with e.g. "make de.ts" more than 150 warnings like the following appeared.
/home/daniel/Lmms/src/tracks/Pattern.cpp:642: Qualifying with unknown namespace/class ::PatternView
/home/daniel/Lmms/src/tracks/Pattern.cpp:701: Qualifying with unknown namespace/class ::PatternView
/home/daniel/Lmms/src/tracks/AutomationTrack.cpp:40: Qualifying with unknown namespace/class ::AutomationTrack
...
2014-11-17 20:13:16 +01:00
Vesa V
e59ef2c48a Merge pull request #1319 from diizy/stable-1.1
More exp10 stuff
2014-11-17 18:56:23 +02:00
Vesa
78042ed4c5 More exp10 stuff 2014-11-17 18:55:09 +02:00
Vesa V
b37cbbb3cf Merge pull request #1318 from diizy/stable-1.1
Use exp10 instead of pow and create alias for win/mac for compat
2014-11-17 18:44:02 +02:00
Vesa
01997fe546 Use exp10 instead of pow and create alias for win/mac for compat 2014-11-17 18:43:03 +02:00
Vesa V
183c56a2b3 Merge pull request #1317 from diizy/stable-1.1
Fix drag-n-drop of logscale knobs
2014-11-17 16:17:41 +02:00
Vesa
e16b567e09 Fix drag-n-drop of logscale knobs 2014-11-17 16:15:41 +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 V
7c901d4dfd Merge pull request #1316 from diizy/stable-1.1
Some waveshaper improvements
2014-11-17 13:17:52 +02:00
Vesa
d7931fdb0d Some waveshaper improvements 2014-11-17 13:17:55 +02:00
Vesa V
c42ae751fa Merge pull request #1315 from diizy/stable-1.1
Add class RmsHelper to help with RMS
2014-11-17 12:59:57 +02:00
Vesa
415652ad25 Delete better 2014-11-17 12:45:56 +02:00
Lukas W
26415cd53e Fix segfault in FxMixerView, fix a memory leak in EffectSelectDialog
Segfault occured when moving a channel
2014-11-17 11:03:13 +01:00
Vesa
5cd67537a2 Add class RmsHelper to help with RMS
This is then used by dynamics processor for processing dynamics
2014-11-17 11:51:45 +02:00
dave
2f58d7135b moved call to delayTimeModel.value() outside of process loop 2014-11-17 01:11:17 +00:00
Lukas W
cb41f845a6 Remove obsolete slot
dynProcControls::changeControl method was removed in c51ff31b68
2014-11-16 23:14:20 +01:00
Lukas W
b8d3cd1705 Don't use exp10 2014-11-16 23:02:09 +01:00
Lukas W
495be6f828 Merge pull request #1310 from DanWin/stable-1.1
Updated German translation
2014-11-16 22:40:14 +01:00
Vesa
cd509b707b Merge branch 'stable-1.1'
Conflicts:
	src/core/main.cpp
2014-11-16 22:22:48 +02:00
Vesa V
208bfe356c Merge pull request #1312 from diizy/stable-1.1
Logscale: enabled toggling of knob scale in context menu
2014-11-16 22:20:34 +02:00
Vesa
0d129b0b93 Logscale: enabled toggling of knob scale in context menu 2014-11-16 22:19:16 +02:00
Vesa V
3c7e2acd8a Merge pull request #1311 from diizy/stable-1.1
Upgrades to plugins
2014-11-16 20:55:18 +02:00
Vesa
c51ff31b68 Dynamics processor improvements 2014-11-16 20:54:16 +02:00
Vesa
4b4469d6c2 Add denormals stripping to the main thread as well as workerthreads
Conflicts:

	src/core/main.cpp
2014-11-16 19:15:34 +02:00
Vesa
baf7c74ad7 Strip denormals 2014-11-16 19:10:02 +02:00
Vesa
bd00ecfdc3 Dualfilter updates, add double precision versions of LMMS constants 2014-11-16 18:47:01 +02:00
Lukas W
a99ea9fa6b Merge remote-tracking branch 'upstream/stable-1.1' 2014-11-16 16:41:17 +01:00
Daniel Winzen
612185a2c6 Updated German translation 2014-11-16 16:31:48 +01:00
dave
9bd758951a removed unused socket and empty function in delaycontrols 2014-11-16 15:20:26 +00:00
Vesa V
ca9e51f2a7 Merge pull request #1309 from diizy/stable-1.1
Fix bassbooster
2014-11-16 17:09:22 +02:00
Vesa
bf7b5a5d9d Fix bassbooster 2014-11-16 17:08:39 +02:00
Vesa
84c8755dcd Revert "BassBooster: Remove inline keyword"
This reverts commit 761a71f760.
2014-11-16 17:07:35 +02:00
dave
4c82ba22a9 Fixed issues with original verion, as directed in pull request.
corrected the typeo's,
 Used sampleFrame instead of float* making the code cleaner.
 Set up a socket to change the samplerate where required.
 Stopped using malloc ( yeah that was bad practice on my part ).
 Now using lmms_Math.h and the predefined versions of F_PI and F_2PI,
 I didn't know data from the knobs etc. was not updated over the course of a buffer, so have moved outside the processing loop,
 made appropriate functions inline,
 used sinf.
 Multiplication has replaced division where possible,
 zeroing of the buffer has been removed, as redundant.
2014-11-16 15:02:15 +00:00
Lukas W
761a71f760 BassBooster: Remove inline keyword 2014-11-16 15:51:45 +01:00
Lukas W
d8662e76de Remove M_PI definition, use F_PI 2014-11-16 15:22:46 +01:00
Lukas W
e66326b36b Automatic deployment for Windows builds 2014-11-16 15:22:46 +01:00
Lukas W
eed0608405 Fix win64 build 2014-11-16 15:22:46 +01:00
Lukas W
3aba823ecc Travis: No multithreading make for windows builds 2014-11-16 15:22:46 +01:00
Lukas W
7a62d0ce6f Travis: Enable multithreading, Linux, Win64 2014-11-16 15:22:46 +01:00
Lukas W
0916bc073e Fix compile errors 2014-11-16 15:22:46 +01:00
Lukas W
2c1f07d655 Travis CI: Add win32 target os
Temporarily disable Linux builds
2014-11-16 15:22:46 +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
Vesa V
f83b0957f4 Merge pull request #1305 from diizy/stable-1.1
Improvement of FxMixer multithreading
2014-11-16 15:08:10 +02:00
Vesa V
ea2e4e5b69 Merge pull request #1307 from diizy/model
Add a method to AutomatableModel that allows tracking changes without using signals/slots
2014-11-16 14:54:38 +02:00
Vesa
f8c618b0ed Modify BassBooster to show how to replace signals/slots in DSP 2014-11-16 14:51:50 +02:00
Vesa
3e19bc8ddb Add a method to track value changes in AutomatableModel - this can be used by DSP code instead of signals/slots to improve performance 2014-11-16 14:14:35 +02:00
Vesa
8ef10f4f81 More updates to FxMixer - better handling of muted channels 2014-11-16 13:46:54 +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
ca06a10a42 Fix segfault when enabling/disabling sends while playing 2014-11-15 21:11:40 +02:00
Lukas W
435f3c0f3d Merge pull request #1299 from LMMS/stable-1.1-iss1290
Disable 'Help' action in context menus when there's no help text
2014-11-15 18:54:10 +02:00
Vesa
c92774af27 Improvement of FxMixer multithreading
Use dynamic building of jobqueues with dependency counting:
- At the start, each channel that has no dependencies is added automatically to the queue
- Then, after each channel is processed, it increments the dep.counter of all its recipients
- When a channel's dep.counter hits the amount of its dependencies (senders), it gets automatically added to the queue
- The queue is finished when the master channel has been processed
- Muted channels are automatically processed at the start regardless dependencies, because they don't have to care about senders, being muted

Hopefully this will improve Fx Mixer performance.
2014-11-15 18:51:49 +02:00
Lukas W
9005dc39ca Caption menu style fix 2014-11-15 17:46:07 +01:00
dave
6d2b91054b Tempo synced Delay Plugin 2014-11-15 11:22:23 +00: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
Lukas W
70508b0c37 Don't display 'Help' action in context menus when there's no help text
Fixes #1290
2014-11-14 15:45:46 +01:00
ma2moto
f4da924211 Update ja.ts 2014-11-14 22:33:14 +09: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
df843e2b32 Merge pull request #1288 from tresf/stable-1.1
Set pitch range
2014-11-14 01:16:19 +02:00
Vesa V
4df054ae24 Merge pull request #1294 from Umcaruje/stable-1.1-uifix
Fix misalignment in Song Editor
2014-11-14 01:16:02 +02:00
Umcaruje
269bbc3dae Fix misalignment in Song Editor 2014-11-14 00:07:03 +01: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
Tres Finocchiaro
808e18f20a Set pitch range 2014-11-11 22:42:02 -05: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
d685adf73a Do not create checkpoints for moving tracks 2014-11-10 00:57:50 +02:00
Vesa V
e2911884a6 Merge pull request #1280 from DeRobyJ/stable-1.1
Italian 1.1 Loca Update
2014-11-09 13:03:32 +02:00
DeRobyJ
b6046ad2c1 Italian 1.1 Loca Update
I hope this time it will work xD
2014-11-09 11:30:37 +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
Vesa V
102db9cd50 Merge pull request #1266 from tresf/stable-1.1
Fix automation cursor position issue
2014-11-08 12:07:47 +02:00
Lukas W
9d395ac0c1 Enable C++11 2014-11-08 10:26:10 +01:00
Tres Finocchiaro
4e5d4b95a0 Typo, add missing "else" 2014-11-07 12:39:00 -08:00
Tres Finocchiaro
2a6d6c2a7e Fix Apple/Clang compilation for fmaf() 2014-11-07 12:23:39 -08:00
Tres Finocchiaro
e7721dfd78 Bump version 2014-11-07 08:30:41 -05:00
Lukas W
bf484300b6 Fix some memory leaks 2014-11-06 21:23:16 +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
Lukas W
8242ca9cac Merge branch 'Umcaruje-stable-1.1-namefix' into stable-1.1 2014-11-05 00:46:16 +01:00
Lukas W
d4a8f6c95b More name & site fixes 2014-11-05 00:41:02 +01:00
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Tres Finocchiaro
1826ced3d2 Fix automation cursor position issue 2014-11-04 00:13:38 -05: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
e801376ff4 Merge pull request #1250 from Lukas-W/stable-1.1-iss1065
Ask for saving changes before opening recent project
2014-11-02 07:40:39 +02:00
Vesa V
e7fbe3a2d4 Merge pull request #1253 from softrabbit/issue722
Make autosave file name the same for save and load
2014-11-02 07:39:20 +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
Lukas W
053862ffab Fix autosave
Fix typo made in 2e7733eaa1 while renaming
occurances of "mmp" to "datafile". This lead to a mismatch in the file name
used for saving and reading the recovery file.

Addresses #722
2014-11-02 00:22:49 +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
Raine M. Ekman
70cc80a032 Make autosave file name the same for save and load. Fix #722 2014-10-31 20:11:30 +02:00
Lukas W
c682567e4b Ask for saving changes before opening recent project
Fixes #1065
2014-10-31 13:35:54 +01:00
Tres Finocchiaro
c5349d40b9 Merge pull request #1247 from tresf/stable-1.1
New DMG background
2014-10-30 21:56:53 -04: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
Tres Finocchiaro
6c9b87f016 New DMG background
Closes #1113 (Thanks @Umcaruje)
2014-10-30 17:02:01 -04:00
Vesa V
540124bde2 Merge pull request #1244 from tresf/stable-1.1
Cherry pick @grindhold's hand cursor fix
2014-10-28 19:26:43 +02:00
grindhold
c115b83ff8 fixed hotspot of hand-cursor 2014-10-28 13:23:10 -04:00
grindhold
612abd137a fixed other occurences of hand cursor than beat-editor 2014-10-28 13:22:54 -04: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
240c0b20a6 SF2 fix? 2014-10-28 15:01:00 +02:00
Tobias Doerffel
1f9740201b Merge pull request #1236 from tresf/stable-1.1
Better name for "dummy" effects
2014-10-26 22:48:42 +01:00
Tres Finocchiaro
deae0883d2 Fix more whitespace 2014-10-24 09:13:45 -04:00
Tres Finocchiaro
6db78be8ff Fix whitespace 2014-10-24 09:13:17 -04:00
Ubuntu
f601e01811 Turn carla back on :) 2014-10-24 09:12:07 -04:00
Ubuntu
8288185dac Disable controls on "dummy" effects 2014-10-24 09:10:17 -04:00
Tres Finocchiaro
4bef367b09 Make "dummy" effects stand out in color 2014-10-23 22:00:57 -04:00
Tres Finocchiaro
849dd8a6b3 Better name for "dummy" effects 2014-10-23 21:23:13 -04: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
Tobias Doerffel
b0e12e3897 Merge pull request #1228 from ma2moto/patch-1
Patch 1
2014-10-19 18:45:55 +02: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
ma2moto
100b26a7a3 Update ja.ts 2014-10-19 19:39:55 +09:00
ma2moto
9c9036e10f Update ja.ts 2014-10-19 17:47:36 +09:00
ma2moto
f3f8f16104 Update ja.ts 2014-10-19 09:51:47 +09:00
ma2moto
2302528690 Update ja.ts 2014-10-19 09:26:34 +09:00
ma2moto
bb6130d52e Update ja.ts 2014-10-19 09:17:52 +09:00
ma2moto
8b860c4360 Update ja.ts 2014-10-19 08:56:35 +09: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
Tres Finocchiaro
7e4933541d Merge pull request #1203 from falkTX/stable-1.1
> Why isn't this applied yet?

All of the admins must be busy, sorry for the delay.
2014-10-17 13:39:35 -04:00
Lukas W
4e0c06442a Reflect project rename in code
Related to #1209
2014-10-17 16:17:40 +02:00
Vesa
ec5384c10e Fix fxmixer bug where fx chains get shut off when multiple channels are chained together 2014-10-15 20:50:32 +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
Vesa
37671b1427 Revert 2ca84c15a1 2014-10-15 20:28:40 +03:00
Tres Finocchiaro
6f6731ff9f Merge pull request #1217 from unfa/patch-1
Closes #1209
2014-10-15 11:36:27 -04:00
unfa
23d0832923 Removed the deprecated "Linux Multimedia Studio" name
Modified line 46 accorinf to https://github.com/LMMS/lmms/issues/1209
2014-10-15 17:35:23 +02:00
falkTX
9fabc0e8b6 Add background artwork for carla 2014-10-10 11:21:23 +01:00
Tobias Doerffel
d317704b27 LmmsPalette: retrieve palette properties via polishing
Fix the short palette widget popup which is annoying and not neccessary
as polishing does the same job without flicker.
2014-10-05 22:33:47 +02:00
Tres Finocchiaro
ace33aa39c Vestige Controls - Horiz Scrollbar Fix
Adds a horizontal scrollbar to VSTs Controls with longer knob labels.

Closes #1184
2014-10-03 14:42:37 -04:00
Tobias Doerffel
1e97ac3706 Merge pull request #1186 from Spekular/stable-1.1
Error Message Fixes
2014-10-03 10:31:20 +02:00
Spekular
1c591e2e54 Error Message Fixes
Can't recovery --> Can't recover
2014-10-02 17:57:24 +02:00
Tobias Doerffel
7a64d0975e AudioAlsa: fix FTBFS on non-Linux platforms
The ESTRPIPE error code is only available on Linux (and not on BSD) and
thus should only be used if defined.
2014-10-01 23:25:03 +02: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
eb2c47f81d Refreshed localization files 2014-09-30 22:55:29 +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
0055fe13b1 MidiImport: fixed plugin folder name 2014-09-30 22:50:38 +02:00
Tobias Doerffel
de45718351 Renamed pattern/patternView to Pattern/PatternView 2014-09-30 22:49:16 +02:00
Tobias Doerffel
fab7f8fea8 PianoRoll, Pattern: manage reset of currently edited pattern more reliably
Introduce one central signal in the pattern class which is emitted before
the pattern object is being destroyed. This way we can easily and more
reliably hide this pattern in the PianoRoll without any race conditions
or other glitches.

Closes #1089.
2014-09-30 22:34:01 +02:00
Tobias Doerffel
53f240852d RemoteVstPlugin: build with -ansi option
Work around a known bug in GCC headers which can lead to compile errors
in cstdlib header file when using the -m32 compiler flag.

Closes #1181.
2014-09-28 18:18:31 +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
613bcc981f README.md: stripped old full program name 2014-09-28 18:09:47 +02:00
Tobias Doerffel
75a979b9a0 Merge pull request #1174 from DaAwesomeP/master
Update Readme
2014-09-28 18:08:50 +02:00
Tobias Doerffel
534c9c1668 Merge pull request #1174 from DaAwesomeP/master
Update Readme
2014-09-28 18:07:53 +02:00
Tobias Doerffel
d39d1b3840 ZynAddSubFX: added explicit check for FLTK's fluid binary
Closes #954.
2014-09-28 18:05:31 +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
Vesa V
432d98d83d Merge pull request #1179 from Spekular/stable-1.1
Background Art Fix
2014-09-28 12:31:53 +03:00
Spekular
ee359207f4 Revert "Update .gitignore"
This reverts commit 18bd03118f.
2014-09-28 10:18:35 +02:00
Spekular
6e2d803e09 Revert "Update .gitignore"
This reverts commit e8c6062f9a.
2014-09-28 10:18:26 +02:00
Spekular
e8c6062f9a Update .gitignore 2014-09-28 10:07:10 +02:00
Spekular
18bd03118f Update .gitignore 2014-09-28 10:06:18 +02:00
Spekular
6b54a4bcc1 Background Art Fix
Fixes Background art and provides .svg source
2014-09-28 10:04:02 +02:00
Vesa V
4d7c8c2f46 Merge pull request #1155 from falkTX/stable-1.1
Initial version of Carla plugin for LMMS
2014-09-28 10:49:23 +03:00
falkTX
9f6c9d96ef Carla: Misc fixing 2014-09-27 00:31:28 +01:00
falkTX
5dddbe7c30 Pass timeInfo to Carla plugin 2014-09-26 11:58:42 +01:00
falkTX
8aa29bb4ba Add TODO items for carla 2014-09-26 10:38:05 +01:00
falkTX
b0fab3d3c2 Carla: Implement UI Save/Open for plugins; Misc fixes 2014-09-26 10:31:08 +01: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
falkTX
b88225ffc8 Carla: Fix link (rpath) and finding binary dir (needs latest carla) 2014-09-16 17:22:23 +01:00
Vesa V
3980239d26 Merge pull request #1154 from Sti2nd/stable-1.1
Corrected name error in Cool Songs and added Popsip-Electric Dancer
2014-09-14 22:34:12 +03:00
Stian Jørgensrud
af1b351dd2 Added Popsip-Electric Dancer to CoolSongs 2014-09-14 21:09:45 +02: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
falkTX
849d08c6ef Initial version of Carla plugin for LMMS 2014-09-11 16:54:31 +01:00
Stian Jørgensrud
09656a46e7 Corrected name error in Cool Songs
From Skeissi to Skiessi
2014-09-11 11:54:58 +02:00
Vesa
498d939e76 Merge branch 'stable-1.1' 2014-09-10 00:43:32 +03:00
Vesa V
90259a1512 Merge pull request #1149 from diizy/stable-1.1
Fix channel send connections
2014-09-10 00:41:15 +03:00
Vesa
44993319eb Fix channel send connections
Fix #1147
Backwards compat should be maintained.
2014-09-10 00:40:29 +03:00
Vesa
bf6659fbb1 Merge branch 'stable-1.1'
Conflicts:
	src/gui/FileBrowser.cpp
2014-09-09 23:55:39 +03:00
Tobias Doerffel
5bbd79de0f Merge pull request #1145 from krafczyk/fix_for_doubleclick_knob_bug
Fix for doubleclick knob bug
2014-09-09 20:11:33 +02:00
Matthew Krafczyk
e20e863a99 Change isJournallingStackEmpty to isJournallingStateStackEmpty 2014-09-09 20:08:14 +02:00
Matthew Krafczyk
0cdfd7c354 Fix syntax a bit. 2014-09-09 17:15:54 +02:00
Matthew Krafczyk
32eae51128 Made isEmpty function name more specific. Moved doubleclick fix to restoreJournallingState. 2014-09-09 17:07:40 +02:00
Matthew Krafczyk
c628387cd2 Make syntax for fix more consistent with existing code. 2014-09-09 01:39:08 +02:00
Matthew Krafczyk
00086c9f20 Merge branch 'stable-1.1' into fix_for_doubleclick_knob_bug 2014-09-09 01:19:58 +02:00
Matthew Krafczyk
84895a4f79 Fix for 'Crash double-clicking any knob in debug build (git master) (#948)'
Conflicts:
	src/gui/widgets/knob.cpp
2014-09-09 01:14:19 +02:00
Tres Finocchiaro
9a80205407 Merge pull request #1143 from tresf/stable-1.1
(Apple only) WANT_SF2 OFF, Disable Zyn GUI
2014-09-08 12:54:06 -04:00
Ubuntu
74e53f8354 Set "WANT_SF2" to "OFF" for Apple 2014-09-08 12:35:57 -04:00
Tres Finocchiaro
e17e84266d Fix bad #ifdef, make ANSI compliant
`#elif  LMMS_BUILD_APPLE` is not correct, it should be `#elif defined(LMMS_BUILD_APPLE)`
2014-09-08 11:24:39 -04:00
Tres Finocchiaro
adc134bbca Merge pull request #1142 from tresf/stable-1.1
(Apple only) Re-enable OPL2, Disable SF2
2014-09-08 11:14:38 -04:00
Ubuntu
40f640951c Disable "Show GUI" button on Apple to prevent crash 2014-09-08 11:13:50 -04:00
Ubuntu
d95fea2d3f Re-enable OPL2 on Apple, Disable SF2 2014-09-08 10:53:59 -04:00
Tres Finocchiaro
7fdb52c172 Merge pull request #1141 from tresf/stable-1.1
Fix AFP crash, bump version

Tested by @DeRobyJ, merging.
2014-09-08 10:33:39 -04:00
Ubuntu
c01799e998 Fix AFP crash, bump version 2014-09-08 09:26:50 -04:00
Vesa V
02dd2cf63f Merge pull request #1139 from Umcaruje/stable-1.1-newpresets
New presets for Monstro, Bitinvader, Watsyn and Kicker.
2014-09-08 06:01:48 +03:00
Vesa V
13928eb4d9 Merge pull request #1138 from tresf/stable-1.1
Fix win32 compilation
2014-09-08 06:01:20 +03:00
Umcaruje
97c903e76c Added some presets for Monstro, Bitinvader, Watsyn and Kicker. 2014-09-08 00:14:02 +02:00
tresf
a278505cda Fix win32 compilation 2014-09-07 17:41:53 -04:00
Vesa V
619f912d12 Merge pull request #1136 from tresf/stable-1.1
Make start/end/loop knobs responsive to each other
2014-09-07 23:54:49 +03:00
Tres Finocchiaro
2ca84c15a1 Invert loop button pixmaps 2014-09-07 16:30:53 -04:00
Tres Finocchiaro
b33eceda7e Make loop end move with sample end 2014-09-07 16:20:17 -04:00
Tres Finocchiaro
dc681604e0 Make start/end/loop knobs all responsive 2014-09-07 16:02:52 -04:00
Tobias Doerffel
84f711fb2c Merge pull request #1131 from Lukas-W/stable-1.1-iss1058
Change Sidebar file browser root to `/Volumes` on OS X
2014-09-03 16:37:10 +02:00
Lukas W
876642c342 FileBrowser rename fixes 2014-09-03 11:43:40 +02:00
Lukas W
efacfdfae9 Rename file_browser.* to FileBrowser.* 2014-09-03 11:29:25 +02:00
Lukas W
5245f6181c Apply new coding conventions to file_browser.h 2014-09-03 11:19:45 +02:00
Lukas W
42cd21a943 Change sidebar root to /Volumes on OS X 2014-09-03 11:06:56 +02:00
Vesa
c2d7cf787e Merge branch 'stable-1.1'
Conflicts:
	include/Plugin.h
	src/core/Plugin.cpp
2014-09-02 16:59:04 +03:00
Tobias Doerffel
f07287c771 Added support for profile command line option 2014-09-02 11:21:11 +02:00
Tobias Doerffel
8628bcc77b Mixer: integrated MixerProfiler 2014-09-02 11:20:52 +02:00
Tobias Doerffel
e1664b106c MixerProfiler: initial simple implementation 2014-09-02 11:19:57 +02:00
Tobias Doerffel
c4f2311032 LadspaEffect/CMT: remove unused variables and useless assignments for better Clang compatibility 2014-09-01 16:24:48 +02:00
Tobias Doerffel
a1d6adfe10 LadspaEffect/SWH: remove unused variables and useless assignments for better Clang compatibility 2014-09-01 16:24:20 +02:00
Tobias Doerffel
d85f649897 Nes/NesObject: remove unused m_fpp variable 2014-09-01 16:23:33 +02:00
Tobias Doerffel
c400c9ba4d LadspaEffect/CALF: Clang compatibility fixes 2014-09-01 16:22:54 +02:00
Tobias Doerffel
0ef3d6c1f6 FxMixerView: declare as class for consistency with friend declaration later 2014-09-01 14:59:30 +02:00
Tobias Doerffel
124c835cda LadspaEffect/CALF: enable inline flags for GCC only 2014-09-01 14:57:39 +02:00
Tobias Doerffel
f3a890edd0 Organic: remove unused member variable 2014-09-01 14:26:54 +02:00
Tobias Doerffel
70ef29981f Plugin: remove unused base64.h header 2014-09-01 14:23:31 +02:00
Tobias Doerffel
feba89354b Plugin: cleanup & coding style fixes 2014-09-01 14:18:45 +02:00
Tobias Doerffel
89a363741a Plugin: use qWarning() instead of printf() 2014-09-01 14:03:51 +02:00
Tobias Doerffel
1c289b0726 Plugin: use QFileInfo::baseName() 2014-09-01 14:00:32 +02:00
Tobias Doerffel
dcdc8d9e3e Added first Monstro preset 2014-09-01 13:37:43 +02:00
Tobias Doerffel
5572cdde64 Merge pull request #1126 from tresf/stable-1.1
Win64 fix for missing _isnanf
2014-09-01 12:16:28 +02:00
Tobias Doerffel
81ca7b157b Merge pull request #1127 from StakeoutPunch/stable-1.1
More Presets
2014-09-01 12:15:54 +02:00
StakeoutPunch
f24b82ae62 More Presets
LB302:
-AcidLead
-AngryLead
-DroneArp
Organic:
-Pwnage
-Rubberband
SID:
-Bass
-CheesyGuitar
-Lead
-MadMind
-Overdrive
-Pad

No presets of any kind were removed or otherwise changed.
2014-09-01 00:43:37 -05:00
tresf
807d3af68c Win64 fix for missing _isnanf 2014-09-01 00:35:48 -04:00
Vesa V
e915bab433 Merge pull request #1100 from StakeoutPunch/stable-1.1
Updated 3OSC Presets
2014-08-31 08:05:04 +03:00
StakeoutPunch
f05bff157d Added back stuff
AmazingBubbles (NC), Freaky-Bass (NC), SawReso (Tweaked), TranceLead
(NC). Removed stupid readme file I added earlier and forgot to delete.
2014-08-30 23:28:17 -05:00
StakeoutPunch
7ca9dfb065 Added percussion presets (5 total)
Added Drums_HardKick, Drums_Kick (Vesa's tutorial kick) Drums_HihatO,
Drums_HihatC, Drums_Snare
2014-08-30 23:09:50 -05:00
Vesa V
08abdd0468 Merge pull request #1117 from Sti2nd/revert-1116-revert-1015-stable-1.1
Revert "Revert ""What is this" additions by @musikBear #896""
2014-08-30 08:44:23 +03:00
Stian Jørgensrud
83ed94f509 LAST 2014-08-30 02:02:09 +02:00
Stian Jørgensrud
b526e5676a Trying again, and again
Latest revision.
2014-08-30 01:39:36 +02:00
Stian Jørgensrud
3c809c8d64 Revert "Revert ""What is this" additions by @musikBear #896"" 2014-08-30 01:36:47 +02:00
Vesa V
243befffa9 Merge pull request #1116 from Sti2nd/revert-1015-stable-1.1
Revert ""What is this" additions by @musikBear #896"
2014-08-30 02:12:47 +03:00
Stian Jørgensrud
d28195f9bc Just updated based on mrBears wonderful work 2014-08-30 01:11:15 +02:00
Stian Jørgensrud
b1e556f263 Revert ""What is this" additions by @musikBear #896" 2014-08-30 00:52:13 +02:00
Vesa V
23f720f81b Merge pull request #1115 from LMMS/stable-1.1
sync
2014-08-30 01:46:52 +03:00
Tobias Doerffel
2f42462ee3 ConfigMgr: skip message boxes when in non-GUI mode
When rendering on command line do not display message boxes as LMMS
crashes otherwise.

Closes #1059.
2014-08-30 00:06:24 +02:00
Tobias Doerffel
1d3fb115bb Merge pull request #1015 from tresf/stable-1.1
"What is this" additions by @musikBear #896
2014-08-29 23:54:30 +02:00
Tobias Doerffel
b6a3653c16 Merge pull request #1112 from LMMS/stable-1.1-iss1058
FileDialog: Add `/Volume` directory on OS X
2014-08-29 23:53:23 +02:00
Lukas W
fad89f68ce FileDialog: Add OS X Volume directory fix 2014-08-29 23:03:18 +02:00
Lukas W
c002af57ec FileDialog: Add /Volume directory on OS X
See issue #1058
2014-08-29 18:22:09 +02:00
Vesa V
52c18dc3c1 Merge pull request #1107 from LMMS/stable-1.1
sync
2014-08-28 06:28:36 +03:00
Vesa V
4e33fc911e Merge pull request #1106 from diizy/stable-1.1
Monstro: more optimization
2014-08-28 06:28:04 +03:00
Vesa
c1acd66d25 Monstro: more optimization 2014-08-28 06:28:14 +03:00
Vesa V
c7a7686fa6 Merge pull request #1101 from Baegus/patch-1
A lot of new and some updated Czech translations
2014-08-27 01:18:17 +03:00
StakeoutPunch
4488977132 Add back SpaceBass 2014-08-26 17:02:46 -05:00
Jaroslav Petrnoušek
6edb5e409a Some more added translations
Mainly the more visible ones
2014-08-26 23:04:33 +02:00
Jaroslav Petrnoušek
0b28e6c85d A lot of new and some updated Czech translations
see diff
2014-08-26 22:42:52 +02:00
StakeoutPunch
0200cb79b6 Newer folder structure 2014-08-26 10:46:24 -05:00
StakeoutPunch
e84db70722 New folder structure 2014-08-26 10:42:58 -05:00
StakeoutPunch
7c0e7b6c6c Update 3OSC Presets 2014-08-26 01:18:31 -05:00
Vesa V
6304104506 Merge pull request #1095 from LMMS/stable-1.1
sync
2014-08-24 17:15:28 +03:00
Vesa V
6b00d8be9b Merge pull request #1094 from diizy/stable-1.1
Monstro: optimize
2014-08-24 17:13:25 +03:00
Vesa
956a698d20 Monstro: optimize
use stack for rendering envs/lfos - this allows us to render them in advance which in turn seems to allow better optimizations by compiler
2014-08-24 17:12:53 +03:00
Vesa V
68c409df33 Merge pull request #1084 from caoliver/stable-1.1
Fix stuck notes on panic or all-notes-off.
2014-08-24 11:08:59 +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
759c3e1cb7 Use stack allocation in srccpy 2014-08-21 18:40:29 +03:00
Christopher A. Oliver
59099c14f2 Fix stuck notes on panic or all-notes-off. 2014-08-20 22:49:06 -04:00
Tobias Doerffel
b5db8e7bad Pattern: disconnect PianoRoll before clearing current pattern
Closes #1083.
2014-08-20 20:29:04 +02: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
ff3c4da802 InstrumentTrack: fixed whats-this text 2014-08-18 23:22:01 +02:00
Tobias Doerffel
327aaee695 Song, InstrumentTrack: use DataFile::LocaleHelper
Always save projects and presets with default C locale in order to avoid
problems in the future. At the same time properly load floating point
strings which have been saved with different locale settings.

Closes #1051.
2014-08-18 23:21:50 +02:00
Tobias Doerffel
a09fd51060 DataFile: added nested LocaleHelper class
In order to address issues with differently coded floating points in
strings provide a helper class which can be instantiated when loading
or saving data.
2014-08-18 23:17:47 +02:00
Tobias Doerffel
d1658a40cb Manually clean XML data in preset files
Removed old attributes which are not processed anymore.
2014-08-18 22:19:18 +02:00
Tobias Doerffel
a499670ee2 Upgraded all presets
Rewrite all preset files with the current version so we can drop some
compat code in DataFile::upgrade() in the future.
2014-08-18 22:07:34 +02:00
Tobias Doerffel
86f3854782 DataFile: write new header information only for song projects
No need to write these for presets etc.
2014-08-18 22:02:16 +02:00
Tobias Doerffel
d037b9d2ed DataFile: also update meta data when upgrading XML document 2014-08-18 22:01:41 +02:00
Tobias Doerffel
04f198055f Merge pull request #1077 from zm1990s/stable-1.1
add Chinese Translations.
2014-08-17 11:54:21 +02:00
Tobias Doerffel
311d290b32 Added support for building for Win32/Win64 with Qt5 2014-08-16 17:20:00 +02:00
Vesa
1b4b34d96b Bump version 1.0.93 2014-08-16 10:05:46 +03: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 V
7e7d4d7bfd Merge pull request #1074 from cubician/stable-1.1
Project Files
2014-08-16 09:57:06 +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
zm1990s
74f3f62bf4 update Chinese 2014-08-15 10:02:23 +08:00
Ian Sannar
0e95a8ceab Remove OldStuff
Got rid of all but 2 of the songs in OldStuff.
Kept Skeissi-RandomProject12345 because it's cool.
Kept TobyDox-Psycho because it was the first song made in LMMS.
2014-08-14 11:24:33 -06: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
Ian Sannar
ce0a56a482 Project Files
Organized, Debugged and Converted everything so it's ready to go for
LMMS 1.1.
2014-08-14 08:42:12 -06: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 V
4a0c78387e Merge pull request #1060 from diizy/midifix
Fix autodetect of midicontroller
2014-08-07 11:38:10 +03:00
Vesa
a138b71ab5 Fix autodetect of midicontroller
Fix #999
2014-08-07 11:36:28 +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
5add4eece4 Merge pull request #1046 from tresf/patch-2
Allow uppercase letters in ladspa file names
2014-07-30 18:49:34 +03:00
Tres Finocchiaro
e1b1270695 Allow uppercase letters in ladspa file names
Per #1041

Tested against unfa-spoken.mmpz (uses dozens of LADSPA effects).
2014-07-30 10:53:47 -04:00
Vesa V
3bbb81cf24 Merge pull request #1036 from LMMS/stable-1.1
sync
2014-07-27 19:36:37 +03:00
Vesa V
35798119af Merge pull request #1035 from diizy/stable-1.1
Monstro: optimize
2014-07-27 19:36:08 +03:00
Vesa
c266e7b88e Monstro: optimize
Rewrote handling of modulators so that we don't have to allocate extra buffers for every note - should improve performance and make cpu usage more consistent
2014-07-27 19:34:41 +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
e8b4b6aa75 Merge pull request #1031 from DeRobyJ/stable-1.1
Italian Localization Update
2014-07-27 01:15:41 +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
DeRobyJ
5788e70d47 Italian Localization Update
All the strings present in the source are updated.
2014-07-26 16:02:44 +02:00
Vesa V
07a0f46c82 Merge pull request #1030 from LMMS/stable-1.1
sync
2014-07-26 16:28:01 +03:00
Vesa V
04a3806e23 Merge pull request #1029 from diizy/stable-1.1
AFP improvements
2014-07-26 16:27:15 +03:00
Vesa
9562f68277 AFP improvements
- Stop pointlessly reloading the sample everytime the amp knob is changed
- Also draw the amplitude of the waveform correctly (used to be it was drawn as 2x too "quiet")
2014-07-26 16:25:01 +03:00
Vesa V
ea50d7c011 Merge pull request #1028 from diizy/stable-1.1
Change redo shortcut from ctrl-r to ctrl-y
2014-07-26 14:47:57 +03:00
Vesa
37fa46792a Change redo shortcut from ctrl-r to ctrl-y
Ctrl-y is more standard and used in many applications, ctrl-r is used pretty much nowhere.
2014-07-26 14:46:30 +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
TonyChyi
3ebea19180 Add Chinese translation 2014-07-25 23:46:13 +08:00
Vesa V
925d29934d Merge pull request #1023 from grejppi/stable-1.1-recentlist
configManager: save config every time recent project list is updated
2014-07-25 11:46:58 +03:00
Hannu Haahti
be2e235c7a configManager: save config every time recent project list is updated
fixes #1014
2014-07-25 10:42:50 +03:00
Tobias Doerffel
1b8243ccac Updated ZynAddSubFX instrument presets
Taken from upstream repository with HEAD at 7e14a008bdc671341843ea720ed.
2014-07-24 00:06:51 +02:00
Vesa V
7e5359af96 Merge pull request #1019 from diizy/gfx
Fix bbtrack undo/redo bug
2014-07-23 12:32:07 +03:00
Vesa
cf3862ec5c Fix bbtrack undo/redo bug
Fix #790
2014-07-23 12:29:45 +03:00
Vesa V
64dc7bb58e Merge pull request #1016 from diizy/gfx
Monstro: add newlines to helptexts
2014-07-22 20:16:18 +03:00
Vesa
2469196c33 Monstro: add newlines to helptexts 2014-07-22 20:13:06 +03:00
Tres Finocchiaro
46c92ef27f Update PianoRoll.cpp 2014-07-22 12:37:26 -04:00
Tres Finocchiaro
1faaa932cc Formatting fixes 2014-07-22 12:30:38 -04:00
Ubuntu
bca5ce8d7f "What is this" additions by @musikBear #896 2014-07-22 12:18:31 -04:00
Vesa V
ec67d6b40a Merge pull request #1005 from diizy/stable-1.1
Add "clear track" option, fix copying of tracks from song ed -> bb ed
2014-07-18 11:23:06 +03:00
Vesa
dacb8adc4c Add "clear track" option, fix copying of tracks from song ed -> bb ed
- Tracks copied from song->bb will no longer be unusable
- Since doing this required creating a "delete TCOs from track" function, I also added the option to trackops menu to clear a track
Fix #757
2014-07-18 11:18:10 +03:00
mikobuntu
9635232b45 Update globals.h 2014-07-17 20:10:25 +01: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
d014c2bb2e Merge pull request #997 from diizy/mixer-opt2
Improve performance of effect processing, fix autoquit bugs
2014-07-17 02:01:53 +03:00
Vesa
1a2351bbd0 Improve performance of effect processing, fix autoquit bugs
Also a slight NPH tweak
2014-07-17 01:48:24 +03:00
Tobias Doerffel
7b279d3f85 Pattern: add undo/redo support for "Clear all notes" operation in context menu
Simply add a journal checkpoint before clearing pattern.
2014-07-16 23:46:47 +02:00
Tobias Doerffel
a12774f50d ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

The current code is based on version 2.4.4 of ZynAddSubFX.

HEAD: 9a993c4936ce987bb30f93eee2a573466ece3712
2014-07-16 23:36:05 +02:00
Vesa V
330ff65f62 Merge pull request #996 from ruggiero/stable-1.1
Bug that prevented compilation in Debian testing (jessie)
2014-07-15 23:45:11 +03:00
Rafael Ruggiero
ad35c553b3 Update surround_encoder_1401.c 2014-07-15 17:42:01 -03:00
Rafael Ruggiero
f91925f34a Update bode_shifter_cv_1432.c 2014-07-15 17:41:07 -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 V
dbb1418ad6 Merge pull request #991 from diizy/stable-1.1
Mixer: optimize peak value measuring functions
2014-07-14 21:56:17 +03:00
Vesa
5ed8f70633 Mixer: optimize peak value measuring functions 2014-07-14 21:49:34 +03:00
Vesa V
6c72804aa4 Merge pull request #990 from diizy/stable-1.1
InstrumentSoundShaping: ensure that release time is never longer than th...
2014-07-14 18:41:51 +03:00
Vesa
8a35a57efa InstrumentSoundShaping: ensure that release time is never longer than the volume envelope, if volume envelope is active
This saves CPU on certain instruments, like Monstro.
There's no point in running the note beyond the end of the volume envelope, ever, so let's not do that.
2014-07-14 18:17:02 +03:00
Vesa V
1eed43c55e Merge pull request #988 from diizy/stable-1.1
Add safeguard for beat pattern wheelevent
2014-07-14 00:39:07 +03:00
Vesa
d4e30d5ff8 Add safeguard for beat pattern wheelevent
Fix #963
2014-07-14 00:37:43 +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
5978cd597e Merge pull request #986 from diizy/stable-1.1
Sanitize master output
2014-07-13 22:13:45 +03:00
Vesa
e06c281132 Sanitize master output
Replace any inf/nan in master output with zero, to prevent corrupted files/audio.
2014-07-13 22:11:17 +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
e8d80c1ddf Merge pull request #969 from tresf/patch-1
Fix relative VST paths on Windows
2014-07-11 01:10:51 +03:00
Vesa V
59b6df467e Merge pull request #966 from diizy/stable-1.1
ProjectJournal: cap the number of undo states to prevent infinite memory...
2014-07-10 14:25:44 +03:00
Vesa
4855634bf4 ProjectJournal: cap the number of undo states to prevent infinite memory buildup
The cap is hardcoded to 100 for now, TODO: make this number configurable (or even better: use a max. memory amount instead of max number of states)
2014-07-10 14:22:40 +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
Vesa V
31c8ea4394 Merge pull request #964 from diizy/stable-1.1
Effect plugins: don't set modified flag on control changes
2014-07-10 12:42:02 +03:00
Vesa
a82bcb1759 Effect plugins: don't set modified flag on control changes
Fixing a bit of a silly error made by me, all control changes on my effect plugins were flagging the project as modified, which is annoying with automations etc. So I'm disabling it. Maybe later we can have flagging only when knobs are modified manually.
2014-07-10 12:39:02 +03:00
Tobias Doerffel
5a28f4ada0 Merge remote-tracking branch 'origin/stable-1.1' 2014-07-09 23:02:28 +02:00
Tobias Doerffel
1b4ce136c9 Merge branch 'stable-1.0' into stable-1.1 2014-07-09 23:01:36 +02:00
Tobias Doerffel
e0779fa6f8 VstBase: include 32 bit version of libwinpthread DLL for RemoteVstPlugin32
This is required with latest mingw-x-runtime packages.
2014-07-09 23:00:44 +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
Ubuntu
858033c0c7 Fix relative VST paths on Windows 2014-07-08 15:56:20 -04: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
26d1d3b077 Merge pull request #952 from tresf/patch-1
Prevent changing vertical size on fx mixer
2014-07-08 19:45:29 +03:00
Tres Finocchiaro
27b7d36181 Prevent changing vertical size on fx mixer 2014-07-08 12:43:52 -04: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
Tobias Doerffel
97bb80b9b1 Merge branch 'stable-1.0' into stable-1.1
Conflicts:
	CMakeLists.txt
	README
	lmms.rc.in
2014-07-06 13:56:44 +02:00
Tobias Doerffel
8122041d65 Install winpthreads DLL
Install winpthreads DLL for inclusion in Win32/Win64 installer. Requires
latest version of mingw-x-runtime packages (>=3.1.0).
2014-07-06 13:52:51 +02:00
Tobias Doerffel
6711f5d291 Added support for winpthreads library
Recent builds of MinGW64 runtime include the winpthreads library which
is not linked statically anymore and thus doesn't required non-portable
(de-)initialization function calls.
2014-07-06 13:52:32 +02:00
Tobias Doerffel
ab55b26e4b SWH/BodeShifterCV: fix out-of-bounds array access
The xcoeffs array only has 100 elements and thus accessing xcoeffs[100]
leads to undefined behaviour.
2014-07-05 17:47:49 +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
ddae5a8446 Merge pull request #932 from diizy/stable-1.1
SF2: Remove superfluous API call that sets period size for audio backend
2014-07-05 16:31:37 +03:00
Vesa
88c546275b SF2: Remove superfluous API call that sets period size for audio backend
We don't use any audio backend with fluidsynth, so there's no need to set a period size for it.
2014-07-05 16:29:59 +03:00
Vesa V
bc888f6e4c Merge pull request #931 from diizy/gfx
LB302: Remove the non-functional Accent button from the UI, pending real...
2014-07-05 11:48:58 +03:00
Vesa
066a9c9f92 LB302: Remove the non-functional Accent button from the UI, pending real implementation 2014-07-05 11:46:53 +03:00
Tobias Doerffel
b9d99c9c19 Merge pull request #928 from tresf/stable-1.0
Backport to 1.0 branch - Fix Zyn GUI hard crash on Win32
2014-07-03 22:55:45 +02:00
Tres Finocchiaro
71a9f94a4b Fix Zyn GUI hard crash on Win32
I can't explain why @tobydox doesn't have to do this in his builds but committing to push ahead with 1.0.3
2014-07-03 14:21:14 -04:00
Vesa V
0a97406c80 Merge pull request #926 from diizy/stable-1.1
Fix styling of textFloat & whatsthis, make text floats consistent in sty...
2014-07-03 14:12:38 +03:00
Vesa
06b47a52a2 Fix styling of textFloat & whatsthis, make text floats consistent in style with tooltips
Should fix #925
2014-07-03 14:09:31 +03:00
Vesa V
6ae2a11c53 Merge pull request #923 from diizy/stable-1.1
Update Zyn from repo, bump version
2014-07-02 23:40:51 +03:00
Vesa V
3c3d43c6e8 Merge pull request #922 from diizy/stable-1.0
Bump version to 1.0.3
2014-07-02 23:40:16 +03:00
Vesa
3ca971f9e7 Update Zyn from repo, bump version 2014-07-02 23:32:41 +03:00
Vesa
67a56c6f48 Bump version to 1.0.3 2014-07-02 21:38:19 +03:00
Vesa V
f3419648cf Merge pull request #916 from diizy/stable-1.1
Sync with Zyn repository - includes a GUI fix, also a fix to RemoteZynAd...
2014-07-02 09:44:10 +03:00
Vesa V
dca67b4313 Merge pull request #919 from tresf/stable-1.1
CMake/NSIS copy missing dlls
2014-07-02 09:43:28 +03:00
Tres Finocchiaro
d3a1a2a441 Fix win32 missing dlls
For bug #892 on `stable-1.1`
2014-07-01 17:57:59 -04:00
Vesa
bcbf54150f Add zyn makefiles to gitignore 2014-07-02 00:12:25 +03:00
Vesa V
5aa5b64b52 Merge pull request #918 from tresf/stable-1.1
Fix win32 build error caused by #913
2014-07-01 09:34:35 +03:00
Tres Finocchiaro
63a5a16cd0 isinf and isnan declarations win32/apple 2014-06-30 23:21:17 -04:00
Tres Finocchiaro
20b63ea6c4 Moved isnan/isinf compat code to lmms_math.h 2014-06-30 23:19:04 -04:00
Vesa
71c1bf7dd8 Sync with Zyn repository - includes a GUI fix, also a fix to RemoteZynAddSubFx 2014-06-30 15:18:41 +03:00
Vesa V
e99be7fb77 Merge pull request #914 from diizy/stable-1.1
Trailing spaces
2014-06-30 13:07:09 +03:00
Vesa
ec495716f4 Trailing spaces 2014-06-30 13:04:48 +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 V
4143fc95e4 Merge pull request #912 from LMMS/stable-1.0
Syncing...
2014-06-30 12:47:24 +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 V
7429e752f0 Merge pull request #910 from diizy/stable-1.1
Math, Monstro
2014-06-29 13:28:27 +03:00
Vesa
dd65d48318 Monstro: improve accuracy of env release 2014-06-29 13:27:29 +03:00
Vesa
005bf69705 Lmms_math: add dBV conversion functions (for future use) 2014-06-29 13:08:49 +03:00
Vesa V
fd6747a177 Merge pull request #909 from diizy/stable-1.1
Some fixes: StereoEnhancer, Midievents
2014-06-29 10:42:44 +03:00
Vesa
fe3c5a9aa4 Use channel -1 for GUI-generated MIDI events, fixes #807 2014-06-29 10:19:28 +03:00
Vesa
edc97edb9e DspEffectLibrary: fix stereoenhancer 2014-06-29 09:55:16 +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
Tobias Doerffel
0447e0fe44 Merge pull request #895 from diizy/filters
basic_filters: optimize RC highpass & bandpass filters
2014-06-28 11:55:47 +02:00
Tobias Doerffel
e6ffb6cd35 Merge pull request #902 from diizy/fxmixer
FxMixer: rewrite mixer routing
2014-06-28 11:55:18 +02:00
Vesa
0058b1064f Update channel send model names properly 2014-06-28 10:06:52 +03:00
Vesa
31b82fe50b Receive arrow 2014-06-27 23:19:06 +03:00
Vesa
9243d94484 Fix qstring arg 2014-06-27 23:17:21 +03:00
Vesa
d9d085d14e FxMixer: rewrite mixer routing 2014-06-27 18:21:18 +03:00
Vesa V
82ee04c406 Merge pull request #897 from diizy/whatsthis
What's this strings for Monstro
2014-06-26 19:23:47 +03:00
Vesa
92544a7932 What's this strings for Monstro 2014-06-26 19:21:16 +03:00
Vesa
27383f91b7 basic_filters: replace div with mul 2014-06-26 13:18:00 +03:00
Vesa
ba700399da basic_filters - even more optimization
Use more efficient interpolation, optimize some calculations
2014-06-26 13:15:20 +03:00
Vesa
d6809b45c1 basic_filters: further optimization
Use qBound in formant, and return early from calcFilterCoeffs so we don't do needless calculations
2014-06-26 12:41:35 +03:00
Vesa
d166212d49 basic_filters: optimize RC highpass & bandpass filters
For both RC12 and RC24 filter types: handle lowpass separately, because we can then calculate highpass & bandpass with less operations.
This shouldn't affect the performance of lowpass, but probably will make highpass and bandpass a bit faster.
2014-06-25 20:43:34 +03:00
Raine M. Ekman
7921a326f7 Add loading of artwork in other formats as well as .png 2014-06-24 22:44:47 +03:00
Tobias Doerffel
5659aa10e1 Merge pull request #886 from diizy/gfx
FxMixerView, FxLine: graphics & layout fixes
2014-06-24 20:56:06 +02:00
Vesa
a463594bb2 FxMixerView, FxLine: graphics & layout fixes 2014-06-24 21:07:15 +03:00
Vesa V
77230c07da Merge pull request #885 from diizy/gfx
Monstro waveform icons updated
2014-06-24 20:28:37 +03:00
Vesa
61cca2b513 Monstro waveform icons updated 2014-06-24 20:27:25 +03:00
Tobias Doerffel
c1d2b96c8c Merge pull request #882 from DeRobyJ/stable-1.0
Italian Localization Update
2014-06-23 23:14:18 +02:00
Vesa
4185eac023 Merge branch 'stable-1.1'
Conflicts:
	src/core/AutomatableModel.cpp
2014-06-23 22:10:27 +03:00
DeRobyJ
46bb1411d4 Italian Localization Update
I've updated the Italian translation of the program using Qt linguist.
2014-06-23 20:31:36 +02:00
Tobias Doerffel
1287aec800 Merge pull request #875 from diizy/logs
Logscale models: fix all issues and finalize the implementation
2014-06-21 23:43:05 +02:00
Tobias Doerffel
54f1beb056 Merge pull request #877 from diizy/stable-1.0
SF2 player: fix playback issues
2014-06-21 23:39:57 +02:00
Yann Collette
86e584474a when using gcc-4.8.2, desactivate -Werror due to a regression 2014-06-21 23:33:39 +02: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
6d8890b4ff Merge remote-tracking branch 'origin/stable-1.0' into stable-1.1 2014-06-21 23:29:32 +02:00
Vesa
87c4f9c7f2 SF2 player: fix playback issues
Changing the velocity after noteon doesn't really seem to work on fluidsynth (may be dependent on soundfont file) - seems like the panning changes when velocity is changed.
So I disabled that, after which everything works fine.
2014-06-21 11:21:25 +03:00
Vesa
f7042977a9 Logscale: Fix negative ranges
This fixes errors that happen on models that have both logarithmic scale and a range that goes to the negative.
2014-06-21 10:56:28 +03:00
Vesa
8da423412c Remove unneeded function 2014-06-20 23:01:38 +03:00
Vesa
14909bdf1b Log scales finalized 2014-06-20 22:46:10 +03:00
Tobias Doerffel
737839164a Merge pull request #868 from diizy/gfx
FxMixer GUI updates, fix disappearing effects
2014-06-20 11:42:25 +02:00
Vesa V
fbcd436066 Merge pull request #870 from diizy/watsyn
Watsyn updates
2014-06-20 02:59:29 +03:00
Vesa
b4f0c73beb Watsyn updates 2014-06-20 02:57:33 +03:00
Vesa
83cc446807 FxMixerView: fix disappearing effects 2014-06-19 22:17:59 +03:00
Vesa
4bcbb1abcc FxMixer GUI updates: code 2014-06-19 17:59:37 +03:00
Vesa
29c7894993 FxMixer GUI updates: graphics
Also fixed size of whatsthis
2014-06-19 17:59:36 +03:00
Tobias Doerffel
e0dcd1c352 Merge pull request #863 from tresf/stable-1.1
Allow vertical resize for VST Plugin Control Window
2014-06-19 09:55:07 +02:00
Tobias Doerffel
ceec0b175c Merge pull request #861 from diizy/lb302
LB302: Correct slide for samplerate
2014-06-19 09:54:52 +02:00
Tobias Doerffel
b24fa4757c Merge pull request #866 from diizy/stable-1.1
Fix stuck notes on notestacking
2014-06-19 09:54:31 +02:00
Vesa
0237da44b5 ... somehow didn't notice the already existing engine::mixer()->lock() there... 2014-06-19 00:38:48 +03:00
Vesa
0f03219c93 Fix stuck notes on notestacking
Fixes #865. Added a check so we don't add subnotes to a note that is already released (can happen with very short midinotes, eg. sliding the mouse accross the gui piano).
I also added a mutex to incoming midievent handling in instrumenttrack. Not sure if strictly necessary, but seems like this would prevent problems in the long run.
Also fixed a glitch in noteplayhandle where silent master notes got stuck playing indefinitely ( isMasternote() returns true even if the nph just hadChildren, so it never gets ended if it did - instead we check if we still have subnotes).
2014-06-19 00:30:48 +03:00
tresf
73bd963a3f Allow vertical resize for VST Plugin Control Window 2014-06-18 02:54:29 -04:00
Vesa
c93f6587e6 LB302: Correct slide for samplerate 2014-06-17 14:35:53 +03:00
Tobias Doerffel
4ef5b5fef3 Merge pull request #860 from diizy/gfx
Graphics updates
2014-06-17 11:59:52 +02:00
Vesa
0d2249828d Graphics updates 2014-06-17 12:39:52 +03:00
Tobias Doerffel
41197a949a Merge pull request #852 from diizy/sf2fix
SF2 player: fix playback issues
2014-06-15 23:32:14 +02:00
Tobias Doerffel
3de952e9c1 Merge pull request #844 from grejppi/stable-1.1-kicker
kicker: keep start note behaviour for old presets
2014-06-15 23:31:52 +02:00
Tobias Doerffel
3ab6a7ac0f Merge pull request #846 from diizy/stable-1.1
FxMixer: Fix channel delete and other bugs
2014-06-15 23:31:02 +02:00
Tobias Doerffel
e1fc2a21bb Merge pull request #841 from tresf/stable-1.1
NSIS fixes #385, #831
2014-06-15 23:30:27 +02:00
Tobias Doerffel
c7f29c19c8 Merge pull request #840 from sarahkeefe/stable-1.0
Fix for issue #837 - Compile issue on OS X - include file Qt/qglobal.h not found
2014-06-15 23:29:46 +02:00
Tobias Doerffel
86a4a98d2f Merge pull request #848 from diizy/midioffset
5-in-1 bugfix special
2014-06-15 23:29:21 +02:00
Vesa V
2a1da2a6bd Merge pull request #855 from diizy/monstro
Monstro: fix another silly error...
2014-06-15 22:40:13 +03:00
Vesa
9d3c8a98ae Monstro: fix another silly error... 2014-06-15 22:38:25 +03:00
Vesa V
5425488e4c Merge pull request #854 from diizy/monstro
Monstro: oops... corrected an error
2014-06-15 17:30:52 +03:00
Vesa
dcfa4ebe43 Monstro: oops... corrected an error 2014-06-15 17:29:24 +03:00
Vesa V
4b31294a85 Merge pull request #853 from diizy/monstro
Monstro updates
2014-06-15 16:05:18 +03:00
Vesa
b5d9286fdc Monstro - additional small fix... 2014-06-15 16:01:12 +03:00
Vesa
8a2aeaa595 Monstro updates
- Fix FM (use PM-based FM to prevent pitch drift)
- Bunch of codepath optimizations
- Somewhat saner min/max values for PW
2014-06-15 15:58:07 +03:00
Vesa
585f8b6d93 SF2 player: fix playback issues
Changing the velocity after noteon doesn't really seem to work on fluidsynth (may be dependent on soundfont file) - seems like the panning changes when velocity is changed.
So I disabled that, after which everything works fine.
2014-06-14 20:36:21 +03:00
Vesa
ad1c6957b0 AutomatableModel: prevent linking of model to itself
There's no need to ever link a model to itself, allowing it can cause weird issues and crashes, plus it's easy to do by accident if you start a ctrl-drag and end it while still on the same widget
2014-06-14 18:36:17 +03:00
Vesa
e733042cdb FxMixer: clearChannel had the same erroneous for loop as deleteChannel 2014-06-14 17:42:00 +03:00
Vesa
24bf336bf8 FxMixer: fix crashes on modifying sends
Added a mutex so that the GUI thread can't change the sends around during the rendering loop.
2014-06-14 14:53:22 +03:00
Vesa
3319380cf6 FxMixer: Fix channel delete 2014-06-14 14:37:27 +03:00
Vesa
9c584778d2 5th: fix #563 - do not destroy IPH's on "All Notes Off" MIDI commands 2014-06-14 14:37:07 +03:00
Vesa
d1eb9886fd Make that 4: Fix stuck midi notes on changing master pitch 2014-06-14 14:37:07 +03:00
Vesa
3f19478b87 Further safeguards needed... 2014-06-14 14:37:07 +03:00
Vesa
a172783cd0 3-in-1 bugfix special
Fixes bugs: #568, #289 and the incorrect timing for midi-noteoffs (see mailing list)
2014-06-14 14:37:07 +03:00
Vesa V
32cfe84dfd Merge pull request #850 from diizy/lb302
LB302: one last fix...
2014-06-14 14:36:51 +03:00
Vesa
c45163f936 LB302: one last fix... 2014-06-14 14:32:15 +03:00
Vesa V
dd13b26696 Merge pull request #849 from diizy/mixeriph2
A fix to IPH waiting code: don't wait for already finished notes, plus a...
2014-06-13 19:50:45 +03:00
Vesa
a0d6115482 A fix to IPH waiting code: don't wait for already finished notes, plus a bit of optimization 2014-06-13 19:47:48 +03:00
Hannu Haahti
ebc9da8c71 kicker: keep start note behaviour for old presets 2014-06-12 16:20:26 +03:00
tresf
64289f5953 nsis_branding.bmp, 256 color version to fix #831 2014-06-12 02:17:03 -04:00
Tres Finocchiaro
13d0bc73d9 HKCR registry cleanup per #385 2014-06-12 00:43:18 -04:00
sarahkeefe
940fb0d3d5 Updating include to QtCore/QtGlobal 2014-06-11 17:16:28 -04:00
sarahkeefe
91519898d0 Replacing <Qt/global.h> includes with <QtGlobal> to fix compile issue on OS X 2014-06-11 13:21:01 -04:00
Vesa V
66c05f60ff Merge pull request #839 from diizy/lb302
Last LB302 fixes for now (I hope!)
2014-06-11 15:30:41 +03:00
Tobias Doerffel
3a3cbe4f4e Merge pull request #830 from tresf/stable-1.1
Updated logo for NSIS installer
2014-06-11 14:08:17 +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
Vesa
11209593e0 Last LB302 fixes for now (I hope!) 2014-06-11 15:05:07 +03: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
Vesa V
77a919d24c Merge pull request #833 from diizy/stable-1.1
LB302: further fixes
2014-06-10 09:05:34 +03:00
Vesa
9af0d7af93 LB302: further fixes
- My earlier fixes caused some new issues, now I'm fixing them, this time I'm pretty sure there won't be anything I missed
2014-06-10 09:02:20 +03:00
Tres Finocchiaro
045353735f Updated logo for NSIS installer 2014-06-09 11:12:01 -04:00
Tobias Doerffel
5fdc8e63d9 Merge pull request #819 from diizy/mixeriph2
Ensure that NotePlayHandles get processed before the InstrumentPlayHandl...
2014-06-09 13:43:51 +02:00
Tobias Doerffel
82720472c9 Merge pull request #820 from diizy/lb302fix
LB302: Fix playback bugs (sticking pitch), add bandlimited waves
2014-06-09 13:42:25 +02:00
Tobias Doerffel
019c438668 Merge pull request #817 from diizy/bbtrack-ui
Make BB-tracks themeable
2014-06-09 13:41:55 +02:00
Tobias Doerffel
ca29057d54 Merge pull request #829 from ycollet/update_fr_1.1
Update fr for stable-1.1
2014-06-09 13:40:25 +02:00
Tobias Doerffel
1d6a456b47 Merge pull request #827 from DanWin/master
Updated German translation
2014-06-09 13:40:06 +02:00
Tobias Doerffel
34a4c27761 Merge pull request #826 from DanWin/stable-1.0
Updated German translation
2014-06-09 13:39:59 +02:00
Tobias Doerffel
dc9804f7b6 Merge pull request #823 from diizy/automation
Fix drag/drop for automation patterns
2014-06-09 13:38:31 +02:00
Yann Collette
72e194044d update fr translation 2014-06-09 11:08:26 +02:00
Daniel Winzen
22cf0db03d Updated German translation 2014-06-08 17:49:04 +02:00
Daniel Winzen
2b261b0020 Updated German translation 2014-06-08 17:45:45 +02:00
Vesa V
bf824f2a60 Merge pull request #825 from diizy/qbrush
Use QBrush instead of QColor on some theme properties
2014-06-08 18:18:08 +03:00
Vesa
2fa7892542 Use QBrush instead of QColor on some theme properties
Apparently, we can use QBrush -typed properties in the CSS. This just never occured to me before!
So, this has several benefits. A QColor property only allows a singular RGB value, but a QBrush allows the same plus also qgradients, RGBA-colours and maybe even bitmap patterns. So I'm changing some properties to QBrush, where it makes sense to allow this additional functionality - no need to enable it for simple things like text colours or such.

- Song editor background: instead of the earlier hack with 7 qproperties just to set a limited background gradient, we can use only 2 properties and allow much more flexibility with Qt's own qgradient syntax
- Automation editor: background, graph colour, and the sidebar colour - @musikBear recently complained not seeing the grid through the graph, so transparency can help there, and qlineargradients in the graph can produce very cool visual effects. Grid is pointless to change, it should stay single-colour for now.
- Piano roll: here, I only made the background use QBrush - we don't really have much else here that can utilize QBrush, the notes have their own gradient system... maybe the 2nd colour of the note gradient could be customizable though.

There are probably more places where this change makes sense...
2014-06-08 18:06:09 +03:00
Vesa
9cc3344756 Fix drag/drop for automation patterns
There was some apparently legacy code that was entirely unnecessary and interfering with model drops.
Closes #814
2014-06-08 12:28:43 +03:00
Vesa
40407f6ce6 LB302: Fix playback bugs (sticking pitch), add bandlimited waves 2014-06-07 14:39:45 +03:00
Vesa
bad08a2632 Ensure that NotePlayHandles get processed before the InstrumentPlayHandle on instruments that use both NotePlayHandles and InstrumentPlayHandle, such as LB302 and SF2-Player
Issue: Currently, we use threads to process all PlayHandles, so there's no guarantee of the order they are processed in. This causes timing inaccuracy and jitter: notes of instruments that use both NPH's and IPH's can get randomly delayed by one entire period.
The issue is solved thusly:
- When processing an IPH, we check if the instrument is midi-based. If yes, we just process it normally (no NPH's to worry about).
- If it's not, then it also uses NPH's, so we'll have the IPH wait until all NPH's belonging to same instrument have been processed. There's some similar code in the new FX mixer, I pretty much just copied how we do it there.
2014-06-06 14:24:51 +03:00
Vesa
910f89a5d3 Make BB-tracks themeable
- This allows defining a default colour for BB-track patterns in the CSS
- The default colour is used for all bb-patterns which don't have a custom colour set by the user: in other words, the colour of a pattern can be any rgb-value OR "style colour"
- By default, all created bb-patterns use the style colour
- You can also reset colourized patterns to use style colour again
- Backwards compatibility: old projects will be loaded so that any pattern using either of the old default colours will be converted to use style colour

TODO: add a settings option that can disable custom colours (ie. always use style colour), and/or an option to reset all patterns in a project to style colour. This is needed, since themes can now change the song editor background, which can lead to unfortunate colour combinations with custom colours...
2014-06-06 11:06:12 +03:00
Tobias Doerffel
dba1e75a53 Merge pull request #808 from tresf/stable-1.1
SF2/VST Title Fixes, Export Dialog Fixes
2014-06-06 00:07:54 +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
Tres Finocchiaro
922ab25217 Fast forward vesa's sample-accurate changes 2014-06-04 09:03:19 -04:00
Tres Finocchiaro
e06759d0d8 Formatting fixes 2014-06-04 08:58:06 -04:00
tresf
7a03353fb6 Export dialog append wav/ogg #764 w/ #779 recommendations 2014-06-04 08:55:30 -04:00
tresf
f42196315c SF2/VST title rename #462 w/ #774 recommendations 2014-06-04 08:52:12 -04:00
Tobias Doerffel
ab493ea27f Merge pull request #804 from diizy/midioffset
Make MIDI timing sample-accurate
2014-06-04 09:35:11 +02:00
Tobias Doerffel
96da8717f3 Merge pull request #802 from zonkmachine/random-wave-icon
Random wave icon
2014-06-04 09:34:06 +02: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
Vesa
06be5bba82 Make MIDI timing sample-accurate
- currently only affects Vestige
- no idea whether this can also be used for Zyn and OpulenZ, I'm not sure if Zyn has any kind of mechanism for communicating frame offset to the synth, as for OpulenZ, @softrabbit would know the answer better
- basically, I made it happen by simply adding an extra parameter in the processMidi{In|Out} functions, which is 0 by default, and made the necessary changes in instrumentTrack and nph to utilize it
- I based this against 1.1 because I didn't think it's a very big change, and I don't see much possibility for things going wrong here, since we're basically just using the existing functionality in Vestige (there already was a frame offset being communicated to the remote plugin, just that it was always set to 0). However, if @tobydox thinks this is better to bump up to 1.2, I can rebase it for master...
2014-06-04 04:23:16 +03:00
Oskar Wallgren
a61d0284f2 Fix Instrument LFO, random wave icon 2014-06-02 04:01:27 +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
Tobias Doerffel
b28e995316 Merge pull request #797 from softrabbit/issue780
Issue780
2014-06-01 10:09:54 +02: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
Raine M. Ekman
f0556cbc3b InstrumentTrack: Fix issue #780 by showing the m_pitchRangeSpinBox too, in case it's been hidden. 2014-05-31 20:41:50 +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
Tobias Doerffel
a2e61a7a08 Merge pull request #789 from diizy/pianoroll
PianoRoll: CSS stylability, mousewheel improvements
2014-05-31 15:12:07 +02:00
Tobias Doerffel
146ae64342 Merge pull request #792 from diizy/autoeditor
AutomationEditor: improve zoom, CSS
2014-05-31 12:46:43 +02:00
Vesa
3a1e447d7b PianoRoll: wheelevent improvements, similar to AutomationEditor
- ctrl+alt+wheel changes q (as in auto)
- ctrl+shift+wheel changes note length
- changed note lock functionality slightly, it no longer changes itself to 1/16 because this would cause annoying infinite scrolling with the wheel, instead it just acts like 1/16 when notelength is last note
2014-05-31 07:06:58 +03:00
Vesa
7a19654ab9 AutomationEditor - fix previous 2014-05-31 04:05:58 +03:00
Vesa
310ac28009 AutomationEditor: CSS stylability 2014-05-31 03:32:55 +03:00
Vesa
5652043185 AutomationEditor: improve zoom functionality
- entire wheelevent code was written very... weirdly, I simplified it
- fix bug with x zoom with mousewheel, no more getting stuck between 25/50
- ctrl+shift+mousewheel now zooms y-axis
- ctrl+alt+mousewheel now changes quantization
2014-05-31 01:47:59 +03:00
Vesa
f43678cbae PianoRoll: CSS stylability
Most parts of piano roll are now stylable:
- background color
- note color
- bar color (for volume bars)
- grid color
2014-05-30 23:00:20 +03: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
Tobias Doerffel
a309ba077c Bumped version number to 1.0.91
We can now distinguish between the new stable 1.1 branch and the master branch.
2014-05-30 15:24:07 +02:00
Tobias Doerffel
ef0ccb4094 Merge pull request #778 from diizy/pianoroll
PianoRoll: Note Quick Resize
2014-05-30 15:15:28 +02:00
Tobias Doerffel
b170ab18f6 Merge pull request #787 from diizy/master
FxMixerView: fix crash when loading project while selected channel != 0
2014-05-30 15:11:29 +02:00
Vesa
51194453f1 FxMixerView: fix crash when loading project while selected channel != 0
Fixes #782
2014-05-30 08:19:54 +03:00
Vesa V
6dfd6de8d2 Merge pull request #785 from diizy/nes
Nes updates
2014-05-29 22:59:37 +03:00
Vesa
8bb5733ee5 Nes: Fix previous - forgot to add new models to load/save funcs 2014-05-29 22:57:14 +03:00
Vesa
50c5b0db03 Nes: added pitch sweep for noise channel, freq.quantize mode (constrain frequencies to preset values when using note frequency)
Also added a handful of neat presets that mimick Nes sound effects
2014-05-29 22:48:13 +03:00
Vesa V
fe88806bd5 Merge pull request #784 from diizy/nes
Nes: implement vibrato, also: make main pitch update at 60hz frequency r...
2014-05-29 19:36:48 +03:00
Vesa
19d105dc86 Nes: implement vibrato, also: make main pitch update at 60hz frequency regardless of period size or samplerate (guarantees consistency in sound for combined pitch sweep + pitch automation) 2014-05-29 19:32:22 +03:00
Vesa
adea08d5b9 PianoRoll: Note Quick Resize
Basically, this works as such:
- if you click shift *after* starting a note move OR after creating a new note, the note move action is switched into resize mode, so you can quickly resize the note you just created, or the note you just moved. This saves time and improves workflow - at least based on my own experience: I've always wished I could do this, this is a huge time saving when you want to quickly jot down notes of differing lengths.
- if shift is already pressed when you click, the above will not happen, because that would mess with the note copy function. Copying notes with shift-dragging works the same as before.
- note test playback is halted when you click shift while moving. This is purely because it was causing some crackling noise, probably because of the changing length of a note that is currently playing. Maybe that can be fixed later, although it's arguably better not to hear the note while resizing - it's consistent with the other resize.
- works on group of notes as well, if you start moving a group of notes and then click shift, it will go into resize. Exception is notes copied with shift-drag... for obvious reasons.
- that should be all. Testing appreciated.
2014-05-28 03:38:59 +03:00
Steve Leonard
af56ea5849 Copy+Paste for rubberband selections in track editor 2014-05-26 15:53:08 -04:00
Vesa V
957aed4b80 Merge pull request #773 from diizy/master
NES: fix dc offset and distortion
2014-05-26 18:04:13 +03:00
Vesa
6e516a358c NES: fix dc offset and distortion 2014-05-26 18:02:55 +03:00
Tobias Doerffel
1567bd8d09 Merge pull request #752 from tresf/master
Drag-and-drop support for VST, SF2
2014-05-26 10:28:44 +02:00
Tobias Doerffel
7dcf9a1ffa Merge pull request #719 from ycollet/stable-1.0
add lib64 directories to search for ladspa plugins
2014-05-26 10:27:58 +02:00
Tobias Doerffel
c3af25e54a Merge pull request #758 from grejppi/master-samplebuffer
SampleBuffer: fix amplification
2014-05-26 10:26:59 +02:00
Tobias Doerffel
54531f5144 Merge pull request #761 from zonkmachine/random-wave-2
Random wave for instrument plugin LFO
2014-05-26 10:26:09 +02:00
Tobias Doerffel
3d61b6df9e Merge pull request #768 from diizy/master
FxMixerView: prevent mixer from being loaded with improper send buttons ...
2014-05-26 10:25:18 +02:00
Tobias Doerffel
d857f0e272 Merge pull request #771 from diizy/nes
NES instrument
2014-05-26 10:22:40 +02:00
Vesa
750be17b56 Nes: fix sweep 2014-05-26 05:46:53 +03:00
Vesa
8b51e29467 New NES instrument 2014-05-26 03:25:15 +03:00
Vesa
592b4aeb1a New NES instrument 2014-05-26 03:24:36 +03:00
Vesa
eaf0f15d3f FxMixerView: prevent mixer from being loaded with improper send buttons which cause crashes when clicked, fixes #766 2014-05-25 13:55:05 +03:00
Oskar Wallgren
2e78e65d59 Code simplifed 2014-05-24 20:02:18 +02:00
Hannu Haahti
d715c18b65 SampleBuffer: amplify in post 2014-05-23 21:50:47 +03:00
Oskar Wallgren
768f0e54b0 Random graph approximation and cleanup 2014-05-23 03:46:40 +02:00
Hannu Haahti
904370ec34 SampleBuffer: fix amplification 2014-05-22 23:48:05 +03:00
Oskar Wallgren
3d61768538 Gui button fix, test backward compatibility 2014-05-22 19:25:04 +02:00
Tobias Doerffel
00e7fe236c ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

HEAD: c38c705ea40914f6bd63f799ab8dad91411a93c0
2014-05-22 11:33:39 +02:00
Oskar Wallgren
85c02cddfe Random wave first commit, pixmap button defect 2014-05-22 07:17:55 +02:00
Tres Finocchiaro
71f6b1b205 Drag-and-drop support for VST, SF2 2014-05-21 16:39:02 -04:00
Vesa V
3e02a15908 Merge pull request #748 from diizy/master
Fix globalautomationvalueat and coding style
2014-05-21 17:45:02 +03:00
Vesa
9742becb81 Fix globalautomationvalueat and coding style 2014-05-21 17:37:30 +03:00
Tobias Doerffel
bfe2f0cf11 InstrumentFunctions: fix base note playback in chords
As of 6650dd356d base notes are not played
anymore when chords are enabled. Therefore create a separate NotePlayHandle
for the base note like we do for all other notes in the chord.
2014-05-20 23:13:13 +02:00
Tobias Doerffel
1decf5d6ea Merge pull request #739 from diizy/master
Removal of the "sample-exact controllers" and "anti-aliasing oscillators...
2014-05-18 22:27:37 +02:00
Vesa
97ff5e99e0 Removal of the "sample-exact controllers" and "anti-aliasing oscillators" qualitysettings. 2014-05-18 21:36:49 +03:00
Yann Collette
6a5e7b18de add lib64 directories to search for ladspa plugins 2014-05-18 19:22:29 +02:00
Tobias Doerffel
465aa1afbc EffectChain: remember original effect plugin data when loading dummy plugin
We don't want to loose the settings of an effect plugin even if it's not
available and thus can't be instantiated. Therefore remember original
settings data and save them back properly.

Partly closes #733.
2014-05-18 15:53:18 +02:00
Tobias Doerffel
1b0264f501 DummyEffect: removed inline specifiers, fixed header guard identifiers 2014-05-18 15:27:49 +02:00
Tobias Doerffel
a71749af08 Merge pull request #720 from diizy/master
Initial implementation for two additional methods in AutomatableModel, A...
2014-05-18 15:15:49 +02:00
Tobias Doerffel
6b6bfa2666 Merge pull request #734 from diizy/bandlimit
Move the initialization of BandLimitedWaves into engine.cpp
2014-05-18 15:11:51 +02:00
Tobias Doerffel
28fa95ae56 Merge pull request #727 from diizy/kicker
Kicker: new UI / graphics, also some additions:
2014-05-18 15:11:06 +02:00
Tobias Doerffel
cc8cb50efa Merge pull request #729 from tresf/stable-1.0
swh plugins:  Fix SWH destructors
2014-05-18 15:10:12 +02:00
Tobias Doerffel
aa8eea2fb1 Merge pull request #736 from diizy/powerchord
InstrumentFunctions: Add power chord
2014-05-18 15:09:47 +02:00
Vesa
c854f1d0ec InstrumentFunctions: Add power chord
Aka. 5-chord, simple 5th interval chord. A very simple addition and something I've always wondered why it's missing from the very extensive huge list of chords and scales.
2014-05-18 13:14:52 +03:00
Vesa
bf54852062 Move the initialization of BandLimitedWaves into engine.cpp
Since we now provide the wavetables as pre-generated files, there's no delay caused by their initialization
so we can move it to the startup of the software. I thought engine.cpp is the best place for this, it makes
conceptually more sense than main.cpp IMO.
This way each instrument that wants to use them in the future won't have to call the initialization function
separately, making things a bit easier.
2014-05-17 23:32:34 +03:00
Vesa
bbcb8635e2 Kicker: a bit of an additional GUI tweak 2014-05-16 20:33:53 +03:00
Tres Finocchiaro
313977ebfd swh plugins: Fix SWH destructors
The constructors had been fixed with commit #83c2019, but I had missed
the destructors.  This corrects the `_fini()` destructors as well.
2014-05-16 13:11:26 -04:00
Vesa
2ff70e6aba Kicker: new UI / graphics, also some additions:
- Envelope length is now temposyncable and has higher maximum
- Distortion is divided to start/end knobs for a simple distortion envelope
- Everything backwards compatible
2014-05-16 15:48:36 +03:00
Tobias Doerffel
1e6cd3c6a1 Merge pull request #714 from tresf/stable-1.0
Fix font colors on Apple #527
2014-05-15 22:44:56 +02:00
Vesa
aefc9832f8 Initial implementation for two additional methods in AutomatableModel, AutomationPattern:
These methods are used to fetch the automated value of a model at a given MidiTime
These are still untested but that shouldn't be a problem since they aren't actually used by anything yet... but I'll be doing some testing and bugfixing (if needed) for them later.
These will be an important step in making sampletracks eventually be reliably playable from any position, and more generically, being able to reliably convert MidiTime to real time. Of course they can be useful for other things too (not sure what though, yet).
2014-05-15 03:02:42 +03:00
Vesa V
fd89e4c5e6 Merge pull request #717 from Umcaruje/master-betterorganic
Tweaked the color of the organic logo
2014-05-14 00:55:58 +03:00
Umcaruje
05517aefc4 Tweaked the color of the organic logo 2014-05-13 22:02:43 +02:00
Tres Finocchiaro
7404eef34a Revert changes 2014-05-12 22:10:28 -07:00
Tres Finocchiaro
e401ac5c9d Revert changes 2014-05-12 22:09:47 -07:00
Tres Finocchiaro
959db3d7ac Revert changes 2014-05-12 22:08:34 -07:00
Tres Finocchiaro
5bb5ffc152 Revert changes 2014-05-12 22:06:44 -07:00
Tres Finocchiaro
9abfbd6c94 #527 2014-05-12 21:37:01 -07:00
Tobias Doerffel
28cf4a5f8d Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	CMakeLists.txt
	data/CMakeLists.txt
	include/SampleBuffer.h
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/zynaddsubfx/src/Params/PADnoteParameters.cpp
	src/core/SampleBuffer.cpp
2014-05-12 21:57:10 +02:00
Tobias Doerffel
7dd9ee04e1 Bump version to 1.0.90
This is the master branch which is going to end up in the 1.1.x series
therefore bump version now as a preparation.
2014-05-12 21:44:57 +02:00
Tobias Doerffel
0e2451bd6e Watsyn: link against libsamplerate
Fixes Win32/Win64 build.
2014-05-12 21:44:26 +02:00
Tobias Doerffel
cf7acc382d BandLimitedWave: export class in LMMS binary
Fixes Win32/Win64 build of Monstro plugin.
2014-05-12 21:43:44 +02:00
Tobias Doerffel
2edb5ed2c6 ZynAddSubFX: added update script
Added script to pull in latest ZynAddSubFX sources from LMMS-ZynAddSubFX
repository.
2014-05-12 19:58:25 +02:00
Tobias Doerffel
105cb8c195 Merge branch 'master' of github.com:LMMS/lmms 2014-05-12 19:23:43 +02:00
Tobias Doerffel
e4beaf0074 ZynAddSubFX: imported current head
Imported current head of LMMS-specific ZynAddSubFX source code.

HEAD: c920930cce09b4f691f585d93a19eac85672e50e
2014-05-12 19:17:51 +02:00
Tobias Doerffel
66c2d620ef ZynAddSubFX: removed submodule 2014-05-12 19:15:30 +02:00
Tres Finocchiaro
5aa6779108 Fix incorrect path to libZynAddSubFxCore.dylib 2014-05-09 08:45:10 -07:00
Tres Finocchiaro
3a1bc2a7ae Fix "Use of undeclared identifier 'getpid'"
Troubleshooting RemoteZynAddSubFX.
2014-05-09 08:41:07 -07:00
Tobias Doerffel
90496600f2 SWH: fixed Win32 compilation
The recent adaptions for OS X broke build for Win32.
2014-05-08 21:59:30 +02:00
Tobias Doerffel
25204abdab Merge remote-tracking branch 'tresf/stable-1.0' into stable-1.0
Conflicts:
	plugins/opl2/fmopl.c
2014-05-08 21:53:03 +02:00
Tres Finocchiaro
049a88fe8e Fix SWH contructors (Apple)
@tobydox, please advise as I cannot easily test the win32 impact of this
change.
2014-05-08 15:36:51 -04:00
Tres Finocchiaro
7fb434c26d #ifdef indent corrections 2014-05-08 11:05:54 -07:00
Tres Finocchiaro
72620542c0 OpulenZ/opl2 build fixes (Apple)
- Cleaned up many non-bracketed sections for stricter compilers.
- Remove custom `INLINE` keyword when building on clang.
- Renable opl2 via plugins\CMakeLists.txts

https://cloud.githubusercontent.com/assets/6345473/2919394/c474d668-d6da-11e3-82db-778a7ce6014d.png
2014-05-08 14:01:27 -04:00
Tres Finocchiaro
e979ac06c5 Update lmms.plist.in 2014-05-07 19:06:40 -07:00
Tobias Doerffel
14815728ee Merge pull request #691 from eagles051387/stable-1.0
updated README to give link to github wiki instead of SF
2014-05-07 23:28:58 +02:00
Tres Finocchiaro
52e76c66b4 Update lmms.plist.in 2014-05-07 13:50:45 -07:00
Tres Finocchiaro
6ac9c28fee Update CMakeLists.txt 2014-05-07 13:28:10 -07:00
Tres Finocchiaro
26a48e1c3a Update lmms.plist.in 2014-05-07 13:26:04 -07:00
Tres Finocchiaro
3e2fea65dc Apple mimetype support 2014-05-07 13:12:07 -07:00
Tres Finocchiaro
2037f082d2 Update CMakeLists.txt 2014-05-07 12:46:58 -07:00
Jonathan Aquilina
76a990dbdc updated README to give link to github wiki instead of SF 2014-05-07 18:17:24 +02:00
Tobias Doerffel
b9d51f0a40 Merge pull request #685 from tresf/stable-1.0
SWH Clang Fixes, Apple Installer Fixes
2014-05-06 09:39:22 +02:00
Tres Finocchiaro
1c4ab566d9 Fix "No documents could be created" when opening (Apple) 2014-05-05 21:51:46 -07:00
Tres Finocchiaro
3b0fd9dfca Apple Bundle Fix : Move Bundle Declarations #2 2014-05-05 09:54:12 -04:00
Tres Finocchiaro
a88b89682a Apple Bundle Fix : Move Info.plist task to /data
Also ADD_SUBDIRECTORY /data/scripts for recent Apple Installer changes.
2014-05-05 09:48:22 -04:00
Tres Finocchiaro
6b5f3565d8 Apple Bundle Fix : Move tasks from / to /data/scripts 2014-05-05 09:47:06 -04:00
Tres Finocchiaro
ca778dd487 Apple DMG Fix : Fix %VARS% for DMG Script 2014-05-05 09:45:32 -04:00
Tres Finocchiaro
bc81274fa8 Apple Bundle Fix : Allow %VARS% for Bundle Script 2014-05-05 09:45:01 -04:00
Tres Finocchiaro
478cef528a Apple Bundle Fix : Move Bundle Declarations
The "MACOSX_BUNDLE..." declarations must occur before
ADD_SUBDIRECTORY(plugins) in order for the child CMake to inherit the
properties from the parent.

This is needed for scripts/create_apple_dmg.sh to inherit
"MACOS_BUNDLE_BUNDLE_VERSION", etc.
2014-05-05 09:43:19 -04:00
Tres Finocchiaro
83e8a9e1b9 Apple Bundle Fix 2014-05-04 21:04:55 -07:00
Vesa V
31268a0b6b Merge pull request #684 from diizy/autorec
Automation recording: remove unnecessary hasAutomation() - the pattern d...
2014-05-05 01:02:21 +03:00
Vesa
dbe69c74ec Automation recording: remove unnecessary hasAutomation() - the pattern doesn't need to already have automation in
order to record more...
2014-05-05 00:57:32 +03:00
Tobias Doerffel
117714abd1 Merge pull request #683 from diizy/autorec
Automation recording: add option to trackops to switch on/off recording ...
2014-05-04 23:49:56 +02:00
Vesa
6b7a3c0041 Automation recording: add option to trackops to switch on/off recording in all TCOs on the track
I still had time to implement this convenient little thing, so here you go...
The same code can be reused in the future for sampletracks as well.
2014-05-05 00:37:39 +03:00
Tobias Doerffel
06a6407b60 Merge pull request #682 from diizy/autorec
Automation Recording
2014-05-04 22:55:27 +02:00
Vesa
62068684c2 Fix to previous - use value<float>() instead of making an unnecessary new function... also accidentally didn't upload the new image last time 2014-05-04 22:54:06 +03:00
Vesa
4564ed14cd Automation Recording 2014-05-04 21:59:39 +03:00
Tres Finocchiaro
42f7a5fb1e Apple Bundle Fix 2014-05-04 00:36:33 -07:00
Tres Finocchiaro
1be0823f5b Apple Bundle Fix 2014-05-04 00:12:22 -07:00
Tres Finocchiaro
3e9314bb63 Apple Bundle Fix 2014-05-04 02:13:05 -04:00
Tres Finocchiaro
9a0f930416 Apple Bundle Work 2014-05-04 01:40:10 -04:00
Tres Finocchiaro
bca86d9c1a Apple Bundle fixes 2014-05-04 01:10:52 -04:00
Tres Finocchiaro
3d274078ce New Info.plist resource for Apple Bundle 2014-05-04 00:49:54 -04:00
Tres Finocchiaro
245a223924 Add/Fix Apple specific VARS for Bundle
Added MIMETYPE, Changed ICON_FILE, dynamically builds shell scripts
using CMake @VARS@
2014-05-04 00:49:09 -04:00
Tres Finocchiaro
de89f683af Rename apple scripts for automatic configure
Renamed from create_apple_x.sh to create_apple_x.sh.in
Changed vars to use CMake @PARAMS@
2014-05-04 00:46:26 -04:00
Vesa V
1371b5b0fd Merge pull request #679 from diizy/master
PianoRoll: allow shift-right-click in addition to middle-click in vol/pa...
2014-05-03 23:53:50 +03:00
Vesa
d66d5870fd PianoRoll: allow shift-right-click in addition to middle-click in vol/pan bars 2014-05-03 23:52:24 +03:00
Tobias Doerffel
06799b132e Merge pull request #677 from zonkmachine/whatsthis2
Whatsthis2
2014-05-03 20:46:59 +02:00
Tres Finocchiaro
a80dbd67e4 Replace LMMS_BULD_APPLE with __clang__ 2014-05-03 11:46:02 -07:00
Tres Finocchiaro
b987d3ed04 Replace LMMS_BULD_APPLE with __clang__ 2014-05-03 11:44:58 -07:00
Tres Finocchiaro
b0ffa45011 Include lmmsconfig.h for OS #ifdef 2014-05-03 11:34:16 -07:00
Oskar Wallgren
348315845a Add new toolbutton, whatsthis, to MainWindow 2014-05-03 20:32:58 +02:00
Tres Finocchiaro
ae67c792fe Remove inline function declaration for Apple
Typo :)
2014-05-03 09:30:15 -07:00
Tres Finocchiaro
19130e5fce Apple specific build path
Remove another offending inline function declaration for Apple compat.
2014-05-03 09:00:32 -07:00
Vesa V
f00fec8b69 Merge pull request #675 from diizy/master
Monstro, PianoRoll improvements
2014-05-03 00:14:53 +03:00
Vesa
b18d80e0b5 Pianoroll vol/pan UI - further improvements of earlier improvements 2014-05-03 00:12:18 +03:00
Tres Finocchiaro
3d95f82f30 Remove inline function recursion for Apple
q_sort is an inline function which recurses upon itself.  Some compilers such as MSVC limit this which can be overridden with a parameter.  Since I could find no such parameter for clang, this #IFDEF allows the sifter plugin to compile successfully.

If this approach has negative side effects, it should only affect apple.  If there's a better approach to this, please reject the pull request and submit your own.
2014-05-02 14:01:59 -07:00
Vesa
8ea5222793 Monstro: remove useless cast 2014-05-02 22:55:16 +03:00
Vesa V
0695a911c8 Merge pull request #674 from diizy/master
Monstro bugfixes, again...
2014-05-02 21:43:44 +03:00
Vesa
7a4395aabb ... oops 2... 2014-05-02 21:40:07 +03:00
Vesa
ca36fb141d oops.. 2014-05-02 21:37:49 +03:00
Vesa
a218a033b5 Monstro: more bugfixes
Fixes a bug caused by fastPow which was causing hangups in very specific situations only
2014-05-02 21:33:55 +03:00
Tres Finocchiaro
96e41491ad Fix incorrect C99 loop declaration 2014-05-02 10:51:42 -07:00
Tres Finocchiaro
a5d773cfce Re-enabled SWH for Apple 2014-05-01 22:15:23 -07:00
Tres Finocchiaro
e2c3e65767 Clang comp. fix unnecessary else 2014-05-01 22:13:14 -07:00
Tres Finocchiaro
d0c072b372 Copy project.icns to Resources directory 2014-05-01 19:48:16 -07:00
Tres Finocchiaro
2835c99783 Mimetype icon, Apple formatted 2014-05-01 22:44:25 -04:00
Tres Finocchiaro
8fb260317b Create mimetype for mmp,mmpz
Using Info.plist, register the mmp and mmpz mimetypes with the LMMS application.
2014-05-01 19:37:37 -07:00
Vesa V
8df5bb507b Merge pull request #673 from diizy/master
Monstro: envelope bugfixes
2014-05-02 03:58:26 +03:00
Vesa
a2233edfa6 Monstro: envelope bugfixes 2014-05-02 03:57:09 +03:00
Vesa V
ef966c649f Merge pull request #672 from diizy/master
Another small monstro change
2014-05-02 00:59:36 +03:00
Vesa
7da1c5e09f Another small monstro change 2014-05-02 00:57:31 +03:00
Tobias Doerffel
036d2eede5 Merge pull request #670 from diizy/master
PianoRoll: improvements for note/panning widget
2014-05-01 23:06:44 +02:00
Vesa
23f1634f96 PianoRoll: improvements for note/panning widget 2014-05-01 23:15:28 +03:00
Vesa V
d6d88f6100 Merge pull request #667 from diizy/master
Monstro: very slight change to integrator code
2014-05-01 20:41:20 +03:00
Vesa
787d4e9832 Monstro: very slight change to integrator code 2014-05-01 20:40:11 +03:00
Tobias Doerffel
a7161ffce0 Merge pull request #666 from diizy/master
FXLine: add context menu with options to remove, move & rename FX channe...
2014-05-01 17:17:57 +02:00
Vesa
ed19009d29 FXLine: add context menu with options to remove, move & rename FX channels
- Uses existing functionality in FxMixer & FxMixerView to manipulate channels
- Instruments sending to the manipulated channels get automatically updated
- In the future I hope to implement a drag/drop functionality instead of the clunky context menu but this is a good first step until then
- Also added in a little QWhatsThis help message for the FX line, also accessible from context menu

That lmms_math thing got mixed in accidentally, but it's also a good change: always include math.h in lmms_math - that way, other parts of the software can just #include lmms_math, and won't have to #include both math.h and lmms_math, also the yet unused sinc function in it seems to need it so this prevents problems down the line
2014-05-01 18:10:05 +03:00
Tres Finocchiaro
6a0952dc34 Add LADSPA default path for Apple 2014-04-30 10:49:07 -07:00
Tres Finocchiaro
6191a64325 Remove Content/bin directory from .app
Fixes "..LMMS.app/Contents/bin" directory not empty message which occasionally occurs when bin has hidden OS X files in it.
2014-04-30 10:22:55 -07:00
Tobias Doerffel
9fa4eae7ce Merge pull request #659 from diizy/organic
Organic: update artwork, add harmonic knobs to control harmonic of each ...
2014-04-29 23:56:01 +02:00
Vesa
63747787e4 Organic: fix detuning
The detuning scale was incorrectly calculated: instead of measuring in cents as it claims to, it was actually
in 1/100th octaves, so I fixed it so that I set the units to actual cents (1/100 seminote). Then I set the
range to +/-1200 cents and added compat code so that old values get multiplied by 12, to maintain backwards compat.
2014-04-29 22:54:42 +03:00
Vesa
dce6a26eb3 Organic: update artwork, add harmonic knobs to control harmonic of each oscillator 2014-04-29 20:13:05 +03:00
Tobias Doerffel
46b4fe0302 Merge pull request #658 from grejppi/master-fxrange
InstrumentTrack: fix FX channel range
2014-04-29 16:19:05 +02:00
Hannu Haahti
436b3a9e63 InstrumentTrack: fix FX channel range
Because it is set to INT_MAX by default and never corrected for
cloned instruments, it could go over the maximum and cause a
segmentation fault.
2014-04-29 15:32:41 +03:00
Tobias Doerffel
f02570b261 Merge pull request #654 from grejppi/master-songeditor
SongEditor: change middle click to shift+right click, fix #621
2014-04-28 21:28:21 +02:00
Tobias Doerffel
bdec1023e4 Merge pull request #653 from Umcaruje/master-fixpresets
Fixed broken delay/reverb on various presets
2014-04-28 21:27:12 +02:00
Hannu Haahti
885b52cfa8 keep deletion with middle click 2014-04-28 01:07:36 +03:00
Umcaruje
e9d31d6f8d Fixed broken delay/reverb on various presets 2014-04-27 23:38:58 +02:00
Hannu Haahti
cdcba9f685 SongEditor: change middle click to shift+right click, fix #621 2014-04-28 00:38:00 +03:00
Tobias Doerffel
c0b7fbaf93 Merge pull request #651 from diizy/master
Optimizations for Monstro & Watsyn
2014-04-27 22:57:30 +02:00
Vesa
08b2cdba29 Revert partially one of the previous optimizations, was causing some unwanted noisy stuff 2014-04-27 23:10:20 +03:00
Vesa
41f3722e5b Fix previous.. 2014-04-27 21:31:42 +03:00
Vesa
eaebb40986 Optimizations for Monstro & Watsyn 2014-04-27 21:29:25 +03:00
Tobias Doerffel
e1164c4a67 Merge pull request #648 from diizy/master
Interpolation, MemoryHelper - fixes
2014-04-27 00:09:37 +02:00
Vesa
37b9df3458 Monstro: fix LFO att. on random smooth mode 2014-04-26 19:56:21 +03:00
Vesa
e638bb8ae1 MemoryHelper: update coding style 2014-04-26 18:10:36 +03:00
Vesa
ff3e94bd75 Fix a typo in interpolation.h 2014-04-26 16:16:38 +03:00
Tobias Doerffel
c98a60111e Merge pull request #647 from diizy/mixer
FxMixer: turn off effects
2014-04-26 10:06:58 +02:00
Vesa
0f37bd13ee FxMixer - Further optimization: skip copying buffers if we know the sender has no meaningful input to copy 2014-04-26 07:30:23 +03:00
Vesa
7d5250b93a FxMixer: turn off effects 2014-04-26 06:16:51 +03:00
Tobias Doerffel
e4d21ad5f9 Merge pull request #645 from diizy/master
BandLimitedWave: provide wavetables as pre-generated "bin" files, these ...
2014-04-25 23:30:46 +02:00
Vesa
9b9e175925 BandLimitedWave: provide wavetables as pre-generated "bin" files, these will be installed under datadir/wavetables
The runtime-generation is still there as a fallback, and the file generation code is left in as commented-out, because
it might be needed in the future
2014-04-25 19:17:41 +03:00
Tobias Doerffel
f4a8df7c67 Merge pull request #639 from diizy/master
Monstro changes
2014-04-25 11:46:21 +02:00
Vesa
b36f905547 Monstro: Explicitly initialize LFO values with random, so that smooth random reliably starts from a random value 2014-04-24 23:25:12 +03:00
Vesa
060063f5a8 Monstro changes 2014-04-24 13:31:51 +03:00
Tobias Doerffel
9a3ab692e9 ZynAddSubFX: update 2014-04-24 09:54:56 +02:00
Tobias Doerffel
cdbbbaf559 Merge pull request #635 from diizy/master
Samplebuffer/AFP: coding style, remove redundant inlines
2014-04-23 21:24:49 +02:00
Vesa
4dece979c6 Samplebuffer/AFP: coding style, remove redundant inlines 2014-04-23 19:15:59 +03:00
Tobias Doerffel
0e6f6eef12 Merge pull request #633 from diizy/master
AFP: Add interpolation selector, fix segfault-causing bug with reverse m...
2014-04-23 11:36:31 +02:00
Vesa
fa67d0b436 AFP: Add interpolation selector, fix segfault-causing bug with reverse mode 2014-04-23 12:18:35 +03:00
Tobias Doerffel
8ca38c4b48 Merge remote-tracking branch 'origin/stable-1.0' 2014-04-22 19:22:40 +02:00
Tobias Doerffel
42b7b09973 Merge pull request #617 from psyomn/local-master
Move align-mem functions to Class
2014-04-22 19:20:44 +02:00
Tobias Doerffel
a6937d4021 Merge remote-tracking branch 'origin/stable-1.0' 2014-04-22 11:09:20 +02:00
Vesa V
ddf54fe5a0 Merge pull request #632 from grejppi/master-fxgate
Effect: change minimum gate to FLT_MIN
2014-04-21 16:03:32 +03:00
Hannu Haahti
f8773b8978 Effect: change minimum gate to FLT_MIN
This helps reverbs (for example) to not get cut too soon (#424)
2014-04-21 15:40:26 +03:00
Vesa V
98f49e274b Merge pull request #622 from grejppi/master-vst
RemoteVstPlugin: really close the plugin
2014-04-19 14:48:47 +03:00
Hannu Haahti
d50d376b2a RemoteVstPlugin: really close the plugin 2014-04-19 13:32:48 +03:00
psyomn
bb7209b894 mem-helper.cpp: add license information 2014-04-17 02:25:07 -04:00
psyomn
32e6e9edce mem-helper: move align-mem functionality to class
There was some memory alignment logic inside the Mixer cpp file. To break down
the code and separate things into smaller modules, the aligned memory stuff
was crammed into a new class called MemoryHelper.

The MemoryHelper can be reused for any other aligned memory that may be needed
by another component.
2014-04-17 02:19:53 -04:00
Vesa V
87e9718a9c Merge pull request #616 from grejppi/master-arpdir
backwards compatibility fix for #579
2014-04-17 04:24:38 +03:00
Hannu Haahti
33aafbf3aa backwards compatibility fix for #579 2014-04-17 03:18:42 +03:00
Vesa V
c767d849b1 Merge pull request #611 from JohannesLorenz/master
Default ctors for LED checkbox and LCD spinbox. Fixes for knob.
2014-04-16 13:20:13 +03:00
Johannes Lorenz
51ed1105df Default ctors for LED checkbox and LCD spinbox. Fixes for knob. 2014-04-15 13:43:23 +02:00
Vesa V
f32f7689b4 Merge pull request #609 from diizy/wavetablesynth
Watsyn: use fast sinc instead of medium quality (not much diff in this c...
2014-04-14 14:18:28 +03:00
Vesa
49d05f466d Watsyn: use fast sinc instead of medium quality (not much diff in this case), increase oversampling to 32 because why not
Graph: optimize graph widget codepaths so that we don't send redundant samplesChanged signals, which in watsyn cause recalculation of the wavetable
2014-04-14 14:15:08 +03:00
Vesa V
fb1febe299 Merge pull request #608 from diizy/wavetablesynth
Watsyn updates: use sinc instead of cubic for oversampling of the wavegr...
2014-04-14 12:48:58 +03:00
Vesa
79120eb0b1 Watsyn updates: use sinc instead of cubic for oversampling of the wavegraph 2014-04-14 12:45:07 +03:00
Vesa V
9df4dfc087 Merge pull request #599 from diizy/master
Add some more interpolation algorithms
2014-04-13 18:51:24 +03:00
Vesa V
3a8f68d259 Merge pull request #600 from softrabbit/master
Organic: make mixing of oscillators independent of lower oscs
2014-04-13 18:50:46 +03:00
Vesa
26553cab17 Updates to bandlimitedwave code (using new interpolation) and Monstro 2014-04-13 12:48:38 +03:00
Raine M. Ekman
4b1952d90c Organic: make mixing of oscillators independent of lower oscs 2014-04-13 12:11:06 +03:00
Vesa
b150ea2a0d Add some fancy new interpolation algorithms 2014-04-13 10:34:38 +03:00
Tobias Doerffel
1f661be72c Merge remote-tracking branch 'origin/stable-1.0'
Conflicts:
	plugins/CMakeLists.txt
	plugins/zynaddsubfx/src/Effects/Alienwah.cpp
	src/core/track.cpp
2014-04-12 11:08:27 +02:00
Tobias Doerffel
b09d4f5f5d Merge pull request #592 from diizy/palette
LmmsPalette
2014-04-11 23:53:18 +02:00
Vesa
4b9f8c070f Forgot some cleanup 2014-04-11 11:20:04 +03:00
Vesa
43d503003e LmmsPalette: finally a working implementation 2014-04-11 11:07:49 +03:00
Vesa
ec69c48e5f LmmsPalette - continuing... still not working yet 2014-04-11 07:14:37 +03:00
Vesa
43cb962ae1 Initial implementation of LmmsPalette (doesn't work yet) 2014-04-10 10:51:06 +03:00
Tobias Doerffel
b32e602af5 Merge pull request #589 from diizy/master
AFP: add updated artwork, fix the bug where opening the plugin w/o sampl...
2014-04-09 23:53:22 +02:00
Vesa
2599370d53 AFP: add updated artwork, fix the bug where opening the plugin w/o samplebuffer glitches the wavegraph
Samplebuffer: use qualitysettings for interpolation (currently defaults to SINC_FASTEST on playback), also: in visualize, draw both channels instead of averaging them into one graph (otherwise, samplebuffers with counter-phase content show up as flatline)
2014-04-10 00:25:25 +03:00
Tobias Doerffel
d3aff6e1fb Merge pull request #583 from diizy/bandlimit
Monstro/Bandlimit updates
2014-04-09 22:02:07 +02:00
Tobias Doerffel
0068be62c0 Merge pull request #586 from JohannesLorenz/def_ctor_widgets
Def ctor for knob + logscale patch
2014-04-09 22:01:18 +02:00
Johannes Lorenz
63f6f2eab6 Final patch for logscales and knob with def ctors. 2014-04-09 13:18:01 +02:00
Johannes Lorenz
d08857bba8 knob without def ctors. 2014-04-09 12:31:53 +02:00
Johannes Lorenz
3d0ce057d6 Small fixes. Compiling, but stereo linking does still not work (see mailing list). 2014-04-09 12:31:21 +02:00
Johannes Lorenz
2b8e5c3992 Logscales, merged. 2014-04-09 12:31:21 +02:00
Vesa
2bfd19cc44 Move waveform generation away from main 2014-04-09 13:30:17 +03:00
Vesa
d5fa2568ed Further improvements to bandlimited waves 2014-04-09 13:03:34 +03:00
Tobias Doerffel
d6445b34b3 Merge pull request #581 from softrabbit/master
Fix broken command line rendering.
2014-04-09 09:48:10 +02:00
Vesa
7b0d829cc4 More fixes 2014-04-08 23:07:16 +03:00
Raine M. Ekman
93693fcd4b Fix broken command line rendering. Should always check that editor windows exist before using them. 2014-04-08 21:34:24 +03:00
Tobias Doerffel
024d62d574 Merge pull request #580 from diizy/master
Track: depointerize qproperties
2014-04-08 11:38:34 +02:00
Vesa
7b6d237a89 Track: depointerize qproperties 2014-04-08 12:24:55 +03:00
Vesa
5397bbeaf4 Bandlimit changes/algorithm tweaking, add sinc function to lmms_math 2014-04-08 12:06:39 +03:00
Tobias Doerffel
7596a58b6d Merge pull request #578 from diizy/bandlimit
Bandlimited waveform generation
2014-04-08 09:02:22 +02:00
Tobias Doerffel
2457990da9 Merge pull request #579 from zonkmachine/arpDownUp
Arpeggio - Down, up
2014-04-08 09:00:28 +02:00
Vesa
13237f9c8e Monstro: use phase delta instead of frequency for deciding which wavetable to use 2014-04-08 09:48:43 +03:00
Oskar Wallgren
dbd865d879 Merge branch 'master' into arpDownUp 2014-04-08 01:38:32 +02:00
Vesa
e10bbeb84e Bandlimited wave generation implemented for LMMS, currently only utilized by Monstro 2014-04-07 22:55:44 +03:00
Tobias Doerffel
1d7794e02a Merge pull request #576 from diizy/master
FxMixerView: fix the fx chain UI (so we'll be able to see more than 2/3 ...
2014-04-07 11:16:10 +02:00
Vesa
9024647f32 FxMixerView: fix the fx chain UI (so we'll be able to see more than 2/3 of an fx) 2014-04-07 04:54:42 +03:00
Vesa
0956270dd9 FxMixerView: fix the fx chain UI (so we'll be able to see more than 2/3 of an fx) 2014-04-07 02:54:32 +03:00
Tobias Doerffel
b1062173fc Merge pull request #571 from grejppi/kicker
kicker: fix oversight in version check
2014-04-06 21:58:05 +02:00
Tobias Doerffel
f21fbf1946 Merge pull request #569 from diizy/loops
AFP, Samplebuffer updates
2014-04-06 21:57:17 +02:00
Tobias Doerffel
46b7f7f1c4 Merge pull request #567 from diizy/master
CSS styling features, Monstro updates
2014-04-06 21:55:29 +02:00
Vesa
445a31e54a Monstro: tweak the constants a bit 2014-04-06 22:14:54 +03:00
Vesa
a21928fe39 Monstro updates: fixes, improvements, optimizations 2014-04-06 20:58:09 +03:00
Vesa
e11c1cb8fc For consistency, define text colour of bb-tracks in CSS too 2014-04-06 11:38:12 +03:00
Vesa
994dcd3964 TCOView: Make patternviews foreground elements stylable with qproperties 2014-04-06 11:38:12 +03:00
Vesa
3bcffcdf5b Track: make the song editor background CSS-stylable with qproperties 2014-04-06 11:38:12 +03:00
Hannu Haahti
13b6c834d6 kicker: fix oversight in version check 2014-04-06 02:48:17 +03:00
Vesa
59794b35a8 AFP: fix loadsettings 2014-04-05 21:50:55 +03:00
Johannes Lorenz
554323dcb6 Current logscales fix. 2014-04-05 09:05:22 +02:00
Johannes Lorenz
1f5ef70d2c Logscales temporary commit. 2014-04-05 08:15:35 +02:00
Tobias Doerffel
bd691e6d68 Merge pull request #564 from diizy/master
Optimize linear interpolation function
2014-04-05 07:43:11 +02:00
Tobias Doerffel
4455faceb6 Merge pull request #565 from grejppi/master
move fastPow() to lmms_math.h
2014-04-05 07:42:52 +02:00
Vesa
e8eaa1f2c2 Monstro fixes: envelope accuracy betterified 2014-04-05 04:20:48 +03:00
Hannu Haahti
6c33b4af80 moved fastPow() to lmms_math.h 2014-04-05 03:32:54 +03:00
Vesa
9bef55c7f5 Add usage of linearInterpolate() to several places (mostly my plugins for now but i'll add more if i find them) 2014-04-05 02:23:17 +03:00
Vesa
5ced0c083f Optimize linear interpolation function 2014-04-05 01:18:15 +03:00
Vesa
55f678b80d Samplebuffer changes - we can just directly read floats from libsndfile, seems to work (faster) this way 2014-04-05 00:56:21 +03:00
Tobias Doerffel
b0cdcc639e Merge pull request #559 from diizy/loops
SampleBuffer: fix a segfault when moving a loop point while playing a no...
2014-04-04 09:21:18 +02:00
Vesa
afa1275af9 SampleBuffer: fix a segfault when moving a loop point while playing a note, also do some sptring cleanup (some unused/redundant variables removed)
Also, some codepath optimization: add a method to SampleBuffer for setting all loop/start/endpoints at once, so we don't have to wait for mutex unlocks 4 times in a row. Then make AFP utilize this method.
2014-04-04 02:48:04 +03:00
Tobias Doerffel
19aec58abc Merge pull request #558 from diizy/fixclosecrash
Fix close on crash patch which was  posted on the mailing list by Filipe...
2014-04-04 00:30:30 +02:00
Vesa
7730f4821d Fix close on crash patch which was posted on the mailing list by Filipe Coelho 2014-04-04 01:19:44 +03:00
Tobias Doerffel
647240624d Merge pull request #557 from diizy/loops
SampleBuffer, AFP: implement ping-pong loop mode
2014-04-03 23:44:55 +02:00
Vesa
0442be3729 Finish ping pong loop implementation in AFP 2014-04-04 00:40:03 +03:00
Vesa
7350f983b0 Ping-pong loop implementation: done, starting on AFP changes... 2014-04-04 00:40:03 +03:00
Vesa
0cfda7d1f4 Initial ping-pong loop implementation 2014-04-04 00:40:03 +03:00
Tobias Doerffel
61569864b4 Merge pull request #553 from diizy/master
Timeline: Change loop points into different graphics
2014-04-01 19:57:48 +02:00
Vesa
030f9566c8 Finish previous 2014-04-01 19:24:48 +03:00
Vesa
0140e94f79 Make loop points different 2014-04-01 19:13:36 +03:00
Tobias Doerffel
80aa502e36 Merge pull request #550 from diizy/vsttest
Update aeffectx.h
2014-04-01 16:11:43 +02:00
Vesa
4355a2f0bb Remove comment 2014-04-01 01:27:24 +03:00
Vesa
95ecb51b51 Update aeffectx.h 2014-04-01 00:02:21 +03:00
Tobias Doerffel
174eb18062 Merge pull request #547 from diizy/master
New FX Mixer: GUI improvements - better icons for send button, fade the ...
2014-03-31 15:51:01 +02:00
Vesa
12c6ec25c9 New FX Mixer: GUI improvements - better icons for send button, fade the arrow a bit, use smaller knob that fits better 2014-03-31 16:42:27 +03:00
Tobias Doerffel
114e2f71ee Merge pull request #545 from grejppi/kicker
Kicker: backwards compatibility and some presets
2014-03-31 14:25:29 +02:00
Tobias Doerffel
ebd8d247d8 Merge pull request #544 from diizy/monstro
Monstro
2014-03-31 14:25:22 +02:00
Hannu Haahti
643de68907 kicker: add some presets to demonstrate its new features 2014-03-31 06:41:56 +03:00
Hannu Haahti
243c66e0e8 kicker: backwards compatibility 2014-03-31 06:34:58 +03:00
Oskar Wallgren
df6fa14bf3 New arpeggio direction - Down, up 2014-03-31 00:50:05 +02:00
Vesa
8f065c198a Monstro: add sync mechanism, make LFOs running, fix remaining small bugs 2014-03-31 01:37:38 +03:00
Tobias Doerffel
2a237c7c74 Merge pull request #542 from grejppi/master-browser
fileBrowser: keep filter after refresh
2014-03-30 23:14:55 +02:00
Hannu Haahti
d2a0723e14 fileBrowser: keep filter after refresh 2014-03-30 21:59:42 +03:00
Vesa
fc7c985c54 Monstro - envelope fix 2014-03-30 16:11:12 +03:00
Vesa
3b80ec74d1 Monstro - fixes, new waveforms 2014-03-30 15:18:29 +03:00
Tobias Doerffel
bbe6ee226e Merge pull request #539 from grejppi/kicker
Improvements to Kicker (work in progress)
2014-03-30 12:45:25 +02:00
Tobias Doerffel
d6efd028e1 TrackContainerView: disable undo/redo for track creation/removal
Due to the complex implementation of BB tracks it's hard to implement
a reliable undo/redo journalling for whole TrackContainerViews.

Closes #531.
2014-03-30 12:40:05 +02:00
Tobias Doerffel
75d8ab54be TrackContainerView: add journal checkpoints in view rather than model 2014-03-30 12:39:12 +02:00
Tobias Doerffel
bd1d9356b5 TrackContentObjectView: add journal checkpoint in remove() rather than close()
The remove() slot is only called upon user interaction (i.e. right click)
and thus the correct place where to make checkpoints.
2014-03-30 12:37:28 +02:00
Tobias Doerffel
118fb5122e Merge remote-tracking branch 'origin/stable-1.0' 2014-03-30 12:30:02 +02:00
Tobias Doerffel
083d1889ee BbEditor: use foreach() loop 2014-03-30 12:29:25 +02:00
Tobias Doerffel
e924888eb6 BbTrack: replaced static numOfBBTrack() by proper index() method 2014-03-30 12:28:53 +02:00
Vesa
32e981a518 Monstro - more alg. tweaks - getting better 2014-03-30 04:08:26 +03:00
Vesa
9f594268c8 Monstro - More fixes.. 2014-03-30 01:43:20 +02:00
Vesa
252e0609fa Monstro: fix again... 2014-03-30 00:32:26 +02:00
Vesa
c892c7a819 Monstro: Fix previous stupidity... 2014-03-30 00:29:03 +02:00
Vesa
8aad594cbd Monstro: algorithm tweaks, fixes, optimizations 2014-03-30 00:21:07 +02:00
Vesa
460bb0420c Negative volume env. fix 2014-03-29 23:23:04 +02:00
Vesa
8eaf629439 Add applyrelease 2014-03-29 23:08:25 +02:00
Vesa
78bcb8423f New instrument... Codename: Monstro. May be subject to a rename later. 2014-03-29 23:01:44 +02:00
Hannu Haahti
09630f1d56 kicker: reordered knobs 2014-03-29 21:18:01 +02:00
Hannu Haahti
b4421700fa kicker: some cleanup 2014-03-29 16:14:30 +02:00
Hannu Haahti
29c2d3fb1a kicker: possible to play notes too 2014-03-29 16:14:29 +02:00
Hannu Haahti
0967d91f44 paranoid 2014-03-29 16:14:29 +02:00
Hannu Haahti
8d987aabd4 kicker: noise improvements, decay -> length 2014-03-29 16:14:29 +02:00
Hannu Haahti
f1f6c71aa1 kicker: noise option + artwork 2014-03-29 16:14:29 +02:00
Hannu Haahti
172cffa3c5 kicker: envelope slope 2014-03-29 16:14:29 +02:00
Hannu Haahti
f53ecdf023 kicker: click param 2014-03-29 16:14:29 +02:00
Hannu Haahti
a4f0707939 slope param for kicker 2014-03-29 16:14:29 +02:00
Tobias Doerffel
ebc11f8558 ZynAddSubFX: update 2014-03-29 10:08:53 +01:00
Tobias Doerffel
f06119e787 Merge pull request #526 from diizy/loops
AFP: Add loopback point
2014-03-28 22:43:25 +01:00
Tobias Doerffel
66f5915425 Merge pull request #530 from softrabbit/bugs_283_303
AutomationEditor: horizontal grid drawing improvements
2014-03-28 22:41:54 +01:00
Vesa
8c0b22eca8 Forgot to clean some debug code... 2014-03-28 21:27:05 +02:00
Vesa
5c142cb2a4 AFP: add a separate loopback point, and knob to control it. 2014-03-28 21:27:05 +02:00
Raine M. Ekman
166a493eef Removed an unnecessary QDebug include 2014-03-28 19:14:53 +02:00
Tobias Doerffel
78337e5ac6 ZynAddSubFX: integrated latest version 2014-03-27 20:51:47 +01:00
Tobias Doerffel
9738b6ffce Merge remote-tracking branch 'origin/stable-0.4-zynaddsubfx-update'
Conflicts:
	plugins/zynaddsubfx/src/DSP/AnalogFilter.h
	plugins/zynaddsubfx/src/Effects/EffectLFO.h
	plugins/zynaddsubfx/src/Effects/Reverb.h
	plugins/zynaddsubfx/src/UI/EffUI.fl
	plugins/zynaddsubfx/src/UI/EffUI.h
	plugins/zynaddsubfx/src/UI/EnvelopeUI.fl
	plugins/zynaddsubfx/src/UI/EnvelopeUI.h
	plugins/zynaddsubfx/src/UI/FilterUI.fl
	plugins/zynaddsubfx/src/UI/FilterUI.h
	plugins/zynaddsubfx/src/UI/PartUI.cc
2014-03-27 20:34:49 +01:00
Tobias Doerffel
255b2a2f49 Merge pull request #513 from diizy/wavetablesynth
Wavetablesynth
2014-03-26 13:03:10 +01:00
Vesa
b272581632 Remove unnecessary if clauses 2014-03-26 13:38:07 +02:00
Vesa
1d30222b90 Watsyn: further optimizations, add two presets 2014-03-26 13:25:14 +02:00
Tobias Doerffel
c00926e777 Merge branch 'master' of github.com:LMMS/lmms 2014-03-26 11:40:55 +01:00
Tobias Doerffel
6650dd356d NotePlayHandle, InstrumentFunctions: reworked stacking and arpeggio handling
Instead of having various flags for realizing the arpeggion functionality
use a more generic approach here using the recently introduced "origin"
property.
2014-03-26 11:40:32 +01:00
Tobias Doerffel
89dc820d7b Merge remote-tracking branch 'origin/stable-0.4-new-fx-mixer'
Conflicts:
	include/PlayHandle.h
	src/core/FxMixer.cpp
	src/core/Mixer.cpp
	src/gui/FxMixerView.cpp
	src/tracks/InstrumentTrack.cpp
2014-03-26 11:21:15 +01:00
Tobias Doerffel
8e4d66d707 Merge branch 'stable-1.0' 2014-03-26 11:06:57 +01:00
Tobias Doerffel
55396dc981 Merge pull request #511 from diizy/wavetablesynth
Watsyn: Add smart oversampling interpolation
2014-03-26 09:30:34 +01:00
Vesa
07d37e0fbc Forgot to change phasemod constant 2014-03-26 00:39:27 +02:00
Vesa
19b56779e9 Add smart oversampling interpolation 2014-03-26 00:22:14 +02:00
Tobias Doerffel
99e1a1b658 Merge pull request #510 from diizy/wavetablesynth
Watsyn: Switch back to linear interpolation...
2014-03-25 10:44:00 +01:00
Vesa
1168dc0558 Switch back to linear interpolation... 2014-03-25 10:45:50 +02:00
Tobias Doerffel
e1eb54cf6f Merge pull request #508 from diizy/wavetablesynth
Watsyn wavetablesynth
2014-03-25 08:58:24 +01:00
Vesa
b118c23123 Rename & refactor to Watsyn, add logo, tweak some algorithms 2014-03-25 02:15:03 +02:00
Vesa
8109d38f2e I forgot how to think... fix all stupidity of the last commit 2014-03-24 21:43:29 +02:00
Vesa
bfa73aa5a5 Changes again - moved frequency calculations to a static method... for some reason this saves a lot of cpu. 2014-03-24 21:43:29 +02:00
Vesa
7f98215c29 Add crosstalk knob, some code changes 2014-03-24 21:43:29 +02:00
Vesa
e38ef81e03 Add waveform load button, better button graphics 2014-03-24 21:43:29 +02:00
Vesa
6eca2b422c fix env tempo sync 2014-03-24 21:43:29 +02:00
Vesa
badd8339f5 fix previous 2014-03-24 21:43:28 +02:00
Vesa
e58e55660a Add hold knob 2014-03-24 21:43:28 +02:00
Vesa
ea8744b2ce Adjust previous 2014-03-24 21:43:28 +02:00
Vesa
ed2b63b1ff Added simple mix envelope 2014-03-24 21:43:28 +02:00
Vesa
10994e3ae5 Copy wavegraphs to synthobject at note start, prevent hangups if wave edited while playing 2014-03-24 21:43:28 +02:00
Vesa
b574e1c1ca Revert earlier 2014-03-24 21:43:28 +02:00
Vesa
f7e107ea2c Add some mixer locks 2014-03-24 21:43:28 +02:00
Vesa
4924dadaa5 Graphics 2014-03-24 21:43:28 +02:00
Vesa
89089886fa Correct phase mod algo (add below-bounds check) 2014-03-24 21:43:27 +02:00
Vesa
861a7d1ce1 Fix mixing / modulation behaviour, add some more buffer safeguards 2014-03-24 21:43:27 +02:00
Vesa
d8d9ac21cd Move stream buffers to the synth object 2014-03-24 21:43:27 +02:00
Vesa
42e44b739f Fixed multiplier weirdness 2014-03-24 21:43:27 +02:00
Vesa
95bf833ace Updates, fixes etc 2014-03-24 21:43:27 +02:00
Vesa
9b394b3660 Changes... now it seems to work 2014-03-24 21:43:27 +02:00
Vesa
da2a26572f Changes 2014-03-24 21:43:27 +02:00
Vesa
23b3179e1f WTSynth files 2014-03-24 21:43:27 +02:00
Vesa
0fa2908f7f Start wavetable synth 2014-03-24 21:43:27 +02:00
Tobias Doerffel
7b8eaa6835 Merge remote-tracking branch 'origin/stable-0.4-undo-redo'
Conflicts:
	include/AutomatableModel.h
	include/MidiPort.h
	include/TrackContainerView.h
	include/surround_area.h
	include/track.h
	src/core/AutomatableModel.cpp
	src/core/TrackContainer.cpp
	src/core/note.cpp
	src/core/track.cpp
	src/gui/PianoRoll.cpp
	src/gui/TrackContainerView.cpp
	src/gui/widgets/LcdSpinBox.cpp
2014-03-24 19:37:26 +01:00
Raine M. Ekman
23165043c8 Merge https://github.com/LMMS/lmms into bugs_283_303 2014-03-17 20:59:05 +02:00
Raine M. Ekman
16ea5d7f52 Merge https://github.com/LMMS/lmms into bugs_283_303 2014-03-16 10:13:52 +02:00
Raine M. Ekman
5600d98661 Merge https://github.com/LMMS/lmms into bugs_283_303 2014-03-15 21:06:23 +02:00
Raine M. Ekman
eeb8ebdf4e Merge https://github.com/LMMS/lmms into bugs_283_303 2014-03-14 20:44:27 +02:00
Raine M. Ekman
b7410f81d0 Merge https://github.com/LMMS/lmms into bugs_283_303 2014-03-10 18:42:00 +02:00
Raine M. Ekman
84f1e1a6da AutomationEditor: fix grid drawing, now both time signatures other than 4/4 and scrolling should work quite a bit better. 2014-03-09 14:51:19 +02:00
Tobias Doerffel
7d6f661590 ZynAddSubFX: update submodule reference 2014-02-18 23:00:54 +01:00
Tobias Doerffel
1cf3daed93 ZynAddSubFX: update submodule reference 2014-02-18 20:54:39 +01:00
Tobias Doerffel
296a1585bd ZynAddSubFX: update submodule reference 2014-02-18 20:48:50 +01:00
Tobias Doerffel
66ca51bf43 RemoteZynAddSubFX: start/stop NIO system
Fixes crash when showing GUI of ZynAddSubFX.
2014-02-18 20:48:21 +01:00
Tobias Doerffel
df53432289 ZynAddSubFX: define PLUGINVERSION macro
Removes exit confirmation dialogs etc. in MasterUI.fl
2014-02-18 20:47:54 +01:00
Tobias Doerffel
a5f21cf61b ZynAddSubFX: initialize IO engine after setting up synth instance 2014-02-18 20:28:34 +01:00
Tobias Doerffel
71103a71ba VeSTige: adapt rename of MidiMaxKey constant 2014-02-18 20:24:36 +01:00
Tobias Doerffel
ed56bdc47d ZynAddSubFX: Use upstream icon file 2014-02-18 20:03:41 +01:00
Tobias Doerffel
9209ef59e3 Initial integration of updated ZynAddSubFX 2014-02-18 19:59:40 +01:00
Tobias Doerffel
f969bd4650 Added separate ZynAddSubFX repository as submodule 2014-02-18 19:59:26 +01:00
Tobias Doerffel
12939c24df InstrumentTrack: set range of FX channel model to infinite when loading settings
When loading a project, instrument tracks usually are instantiated/loaded
before the FX mixer settings are loaded which results in an empty FX mixer
and thus 0 FX channels. The actual FX channel value for the instrument track
would be lost that way. Therefore set a big value which is being corrected
later by the FxMixerView for all instruments.
2014-01-17 20:01:24 +01:00
Tobias Doerffel
c868d691ab Merge branch 'stable-0.4' into stable-0.4-new-fx-mixer
Conflicts:
	src/core/FxMixer.cpp
	src/gui/FxMixerView.cpp
2014-01-17 19:56:51 +01:00
Tobias Doerffel
dddf5eb61c FxMixer: ignore mute state in addChannelLeaf() to fix lockup
Even if we do not process the FX chain later, we at least have to enqueue
all related FX channels to the job queue in order to prevent a lockup.
2014-01-17 19:53:05 +01:00
Tobias Doerffel
abc3c8080f Merge branch 'stable-0.4' into stable-0.4-new-fx-mixer 2014-01-16 23:08:04 +01:00
Tobias Doerffel
ee9160c024 Merge branch 'stable-0.4' into stable-0.4-new-fx-mixer 2014-01-16 18:25:39 +01:00
Tobias Doerffel
6993eda404 Merge branch 'stable-0.4' into stable-0.4-new-fx-mixer
Conflicts:
	src/gui/FxMixerView.cpp
2014-01-15 22:59:49 +01:00
tobydox
4728fb425a Merge pull request #25 from diizy/stable-0.4-new-fx-mixer
Ported the FX mixer UI changes from stable-0.4
2014-01-15 13:20:21 -08:00
Vesa
037b977137 Ported the FX mixer UI changes from stable-0.4 2014-01-15 21:51:35 +02:00
Tobias Doerffel
dbb4a8e6ab FxMixerView: fixed clear()
Before calling refreshDisplay() we have to actually clear the backend model.
2014-01-14 18:18:59 +01:00
Tobias Doerffel
27b51c2508 Song: added missing refresh of FxMixerView when loading project
Missed this call when backporting.
2014-01-14 18:17:51 +01:00
Tobias Doerffel
5b480dd898 FxMixer: rewrote loop for adjusting FX channel models in deleteChannel() 2014-01-14 18:04:51 +01:00
Tobias Doerffel
af693c562c Merge branch 'stable-0.4' into stable-0.4-new-fx-mixer 2014-01-14 18:02:13 +01:00
Tobias Doerffel
a955fb755a FxMixer, Mixer, FxMixerView: backported FX send support from master branch
There once have been huge efforts to implement FX send support in the
master branch. In order to make it available on a stable base here's
a backport which is non-trivial as there have been major rewrites of
the mixer's worker thread architecture.

There still seem to be bugs which we have to fix before merging into
stable branch.

Thanks to Andrew Kelley for the original work.
2014-01-08 23:21:41 +01:00
Tobias Doerffel
4f9ec51d7a JournallingObject: header cleanups
No need to include various QtCore header files anymore. Fix resulting
missing headers in some other files.
2014-01-07 23:51:31 +01:00
Tobias Doerffel
4641a8001b JournallingObject, ProjectJournal: global checkpoint management
There's no need for having each JournallingObject maintain it's own
checkpoints and build a complex (and buggy) logic in ProjectJournal
in order to manage all the JournallingObject with their checkpoints.

Instead do it the simple way: in ProjectJournal maintain a stack for
undo checkpoints and a stack for redo checkpoints. On each undo or redo
operation simply push and pop to/from the according stacks and save
and load states of the concerned JournallingObject.

This basically strips most functionality from JournallingObject. All
what's left is the management of its ID which unluckily is still
required in order to properly implement undo/redo of additions and
removals of JournallingObject.
2014-01-07 23:50:27 +01:00
Tobias Doerffel
1f203a10f9 Widgets/Knob: only restore journalling state on release of left mouse button
Do not try to restore the journalling state of the underlying model when
releasing e.g the right mouse button as this causes a crash otherwise.
2014-01-07 23:49:07 +01:00
Tobias Doerffel
d0f6eaef3b PianoRoll: initial undo/redo support
Most editing operations in PianoRoll are now tracked by the revised
journalling and thus are included in global undo/redo.
2014-01-07 23:48:48 +01:00
Tobias Doerffel
a5c3cf6a99 Revised journalling (undo/redo) to record full states instead of changes
Recording single changes of objects or their specific properties is
completely superfluous as we have full implemented state tracking in all
objects already. Therefore use SerializingObject::saveState() and
SerializingObject::restoreState() in order to implement the undo/redo
functionality.

This is just an initial commit and needs some further work (especially
regarding stability). However even things like undo/redo of
addition/removal of Tracks and TrackContentObjects do work already.
2014-01-07 23:48:09 +01:00
3682 changed files with 499047 additions and 337657 deletions

31
.appveyor.yml Normal file
View File

@@ -0,0 +1,31 @@
clone_depth: 1
version: "{build}"
image: Visual Studio 2017
platform:
- x86
- x64
environment:
matrix:
- compiler: msvc
install:
- cd C:\Tools\vcpkg
- git pull
- .\bootstrap-vcpkg.bat
- cd %APPVEYOR_BUILD_FOLDER%
- vcpkg install --triplet %PLATFORM%-windows --recurse fftw3 libsamplerate libsndfile lilv lv2 sdl2
- nuget install clcache -Version 4.1.0
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- mkdir build
- cd build
- ps: $env:CMAKE_PLATFORM="$(if ($env:PLATFORM -eq 'x64') { 'x64' } else { '' })"
- ps: $env:QT_SUFFIX="$(if ($env:PLATFORM -eq 'x64') { '_64' } else { '' })"
- cmake -DUSE_COMPILE_CACHE=ON -DCACHE_TOOL=%APPVEYOR_BUILD_FOLDER%/clcache.4.1.0/clcache-4.1.0/clcache.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=c:/Qt/5.12/msvc2017%QT_SUFFIX%;c:/tools/vcpkg/installed/%PLATFORM%-windows -DCMAKE_GENERATOR_PLATFORM="%CMAKE_PLATFORM%" ..
- cmake --build . -- /maxcpucount:4
- cmake --build . --target tests
- cmake --build . --target package
artifacts:
- path: 'build\lmms-*.exe'
name: Installer
cache:
- c:/tools/vcpkg/installed

222
.circleci/config.yml Normal file
View File

@@ -0,0 +1,222 @@
version: 2
shared:
restore_cache: &restore_cache
restore_cache:
keys:
- ccache-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}
- ccache-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
- ccache-{{ arch }}
save_cache: &save_cache
save_cache:
key: ccache-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ .BuildNum }}
paths:
- ~/.ccache
restore_homebrew_cache: &restore_homebrew_cache
restore_cache:
keys:
- homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}
- homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
- homebrew-{{ arch }}
save_homebrew_cache: &save_homebrew_cache
save_cache:
key: homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ .BuildNum }}
paths:
- ~/Library/Caches/Homebrew
- /usr/local/Homebrew
ccache_stats: &ccache_stats
run:
name: Print ccache statistics
command: |
echo "[ccache config]"
ccache -p
echo "[ccache stats]"
ccache -s
# Commmon initializing commands
init: &init
run:
name: Initialize
command: |
mkdir -p /tmp/artifacts
# Workaround for failing submodule fetching
git config --global --unset url."ssh://git@github.com".insteadOf || true
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
echo "Fetching out merged pull request"
git fetch -u origin refs/pull/${CIRCLE_PR_NUMBER}/merge:pr/merge
git checkout pr/merge
else
echo "Not a pull request"
fi
# Commmon environment variables
common_environment: &common_environment
QT5: True
CMAKE_OPTS: -DUSE_WERROR=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_CCACHE=ON
CCACHE_MAXSIZE: 500M
CCACHE_LOGFILE: /tmp/artifacts/ccache.log
MAKEFLAGS: -j6
jobs:
mingw32:
environment:
<<: *common_environment
docker:
- image: lmmsci/linux.mingw32:18.04
steps:
- checkout
- *init
- *restore_cache
- run:
name: Building
command: |
mkdir build && cd build
../cmake/build_win32.sh
make lmms
make
- run:
name: Build tests
command: cd build && make tests
- run:
name: Build installer
command: |
cd build
make package
cp ./lmms-*.exe /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *ccache_stats
- *save_cache
mingw64:
environment:
<<: *common_environment
docker:
- image: lmmsci/linux.mingw64:18.04
steps:
- checkout
- *init
- *restore_cache
- run:
name: Building
command: |
mkdir build && cd build
../cmake/build_win64.sh
make
- run:
name: Build tests
command: cd build && make tests
- run:
name: Build installer
command: |
cd build
make package
cp ./lmms-*.exe /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *ccache_stats
- *save_cache
linux.gcc:
docker:
- image: lmmsci/linux.gcc:16.04
environment:
<<: *common_environment
steps:
- checkout
- *init
- *restore_cache
- run:
name: Configure
command: |
source /opt/qt5*/bin/qt5*-env.sh || true
mkdir build && cd build
cmake .. $CMAKE_OPTS -DCMAKE_INSTALL_PREFIX=./install
- run:
name: Build
command: cd build && make
- run:
name: Build tests
command: cd build && make tests
- run:
name: Run tests
command: build/tests/tests
- *ccache_stats
- run:
name: Build AppImage
command: |
cd build
make install
make appimage || (cat appimage.log && false)
cp ./lmms-*.AppImage /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- store_artifacts:
path: build/appimage.log
destination: /
- *save_cache
shellcheck:
docker:
- image: koalaman/shellcheck-alpine:v0.4.6
steps:
- checkout
- run:
name: Shellcheck
command: shellcheck $(find "./cmake/" -type f -name '*.sh' -o -name "*.sh.in")
macos:
environment:
<<: *common_environment
macos:
xcode: "10.3.0"
steps:
- checkout
- *init
- *restore_homebrew_cache
- *restore_cache
- run:
name: Install Homebrew dependencies
command: |
# uninstall Homebrew's python 2 to prevent errors on brew install
brew uninstall python@2 || true
brew update && brew install ccache fftw cmake pkg-config libogg libvorbis lame libsndfile libsamplerate jack sdl libgig libsoundio lilv lv2 stk fluid-synth portaudio fltk qt5 carla
- run:
name: Install nodejs dependencies
command: npm install -g appdmg
- run:
name: Building
command: |
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX="../target" -DCMAKE_PREFIX_PATH="$(brew --prefix qt5)" $CMAKE_OPTS -DUSE_WERROR=OFF
make
- run:
name: Build tests
command: cd build && make tests
- run:
name: Run tests
command: build/tests/tests
- run:
name: Build DMG
command: |
cd build
make install
make dmg
cp ./lmms-*.dmg /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *save_cache
- *save_homebrew_cache
workflows:
version: 2
build-and-test:
jobs:
- macos
- mingw32
- mingw64
- linux.gcc
- shellcheck

5
.editorconfig Normal file
View File

@@ -0,0 +1,5 @@
root = true
[*]
indent_style = tab
tab_width = 4

1
.gitattributes vendored
View File

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

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
custom: https://lmms.io/get-involved/#donate

36
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
# Please search the issue tracker for existing bug reports before submitting your own. Delete this line to confirm no similar report has been posted yet.
### Bug Summary
#### Steps to reproduce
#### Expected behavior
#### Actual behavior
#### Screenshot
#### Affected LMMS versions
<!--
LMMS's version is visible on the splash screen and under Help > About.
If your version isn't from lmms.io/download, please note which branch it was built from.
Finally, if possible, please test if the bug occurs on both stable and master.
-->
#### Logs
<details>
<summary>Click to expand</summary>
<pre>
<!-- paste logs here -->
</pre>
</details>

4
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
contact_links:
- name: Get help on Discord
url: https://lmms.io/chat/
about: Need help? Have a question? Reach out to other LMMS users on our Discord server!

View File

@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
# Please search the issue tracker for existing feature requests before submitting your own. Delete this line to confirm no similar request has been posted yet.
### Enhancement Summary
#### Justification
#### Mockup
<!-- If your request encompasses changes to the user interface, provide a mockup of your proposal here -->

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

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

6
.gitignore vendored
View File

@@ -1,5 +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

51
.gitmodules vendored Normal file
View File

@@ -0,0 +1,51 @@
[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/mjansson/rpmalloc.git
[submodule "plugins/zynaddsubfx/zynaddsubfx"]
path = plugins/zynaddsubfx/zynaddsubfx
url = https://github.com/lmms/zynaddsubfx.git
[submodule "plugins/FreeBoy/game-music-emu"]
path = plugins/FreeBoy/game-music-emu
url = https://bitbucket.org/mpyne/game-music-emu.git
[submodule "plugins/OpulenZ/adplug"]
path = plugins/OpulenZ/adplug
url = https://github.com/adplug/adplug.git
[submodule "plugins/LadspaEffect/calf/veal"]
path = plugins/LadspaEffect/calf/veal
url = https://github.com/lmms/veal
[submodule "plugins/Xpressive/exprtk"]
path = plugins/Xpressive/exprtk
url = https://github.com/ArashPartow/exprtk
[submodule "plugins/LadspaEffect/swh/ladspa"]
path = plugins/LadspaEffect/swh/ladspa
url = https://github.com/swh/ladspa
[submodule "plugins/LadspaEffect/tap/tap-plugins"]
path = plugins/LadspaEffect/tap/tap-plugins
url = https://github.com/tomszilagyi/tap-plugins
[submodule "src/3rdparty/weakjack/weakjack"]
path = src/3rdparty/weakjack/weakjack
url = https://github.com/x42/weakjack.git
[submodule "src/3rdparty/mingw-std-threads"]
path = src/3rdparty/mingw-std-threads
url = https://github.com/meganz/mingw-std-threads.git
[submodule "doc/wiki"]
path = doc/wiki
url = https://github.com/lmms/lmms.wiki.git
[submodule "src/3rdparty/ringbuffer"]
path = src/3rdparty/ringbuffer
url = https://github.com/JohannesLorenz/ringbuffer.git
[submodule "plugins/carlabase/carla"]
path = plugins/carlabase/carla
url = https://github.com/falktx/carla
[submodule "plugins/sid/resid"]
path = plugins/Sid/resid
url = https://github.com/simonowen/resid
[submodule "src/3rdparty/jack2"]
path = src/3rdparty/jack2
url = https://github.com/jackaudio/jack2
[submodule "plugins/LadspaEffect/cmt/cmt"]
path = plugins/LadspaEffect/cmt/cmt
url = https://github.com/lmms/cmt

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,26 @@ 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>
Olivier Humbert <trebmuh@tuxfamily.org> <trebmuh@users.noreply.github.com>
Hussam al-Homsi <sawuare@gmail.com> Hussam Eddin Alhomsi <hussameddin.alhomsi@gmail.com>

View File

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

View File

@@ -1,6 +1,33 @@
language: cpp
compiler: gcc
before_install: sudo apt-get update
install: sudo apt-get install 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
before_script: mkdir build && cd build
script: cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. && make -j8 VERBOSE=1
dist: xenial
sudo: required
cache:
directories:
- $HOME/apt_mingw_cache
- $HOME/.ccache
- $HOME/pbuilder-bases
matrix:
include:
- env: TYPE=style
- os: linux
- env: TARGET_OS=debian-sid TARGET_DEPLOY=True
git:
depth: false
- env: TARGET_OS=debian-sid TARGET_ARCH=i386
git:
depth: false
- compiler: clang
env: TARGET_OS=debian-sid
git:
depth: false
- os: osx
osx_image: xcode10.3
before_install:
# appdmg doesn't work with old Node.js
- if [ "$TRAVIS_OS_NAME" = osx ]; then nvm install 10; fi
install: ${TRAVIS_BUILD_DIR}/.travis/install.sh
script: ${TRAVIS_BUILD_DIR}/.travis/script.sh
after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh
before_deploy:
- if [ "$TARGET_OS" != debian-sid ]; then make package; fi

7
.travis/after_script.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -e
if [ "$TYPE" != 'style' ]; then
ccache -s
fi

1
.travis/ccache.sha256 Normal file
View File

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

View File

@@ -0,0 +1,3 @@
314ef4af137903dfb13e8c3ef1e6ea56cfdb23808d52ec4f5f50e288c73610c5 pbuilder_0.229.1_all.deb
fa82aa8ed3055c6f6330104deedf080b26778295e589426d4c4dd0f2c2a5defa debootstrap_1.0.95_all.deb
2ef4c09f7841b72f93412803ddd142f72658536dbfabe00e449eb548f432f3f8 debian-archive-keyring_2017.7ubuntu1_all.deb

11
.travis/install.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
if [ "$TYPE" = 'style' ]; then
sudo apt-get -yqq update
sudo apt-get install shellcheck
else
"$TRAVIS_BUILD_DIR/.travis/$TRAVIS_OS_NAME.$TARGET_OS.before_install.sh"
"$TRAVIS_BUILD_DIR/.travis/$TRAVIS_OS_NAME.$TARGET_OS.install.sh"
fi

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -e
sudo add-apt-repository ppa:beineri/opt-qt592-xenial -y
sudo dpkg --add-architecture i386
sudo apt-get update -qq || true

23
.travis/linux..install.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e
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 fluid
libgig-dev libsoundio-dev qt59base qt59translations qt59tools"
# swh build dependencies
SWH_PACKAGES="perl libxml2-utils libxml-perl liblist-moreutils-perl"
# VST dependencies
VST_PACKAGES="wine-dev qt59x11extras qtbase5-private-dev libxcb-util0-dev libxcb-keysyms1-dev"
# LV2 dependencies; libsuil-dev is not required
LV2_PACKAGES="lv2-dev liblilv-dev"
# Help with unmet dependencies
PACKAGES="$PACKAGES $SWH_PACKAGES $VST_PACKAGES $LV2_PACKAGES libjack-jackd2-0"
# shellcheck disable=SC2086
sudo apt-get install -y $PACKAGES

15
.travis/linux..script.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
unset QTDIR QT_PLUGIN_PATH LD_LIBRARY_PATH
# shellcheck disable=SC1091
source /opt/qt59/bin/qt59-env.sh
set -e
mkdir build
cd build
# shellcheck disable=SC2086
cmake -DUSE_WERROR=ON -DCMAKE_INSTALL_PREFIX=../target $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,17 @@
#!/bin/sh
set -e
sudo apt-get install -y \
dpkg \
pbuilder
# work around a pbuilder bug which breaks ccache
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666525
# and also missing signing keys in Trusty's debian-archive-keyring
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
wget http://archive.ubuntu.com/ubuntu/pool/universe/d/debian-archive-keyring/debian-archive-keyring_2017.7ubuntu1_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 debian-archive-keyring_2017.7ubuntu1_all.deb
cd "$OLDPWD"

View File

@@ -0,0 +1,72 @@
#!/bin/bash
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
sync_version() {
local VERSION
local MMR
local STAGE
local EXTRA
VERSION=$(git describe --tags --match v[0-9].[0-9].[0-9]*)
VERSION=${VERSION#v}
MMR=${VERSION%%-*}
case $VERSION in
*-*-*-*)
VERSION=${VERSION%-*}
STAGE=${VERSION#*-}
STAGE=${STAGE%-*}
EXTRA=${VERSION##*-}
VERSION=$MMR~$STAGE.$EXTRA
;;
*-*-*)
VERSION=${VERSION%-*}
EXTRA=${VERSION##*-}
VERSION=$MMR.$EXTRA
;;
*-*)
STAGE=${VERSION#*-}
VERSION=$MMR~$STAGE
;;
esac
sed "1 s/@VERSION@/$VERSION/" -i debian/changelog
echo "Set Debian version to $VERSION"
}
sync_version
DIR="$PWD"
cd ..
dpkg-source -b "$DIR"
env -i CC="$CC" CXX="$CXX" sudo pbuilder --build --debbuildopts "--jobs=auto" \
--basetgz "$BASETGZ" ./*.dsc

16
.travis/linux.win.download.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
CACHE_DIR=$HOME/apt_mingw_cache/$1
mkdir -p "$CACHE_DIR"
pushd "$CACHE_DIR"
# shellcheck disable=SC2086
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,6 @@
#!/usr/bin/env bash
set -e
sudo add-apt-repository ppa:tobydox/mingw-x-trusty -y
sudo apt-get update -qq

29
.travis/linux.win32.install.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -e
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 mingw32-x-qt5base"
# swh build dependencies
SWH_PACKAGES="perl libxml2-utils libxml-perl liblist-moreutils-perl"
export MINGW_PACKAGES
"$TRAVIS_BUILD_DIR/.travis/linux.win.download.sh" win32
PACKAGES="nsis cloog-isl libmpc3 qt4-linguist-tools mingw32 $MINGW_PACKAGES $SWH_PACKAGES"
# shellcheck disable=SC2086
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

11
.travis/linux.win32.script.sh Executable file
View File

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

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -e
"$TRAVIS_BUILD_DIR/.travis/linux.win32.before_install.sh"

19
.travis/linux.win64.install.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -e
# First, install 32-bit deps
"$TRAVIS_BUILD_DIR/.travis/linux.win32.install.sh"
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 mingw64-x-qt5base"
export MINGW_PACKAGES
"$TRAVIS_BUILD_DIR/.travis/linux.win.download.sh" win64
# shellcheck disable=SC2086
sudo apt-get install -y $MINGW_PACKAGES

11
.travis/linux.win64.script.sh Executable file
View File

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

7
.travis/osx..before_install.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -e
brew update
# Python 2 may cause conflicts on dependency installation
brew unlink python@2 || true

22
.travis/osx..install.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -e
PACKAGES="cmake pkg-config libogg libvorbis lame libsndfile libsamplerate lilv lv2 jack sdl libgig libsoundio stk fluid-synth portaudio node fltk qt carla"
if "${TRAVIS}"; then
PACKAGES="$PACKAGES ccache"
fi
# removing already installed packages from the list
for p in $(brew list); do
PACKAGES=${PACKAGES//$p/}
done;
# shellcheck disable=SC2086
brew install $PACKAGES
# fftw tries to install gcc which conflicts with travis
brew install fftw --ignore-dependencies
npm install -g appdmg

16
.travis/osx..script.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
mkdir build
cd build
# Workaround; No FindQt5.cmake module exists
CMAKE_PREFIX_PATH="$(brew --prefix qt5)"
export CMAKE_PREFIX_PATH
# shellcheck disable=SC2086
cmake -DUSE_WERROR=OFF -DCMAKE_INSTALL_PREFIX=../target $CMAKE_FLAGS ..
make -j4
make tests
./tests/tests

48
.travis/script.sh Executable file
View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
set -e
if [ "$TYPE" = 'style' ]; then
# SC2185 is disabled because of: https://github.com/koalaman/shellcheck/issues/942
# once it's fixed, it should be enabled again
# shellcheck disable=SC2185
# shellcheck disable=SC2046
shellcheck $(find -O3 . -maxdepth 3 -type f -name '*.sh' -o -name "*.sh.in")
shellcheck doc/bash-completion/lmms
else
export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUNDLE_QT_TRANSLATIONS=ON"
if [ -z "$TRAVIS_TAG" ]; then
export CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_CCACHE=ON"
fi
"$TRAVIS_BUILD_DIR/.travis/$TRAVIS_OS_NAME.$TARGET_OS.script.sh"
# Package and upload non-tagged builds
if [ -n "$TRAVIS_TAG" ]; then
# Skip, handled by travis deploy instead
exit 0
elif [[ $TARGET_OS == win* ]]; then
cd build
make -j4 package
PACKAGE="$(ls lmms-*win*.exe)"
elif [[ $TRAVIS_OS_NAME == osx ]]; then
cd build
make -j4 install > /dev/null
make dmg
PACKAGE="$(ls lmms-*.dmg)"
elif [[ $TARGET_OS != debian-sid ]]; then
cd build
make -j4 install > /dev/null
make appimage
PACKAGE="$(ls lmms-*.AppImage)"
fi
echo "Uploading $PACKAGE to transfer.sh..."
# Limit the connection time to 3 minutes and total upload time to 5 minutes
# Otherwise the build may hang
curl --connect-timeout 180 --max-time 300 --upload-file "$PACKAGE" "https://transfer.sh/$PACKAGE" || true
fi

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

87
AUTHORS
View File

@@ -1,87 +0,0 @@
Tobias Doerffel
<tobydox/at/users/dot/sourceforge/dot/net>
Development Manager
Jonathan Aquilina
<eagles051387/at/gmail/dot/com>
Project Manager
Paul Giblock
<drfaygo/at/gmail/dot/com>
Development
Danny McRae
<khjklujn/at/yahoo.com>
Development
Javier Serrano Polo
<jasp00/at/terra/dot/es>
Development
Lukas Wohlschläger
<lukaswhl/at/gmail/dot/com>
Development
Andrew Kelley
<superjoe30/at/gmail/dot/com>
Development
Wong Cho Ching
<chwongie/hyphen/banana/at/yahoo/dot/com>
Development
Andreas Brandmaier
<andy/at/brandmaier/dot/de>
BitInvader plugin
Juan Fabián Simón
<treees@gmail.com>
Version 0.4 plugin artwork
Sebastian Tilsch
<djcompilation/at/gmx/dot/de>
Recording of many samples
Gabriel
<kryos1/at/shaw/dot/ca>
Additional artwork
Vesa Kivimäki
<contact/dot/diizy/at/nbl/dot/fi>
UI Lead developer
Gurjot Singh
<bhattigurjot/at/gmail/dot/com>
Developer
Hannu Haahti
<grejppi/at/gmail/dot/com>
Developer
Uroš Maravić
<uros/dot/maravic/at/gmail/dot/com>
UI Developer
Tobiasz Karoń (unfa)
<unfa/at/unfamusic/dot/com>
UI Developer
Johannes Lorenz
<johannes89/at/mailueberfall/dot/de>
Developer
Rubén Ibarra Pastor
<pastorrub/at/msn/dot/com>
Developer
LocoMatt
<samozelko123/at/gmail/dot/com>
3osc skin developer
Chrissy McManus
<chrissy/dot/mc/dot/1/at/hotmail/dot/co/dot/uk>
UI developer
Oskar Wallgren
<oskar/dot/wallgren13/at/gmail/dot/com>
Development

File diff suppressed because it is too large Load Diff

33
INSTALL
View File

@@ -1,33 +0,0 @@
Building LMMS got quite simple since 0.4.0 as everything is managed
by cmake now. Therefore make sure you have CMake (>= 2.6.0 recommended) and
then run
mkdir build
cd build
cmake ../
make
sudo make install
If your system does not have "sudo", become root with your preferred mechanism
and run the "make install" command.
With the above commands an out-of-tree build is performed. You can also run
"cmake ." directly in the root of source tree although this is not recommended.
When performing an out-of-tree build after there's already an in-tree build,
make sure to run "make distclean" before running cmake inside build-directory.
If you want to use custom compiler flags simply set the environment variables
CFLAGS and CXXFLAGS.
After running cmake (the 3rd command above) you can see a summary of things
that are going to be built into LMMS or built as plugins. Install the
according libraries and development files if a certain feature is not enabled.
Then remove CMakeCache.txt and run cmake again.
If you want to supply an install prefix to cmake, add the flag:
-DCMAKE_INSTALL_PREFIX=<prefix>
Where <prefix> can be /usr, /usr/local, /opt, etc. The default is /usr/local.

67
INSTALL.txt Normal file
View File

@@ -0,0 +1,67 @@
This project uses git submodules and several are required for a successful
build. If this tarball was NOT provided with submodules (default), some source
dependencies will need to be manually added to src/3rdparty.
If this project WAS provided with submodules, there are detailed dependencies
(e.g. supported compilers, cmake requirements, cross-compilation) at
doc/wiki/Compiling.md including platform-specific build instructions (e.g.
apt-get, dnf, pacman, etc).
Online documentation:
https://github.com/LMMS/lmms/wiki/
Live online chat via Discord (similar to IRC):
https://lmms.io/chat, Channel #programming
Basic build steps:
mkdir build
cd build
cmake ../
make
sudo make install
# or alternately: su -c 'make install'
With the above commands an out-of-tree build is performed. You can also run
"cmake ." directly in the root of source tree although this is not recommended.
When performing an out-of-tree build after there's already an in-tree build,
make sure to run "make distclean" before running cmake inside build-directory.
If you want to use custom compiler flags simply set the environment variables
CFLAGS and CXXFLAGS.
After running cmake (the 3rd command above) you can see a summary of things
that are going to be built into LMMS or built as plugins. Install the
according libraries and development files if a certain feature is not enabled.
Then remove CMakeCache.txt and run cmake again.
For non-root installs, or to install to a non-standard location, provide an
install prefix to cmake, using the flag:
-DCMAKE_INSTALL_PREFIX=<prefix>
The Compilation tutorial (see docs/wiki/Compilation.md)
specifically uses <prefix> as "../target" for all non-root installations. This
is strongly recommended if developing a patch or a feature. For root
installations, <prefix> can be /usr, /usr/local, /opt, etc. For most systems,
the default is /usr/local.
If your Qt5 installation does not reside in standard installation paths,
additionally pass:
-DCMAKE_PREFIX_PATH=<prefix>
Where <prefix> is the location to Qt5 installation, usually /opt/qt5/, etc.
Important wiki sections:
doc/wiki/Compiling.md:
Dependencies Detailed
- Build Toolchain (cmake)
- Compiler (gcc, clang)
- Libraries (required and optional dependencies)
doc/wiki/Dependencies-<platform>.md
Platform-specific dependencies (Windows, Ubuntu, Fedora, macOS, etc.)

108
README
View File

@@ -1,108 +0,0 @@
LMMS 1.0.2
===========
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.sourceforge.net
Details on development can be found at
http://lmms.sourceforge.net/development.php
or in the Wiki:
http://lmms.sourceforge.net/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,12 +1,28 @@
Linux MultiMedia Studio
=======================
[![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/)
**A soft PR-Freeze is currently underway to prepare for refactoring ([#5592](https://github.com/LMMS/lmms/issues/5592)). Please do not open non-essential PRs at this time.**
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.
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](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](https://lmms.io/documentation)<br>
[Sound Demos](https://lmms.io/showcase/)<br>
[LMMS Sharing Platform](https://lmms.io/lsp/) Share your songs!
Features
---------
@@ -14,24 +30,31 @@ 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 (Fruityloops(R) Project) files
* 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 ask in one of the tech channels on Discord and wait for replies! Maybe there are different ideas, improvements, or 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/

View File

@@ -1,212 +0,0 @@
/*
* bin2res.cpp - generate embedded resources from binary data (based on qembed)
*
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* 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 (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
static void embedData( const char * _input, int _size, std::ostream & _output );
static std::string convertFileNameToCIdentifier( const std::string & _s );
struct embed
{
unsigned int size;
std::string name;
std::string cname;
} ;
typedef std::vector<std::string> stringlist;
const int MAX_FILE_SIZE = 256*256*256; // = 16 MB
int main( int argc, char * * argv )
{
if( argc < 2 )
{
std::cerr << "Usage:" << std::endl << "\t" << argv[0] <<
" files" << std::endl;
return( 1 );
}
std::cout << "// Generated by bin2res" << std::endl;
std::vector<embed *> embedded_data;
std::cout << "#ifndef _EMBEDDED_RESOURCES_H" << std::endl;
std::cout << "#define _EMBEDDED_RESOURCES_H" << std::endl;
stringlist files;
for( int i = 1; i < argc; ++i )
{
files.push_back( std::string( argv[i] ) );
}
for( stringlist::iterator it = files.begin(); it != files.end(); ++it )
{
std::ifstream f( it->c_str(), std::ios::binary );
if( f.fail() )
{
std::cerr << "Cannot open file " << *it <<
", ignoring it" << std::endl;
continue;
}
f.seekg( 0, std::ios::end );
int fsize = f.tellg();
f.seekg( 0 );
if( fsize == 0 || fsize > MAX_FILE_SIZE )
{
std::cerr << "File " << *it << " has zero size or is "
"too large to be processed with bin2res." <<
std::endl;
}
char * data = new char[fsize];
f.read( data, fsize );
embed * e = new embed;
e->size = fsize;
if( it->rfind( '/' ) != std::string::npos )
{
e->name = std::string( it->c_str() +
it->rfind( '/' ) + 1 );
}
else
{
e->name = *it;
}
e->cname = convertFileNameToCIdentifier( e->name );
embedded_data.push_back( e );
std::string s;
std::cout << "static const unsigned char " << e->cname <<
"_data[] = {";
embedData( data, fsize, std::cout );
std::cout << std::endl << "};" << std::endl << std::endl;
delete[] data;
}
if( embedded_data.size() > 0 )
{
std::cout << "static const unsigned char dummy_data[] ="
"{ 0x00 };" << std::endl << std::endl;
embed * dummy = new embed;
dummy->size = 1;
dummy->name = "dummy";
dummy->cname = convertFileNameToCIdentifier(
std::string( "dummy" ) );
embedded_data.push_back( dummy );
std::cout << "#include <string.h>" << std::endl << std::endl;
std::cout << "#include \"embed.h\"" << std::endl << std::endl;
std::cout << "static embed::descriptor embed_vec[] = {" << std::endl;
/* << "{" << std::endl
<< " int size;" << std::endl
<< " const unsigned char * data;" <<
std::endl
<< " const char * name;" << std::endl
<< "} embed_vec[] = {" << std::endl;*/
while( embedded_data.size() > 0 )
{
embed * e = embedded_data[0];
std::cout << " { " << e->size << ", " << e->cname <<
"_data, " << "\"" << e->name <<
"\" }," << std::endl;
delete e;
embedded_data.erase( embedded_data.begin() );
}
std::cout << " { 0, 0, 0 }" << std::endl << "};" << std::endl
<< std::endl
<< "static const embed::descriptor & "
"findEmbeddedData( const char * _name )"
<< std::endl << "{" << std::endl
<< " for( int i = 0; embed_vec[i].data; "
"i++ )" << std::endl
<< " {" << std::endl
<< " if( strcmp( embed_vec[i].name, "
"_name ) == 0 )" << std::endl
<< " {" << std::endl
<< " return( "
"embed_vec[i] );" << std::endl
<< " }" << std::endl
<< " }" << std::endl
/* << " printf( \"warning: embedded resource "
"%s not found!\\n\", _name );"
<< std::endl*/
<< " return( findEmbeddedData( "
"\"dummy\" ) );" << std::endl
<< "}" << std::endl << std::endl;
}
std::cout << "#endif" << std::endl;
return( 0 );
}
std::string convertFileNameToCIdentifier( const std::string & _s )
{
std::string r = _s;
int len = r.length();
if ( len > 0 && !isalpha( (char)r[0] ) )
{
r[0] = '_';
}
for ( int i = 1; i < len; i++ )
{
if ( !isalnum( (char)r[i] ) )
{
r[i] = '_';
}
}
return( r );
}
void embedData( const char * _input, int _nbytes, std::ostream & _output )
{
static const char hexdigits[] = "0123456789abcdef";
std::string s;
for( int i = 0; i < _nbytes; i++ )
{
if( ( i%14 ) == 0 )
{
s += "\n ";
_output << s;
s = "";
}
unsigned int v = _input[i];
s += "0x";
s += hexdigits[(v >> 4) & 15];
s += hexdigits[v & 15];
if( i < _nbytes-1 )
{
s += ',';
}
}
if ( s.length() )
{
_output << s;
}
}

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,35 @@
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}")
SET(MACOSX_BUNDLE_DMG_TITLE "${MACOSX_BUNDLE_BUNDLE_NAME} ${MACOSX_BUNDLE_LONG_VERSION_STRING}")
# FIXME: appdmg won't allow volume names > 27 char
# See also https://github.com/LinusU/node-appdmg/issues/48
STRING(SUBSTRING "${MACOSX_BUNDLE_DMG_TITLE}" 0 27 MACOSX_BUNDLE_DMG_TITLE)
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: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
cmake/apple/icon.icns Normal file

Binary file not shown.

View File

@@ -0,0 +1,117 @@
#!/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`
set -e
# STK rawwaves directory
STK_RAWWAVE=$(brew --prefix stk)/share/stk/rawwaves
# 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"
qtpath="$(dirname "@QT_QMAKE_EXECUTABLE@")"
export PATH="$PATH:$qtpath"
# Remove any old .app bundles
rm -Rf "$APP"
# Copy/overwrite Info.plist
command 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
# shellcheck disable=SC2086
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"
# shellcheck disable=SC2086
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"

153
cmake/apple/lmms.plist.in Normal file
View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIconFile</key>
<string>@MACOSX_BUNDLE_ICON_FILE@</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@ @MACOSX_BUNDLE_LONG_VERSION_STRING@</string>
<!--
#############################################################
# Apple Creator Code Registered Application Signatures #
#############################################################
# Company: LMMS Foundation #
# Registrant: tres.finocchiaro@gmail.com #
# ASCII Code: LMMS #
# HEX: 4C4D4D53 #
#############################################################
# Contact Apple Developer Support at cfreg@apple.com #
# with any requested changes #
#############################################################
-->
<key>CFBundleSignature</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@</string>
<key>CFBundleExecutable</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@</string>
<key>CFBundleVersion</key>
<string>@MACOSX_BUNDLE_LONG_VERSION_STRING@</string>
<key>CFBundleShortVersionString</key>
<string>@MACOSX_BUNDLE_LONG_VERSION_STRING@</string>
<key>CFBundleName</key>
<string>@MACOSX_BUNDLE_BUNDLE_NAME@</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleIdentifier</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ID@</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>mmpz</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ICON@</string>
<key>CFBundleTypeName</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@ Project</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>mmpz</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>@MACOSX_BUNDLE_MIMETYPE@</string>
</array>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>mmp</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ICON@</string>
<key>CFBundleTypeName</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@ Project (uncompressed)</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>mmp</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>@MACOSX_BUNDLE_MIMETYPE@</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ID@.mmpz</string>
<key>UTTypeReferenceURL</key>
<string>@MACOSX_BUNDLE_PROJECT_URL@</string>
<key>UTTypeDescription</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@ Project</string>
<key>UTTypeIconFile</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ICON@</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>mmpz</string>
</array>
</dict>
</dict>
<dict>
<key>UTTypeIdentifier</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ID@.mmp</string>
<key>UTTypeReferenceURL</key>
<string>@MACOSX_BUNDLE_PROJECT_URL@</string>
<key>UTTypeDescription</key>
<string>@MACOSX_BUNDLE_GUI_IDENTIFIER@ Project (uncompressed)</string>
<key>UTTypeIconFile</key>
<string>@MACOSX_BUNDLE_MIMETYPE_ICON@</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>mmp</string>
</array>
</dict>
</dict>
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
<key>NSRequiresAquaSystemAppearance</key>
<string>False</string>
</dict>
</plist>

View File

@@ -0,0 +1,9 @@
{
"title": "@MACOSX_BUNDLE_DMG_TITLE@",
"background": "@CMAKE_SOURCE_DIR@/cmake/apple/dmg_branding.png",
"icon-size": 128,
"contents": [
{ "x": 139, "y": 200, "type": "file", "path": "@CMAKE_BINARY_DIR@/@MACOSX_BUNDLE_BUNDLE_NAME@.app" },
{ "x": 568, "y": 200, "type": "link", "path": "/Applications" }
]
}

BIN
cmake/apple/project.icns Normal file

Binary file not shown.

40
cmake/build_win32.sh Executable file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Accomodate both linux windows mingw locations
if [ -z "$ARCH" ]; then
ARCH=32
fi
MINGW=/mingw$ARCH
if [ -z "$MSYSCON" ]; then
MINGW=/opt$MINGW
DISTRO=$(lsb_release -si)
DISTRO_VERSION=$(lsb_release -sr)
if [ "$DISTRO" != "Ubuntu" ]; then
echo "This script only supports Ubuntu"
exit 1
fi
if [ "$DISTRO_VERSION" == "14.04" ]; then
TOOLCHAIN="$DIR/toolchains/Ubuntu-MinGW-X-Trusty-$ARCH.cmake"
else
TOOLCHAIN="$DIR/toolchains/Ubuntu-MinGW-W64-$ARCH.cmake"
fi
else
TOOLCHAIN="$DIR/toolchains/MSYS-$ARCH.cmake"
fi
export PATH=$MINGW/bin:$PATH
export CXXFLAGS="$CFLAGS"
if [ "$ARCH" == "32" ]; then
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -mfpmath=sse"
fi
CMAKE_OPTS="-DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
# shellcheck disable=SC2086
cmake "$DIR/.." -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN" $CMAKE_OPTS

3
cmake/build_win64.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ARCH=64 "$DIR/build_win32.sh"

View File

@@ -0,0 +1,42 @@
SET(PLUGIN_FILES "")
IF(LMMS_BUILD_WIN32)
INSTALL(FILES $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> DESTINATION platforms)
ENDIF()
IF(LMMS_BUILD_WIN32 OR LMMS_INSTALL_DEPENDENCIES)
include(InstallTargetDependencies)
# Collect directories to search for DLLs
GET_FILENAME_COMPONENT(QTBIN_DIR "${QT_QMAKE_EXECUTABLE}" PATH)
set(LIB_DIRS "${QTBIN_DIR}")
GET_PROPERTY(PLUGINS_BUILT GLOBAL PROPERTY PLUGINS_BUILT)
IF(LMMS_BUILD_WIN32)
SET(LMMS_DEP_DESTINATION ${BIN_DIR})
SET(PLUGIN_DEP_DESTINATION ${BIN_DIR})
ELSE()
SET(LMMS_DEP_DESTINATION ${LIB_DIR})
SET(PLUGIN_DEP_DESTINATION ${LIB_DIR})
ENDIF()
INSTALL_TARGET_DEPENDENCIES(
NAME "main_binary"
TARGETS lmms
DESTINATION "${LMMS_DEP_DESTINATION}"
LIB_DIRS ${LIB_DIRS}
)
INSTALL_TARGET_DEPENDENCIES(
NAME "plugins"
TARGETS ${PLUGINS_BUILT}
DESTINATION ${PLUGIN_DEP_DESTINATION}
LIB_DIRS ${LIB_DIRS} "${PLUGIN_DIR}" "${PLUGIN_DIR}/optional"
SEARCH_PATHS "${PLUGIN_DIR}" "${PLUGIN_DIR}/optional"
)
ENDIF()
IF(LMMS_BUILD_APPLE)
INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x ${CMAKE_BINARY_DIR}/install_apple.sh)")
INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_BINARY_DIR}/install_apple.sh)")
ENDIF()

View File

@@ -0,0 +1,23 @@
# List of DLLs considered to be system libraries.
# This is needed when cross-compiling for Windows.
ADVAPI32.dll
COMCTL32.dll
comdlg32.dll
dwmapi.dll
GDI32.dll
IMM32.dll
KERNEL32.dll
MPR.DLL
msvcrt.dll
ole32.dll
OLEAUT32.dll
OPENGL32.DLL
SHELL32.dll
USER32.dll
UxTheme.dll
VERSION.dll
WINMM.DLL
WS2_32.dll
RPCRT4.dll
dsound.dll
SETUPAPI.dll

View File

@@ -0,0 +1,19 @@
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"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
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

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export PATH="$PATH:/sbin"
if command -v carla > /dev/null 2>&1; then
CARLAPATH="$(command -v 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 "$@"

4
cmake/linux/lmms Normal file
View File

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

17
cmake/linux/lmms.desktop Normal file
View File

@@ -0,0 +1,17 @@
[Desktop Entry]
Name=LMMS
GenericName=Music production suite
GenericName[ca]=Programari de producció musical
GenericName[de]=Software zur Musik-Produktion
GenericName[fr]=Suite de production musicale
GenericName[pl]=Narzędzia do produkcji muzyki
Comment=Music sequencer and synthesizer
Comment[ca]=Producció fàcil de música per a tothom!
Comment[fr]=Séquenceur et synthétiseur de musique
Comment[pl]=Prosta produkcja muzyki dla każdego!
Icon=lmms
Exec=lmms %f
Terminal=false
Type=Application
Categories=Qt;AudioVideo;Audio;Midi;
MimeType=application/x-lmms-project;

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}
@@ -13,7 +13,7 @@
%define with_sf 1%{nil}
# Build by setting these defines on the command line, for example:
# rpmbuild --define 'disttag .EL' --define 'repotag .fc6'
# rpmbuild --define 'disttag .EL' --define 'repotag .fc6'
%{!?desktop_vendor: %{expand: %%define desktop_vendor rpmfarm}}
# This can be changed at build time:
# rpmbuild --define 'desktop_vendor RPMfarm'
@@ -26,11 +26,11 @@ 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.sourceforge.net/
URL: https://lmms.io/
Group: Applications/Multimedia
Provides: lmms = %{version}-%{release}
BuildRequires: gcc gcc-c++ libstdc++-devel autoconf automake libtool make
BuildRequires: alsa-lib-devel
BuildRequires: alsa-lib-devel
BuildRequires: qt-devel > 3.0
# ------------- BuildRequires:
%if %{with_vorbis}
@@ -40,7 +40,7 @@ BuildRequires: libvorbis libvorbis-devel
BuildRequires: SDL SDL-devel SDL_sound
%endif
%if %{with_sr}
BuildRequires: libsamplerate libsamplerate-devel
BuildRequires: libsamplerate libsamplerate-devel
%endif
%if %{with_sf}
BuildRequires: libsndfile libsndfile-devel
@@ -57,7 +57,7 @@ Requires: qt >= 3.0 alsa-lib
Requires: libsamplerate
%endif
%if %{with_sf}
Requires: libsndfile
Requires: libsndfile
%endif
%if %{with_jack}
Requires: jack-audio-connection-kit
@@ -116,13 +116,13 @@ Group: Applications/Multimedia
Provides: lmms-data = %{version}-%{release}
%description data
This package contains platform-independent data and resources for Linux
MultiMedia Studio (LMMS), e.g. samples, presets and demo-projects.
This package contains platform-independent data and resources for LMMS, e.g.
samples, presets and demo-projects.
%description data -l de
Dieses Paket beinhaltet plattform-unabhaengige Daten und Resourcen fuer Linux
MultiMedia Studio (LMMS), wie z.B. Samples, Presets und Demo-Projekte.
Dieses Paket beinhaltet plattform-unabhaengige Daten und Resourcen fuer LMMS,
wie z.B. Samples, Presets und Demo-Projekte.
%prep
@@ -156,7 +156,7 @@ MultiMedia Studio (LMMS), wie z.B. Samples, Presets und Demo-Projekte.
# Create a desktop menu entry
%{__cat} > %{name}.desktop << EOF
[Desktop Entry]
Name=Linux MultiMedia Studio
Name=LMMS
Comment=Powerful sequencer-, synthesizer- and sample-studio for Linux
Exec=lmms
Icon=%{_datadir}/%{name}/themes/default/icon.png
@@ -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}
-

10
cmake/linux/lmms.xml Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-lmms-project">
<sub-class-of type="application/xml"/>
<comment>LMMS project</comment>
<comment xml:lang="ca">Projecte LMMS</comment>
<glob pattern="*.mmpz"/>
<glob pattern="*.mmp"/>
</mime-type>
</mime-info>

View File

@@ -0,0 +1,194 @@
#!/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
# shellcheck disable=SC2193
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
PATH="$(pwd -P)/squashfs-root/usr/bin:$(dirname "@QT_QMAKE_EXECUTABLE@")":$PATH
export PATH
# Fetch portable linuxdeployqt if not in PATH
APPIMAGETOOL="squashfs-root/usr/bin/appimagetool"
echo -e "\nDownloading linuxdeployqt to ${LINUXDEPLOYQT}..."
if env -i which linuxdeployqt > /dev/null 2>&1; then
skipped "System already provides this utility"
else
filename="linuxdeployqt-continuous-$(uname -p).AppImage"
url="https://github.com/probonopd/linuxdeployqt/releases/download/continuous/$filename"
down_file="$(pwd)/$filename"
if [ ! -f "$LINUXDEPLOYQT" ]; then
ln -s "$down_file" "$LINUXDEPLOYQT"
fi
echo " [.......] Downloading ($(uname -p)): ${url}"
wget -N -q "$url" || (rm "$filename" && false)
chmod +x "$LINUXDEPLOYQT"
success "Downloaded $LINUXDEPLOYQT"
# Extract AppImage and replace LINUXDEPLOYQT variable with extracted binary
# to support systems without fuse
# Also, we need to set LD_LIBRARY_PATH, but linuxdepoyqt's AppRun unsets it
# See https://github.com/probonopd/linuxdeployqt/pull/370/
"$LINUXDEPLOYQT" --appimage-extract > /dev/null 2>&1
LINUXDEPLOYQT="squashfs-root/usr/bin/linuxdeployqt"
success "Extracted $APPIMAGETOOL"
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"
cp "@CMAKE_CURRENT_SOURCE_DIR@/launch_lmms.sh" "${APPDIR}usr/bin/lmms"
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/:"${APPDIR}"usr/lib/lmms/optional:"$LD_LIBRARY_PATH"
# Move executables so linuxdeployqt can find them
ZYNLIB="${APPDIR}usr/lib/lmms/RemoteZynAddSubFx"
VSTLIB32="${APPDIR}usr/lib/lmms/32/RemoteVstPlugin32.exe.so"
VSTLIB64="${APPDIR}usr/lib/lmms/RemoteVstPlugin64.exe.so"
ZYNBIN="${APPDIR}usr/bin/RemoteZynAddSubFx"
VSTBIN32="${APPDIR}usr/bin/RemoteVstPlugin32.exe.so"
VSTBIN64="${APPDIR}usr/bin/RemoteVstPlugin64.exe.so"
mv "$ZYNLIB" "$ZYNBIN"
mv "$VSTLIB32" "$VSTBIN32" || true
mv "$VSTLIB64" "$VSTBIN64" || true
# Handle wine linking
if [ -d "@WINE_32_LIBRARY_DIR@" ] && \
ldd "$VSTBIN32" | grep "libwine\.so" | grep "not found"; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"@WINE_32_LIBRARY_DIRS@"
fi
if [ -d "@WINE_64_LIBRARY_DIR@" ] && \
ldd "$VSTBIN64" | grep "libwine\.so" | grep "not found"; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"@WINE_64_LIBRARY_DIRS@"
fi
# 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=${VSTBIN32}"
executables="${executables} -executable=${VSTBIN64}"
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 "$VSTBIN32" "$VSTLIB32" || true
ln -sr "$VSTBIN64" "$VSTLIB64" || true
# Remove wine library conflict
rm -f "${APPDIR}/usr/lib/libwine.so.1"
# Use system-provided carla
rm -f "${APPDIR}usr/lib/"libcarla*.so
rm -f "${APPDIR}usr/lib/lmms/optional/"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.real" | 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,98 +1,101 @@
# 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)
INCLUDE(GenQrc)
MACRO(CDR var junk)
SET(${var} ${ARGN})
ENDMACRO(CDR)
MACRO(BUILD_PLUGIN PLUGIN_NAME)
CMAKE_PARSE_ARGUMENTS(PLUGIN "" "LINK;EXPORT_BASE_NAME" "MOCFILES;EMBEDDED_RESOURCES;UICFILES" ${ARGN})
SET(PLUGIN_SOURCES ${PLUGIN_UNPARSED_ARGUMENTS})
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")
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)
ADD_CUSTOM_COMMAND(OUTPUT ${ER_H}
COMMAND ${BIN2RES}
ARGS ${PLUGIN_EMBEDDED_RESOURCES} > ${ER_H}
DEPENDS ${BIN2RES})
# 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})
ADD_GEN_QRC(RCC_OUT "${PLUGIN_NAME}.qrc" PREFIX artwork/${PLUGIN_NAME} ${PLUGIN_EMBEDDED_RESOURCES})
ENDIF(ER_LEN)
QT4_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT4_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
QT5_WRAP_CPP(plugin_MOC_out ${PLUGIN_MOCFILES})
QT5_WRAP_UI(plugin_UIC_out ${PLUGIN_UICFILES})
FOREACH(f ${PLUGIN_SOURCES})
ADD_FILE_DEPENDENCIES(${f} ${ER_H} ${plugin_MOC_out} ${plugin_UIC_out})
ADD_FILE_DEPENDENCIES(${f} ${RCC_OUT} ${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 (NOT PLUGIN_LINK)
SET(PLUGIN_LINK "MODULE")
ENDIF()
ADD_LIBRARY(${PLUGIN_NAME} ${PLUGIN_LINK} ${PLUGIN_SOURCES} ${plugin_MOC_out} ${RCC_OUT})
TARGET_LINK_LIBRARIES(${PLUGIN_NAME} Qt5::Widgets Qt5::Xml)
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}")
INSTALL(TARGETS ${PLUGIN_NAME}
LIBRARY DESTINATION "${PLUGIN_DIR}"
RUNTIME 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)
IF(STRIP)
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} "$<TARGET_FILE:${PLUGIN_NAME}>")
ENDIF()
SET_TARGET_PROPERTIES(${PLUGIN_NAME} PROPERTIES PREFIX "")
ADD_CUSTOM_COMMAND(TARGET ${PLUGIN_NAME} POST_BUILD COMMAND ${STRIP} ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_NAME}.dll)
ENDIF(LMMS_BUILD_WIN32)
ENDIF()
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ER_H} ${plugin_MOC_out}")
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${RCC_OUT} ${plugin_MOC_out}")
IF(NOT PLUGIN_EXPORT_BASE_NAME)
SET(PLUGIN_EXPORT_BASE_NAME "PLUGIN")
ENDIF()
GENERATE_EXPORT_HEADER(${PLUGIN_NAME}
BASE_NAME ${PLUGIN_EXPORT_BASE_NAME}
)
TARGET_INCLUDE_DIRECTORIES(${PLUGIN_NAME}
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
)
SET_PROPERTY(GLOBAL APPEND PROPERTY PLUGINS_BUILT ${PLUGIN_NAME})
GET_PROPERTY(PLUGINS_BUILT GLOBAL PROPERTY PLUGINS_BUILT)
ENDMACRO(BUILD_PLUGIN)

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

@@ -0,0 +1,33 @@
macro(CHECK_CXX_PREPROCESSOR VAR DIRECTIVE)
string(RANDOM DEFINED_KEY)
string(RANDOM UNDEFINED_KEY)
set(TMP_FILENAME "${CMAKE_CURRENT_BINARY_DIR}/CxxTmp/src.cpp")
SET(SRC "
#if ${DIRECTIVE}
#error ${DEFINED_KEY}
#else
#error ${UNDEFINED_KEY}
#endif
")
file(WRITE ${TMP_FILENAME} "${SRC}")
try_compile(RESULT_VAR
${CMAKE_CURRENT_BINARY_DIR}
${TMP_FILENAME}
OUTPUT_VARIABLE OUTPUT_VAR
)
if(OUTPUT_VAR MATCHES ${DEFINED_KEY})
set(${VAR} ON)
elseif(OUTPUT_VAR MATCHES ${UNDEFINED_KEY})
set(${VAR} OFF)
else()
message(FATAL_ERROR "Can't determine if \"${DIRECTIVE}\" is true.")
endif()
endmacro()
macro(CHECK_CXX_DEFINE VAR DEFINE)
CHECK_CXX_PREPROCESSOR(${VAR} "defined(${DEFINE})")
endmacro()

View File

@@ -0,0 +1,213 @@
# Utility for validating and, if needed, cloning all submodules
#
# Looks for a .gitmodules in the root project folder
# Loops over all modules looking well-known configure/build scripts
#
# Usage:
# INCLUDE(CheckSubmodules)
#
# Options:
# SET(PLUGIN_LIST "zynaddsubfx;...") # skips submodules for plugins not explicitely listed
#
# Or via command line:
# cmake -PLUGIN_LIST=foo;bar
#
# Copyright (c) 2019, 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.
# Files which confirm a successful clone
SET(VALID_CRUMBS "CMakeLists.txt;Makefile;Makefile.in;Makefile.am;configure.ac;configure.py;autogen.sh;.gitignore;LICENSE;Home.md")
OPTION(NO_SHALLOW_CLONE "Disable shallow cloning of submodules" OFF)
# Try and use the specified shallow clone on submodules, if supported
SET(DEPTH_VALUE 100)
# Number of times git commands will retry before failing
SET(MAX_ATTEMPTS 2)
MESSAGE("\nChecking submodules...")
IF(NOT EXISTS "${CMAKE_SOURCE_DIR}/.gitmodules")
MESSAGE("Skipping the check because .gitmodules not detected."
"Please make sure you have all submodules in the source tree!"
)
RETURN()
ENDIF()
FILE(READ "${CMAKE_SOURCE_DIR}/.gitmodules" SUBMODULE_DATA)
# Force English locale
SET(LC_ALL_BACKUP "$ENV{LC_ALL}")
SET(LANG_BACKUP "$ENV{LANG}")
SET(ENV{LC_ALL} "C")
SET(ENV{LANG} "en_US")
# Submodule list pairs, unparsed (WARNING: Assumes alpha-numeric paths)
STRING(REGEX MATCHALL "path = [-0-9A-Za-z/]+" SUBMODULE_LIST_RAW ${SUBMODULE_DATA})
STRING(REGEX MATCHALL "url = [.:%-0-9A-Za-z/]+" SUBMODULE_URL_RAW ${SUBMODULE_DATA})
# Submodule list pairs, parsed
SET(SUBMODULE_LIST "")
SET(SUBMODULE_URL "")
FOREACH(_path ${SUBMODULE_LIST_RAW})
# Parse SUBMODULE_PATH
STRING(REPLACE "path = " "" SUBMODULE_PATH "${_path}")
# Grab index for matching SUBMODULE_URL
LIST(FIND SUBMODULE_LIST_RAW "${_path}" SUBMODULE_INDEX)
LIST(GET SUBMODULE_URL_RAW ${SUBMODULE_INDEX} _url)
# Parse SUBMODULE_URL
STRING(REPLACE "url = " "" SUBMODULE_URL "${_url}")
SET(SKIP false)
# Loop over skipped plugins, add to SKIP_SUBMODULES (e.g. -DPLUGIN_LIST=foo;bar)
IF(${SUBMODULE_PATH} MATCHES "^plugins/")
SET(REMOVE_PLUGIN true)
FOREACH(_plugin ${PLUGIN_LIST})
IF(_plugin STREQUAL "")
CONTINUE()
ENDIF()
IF(${SUBMODULE_PATH} MATCHES "${_plugin}")
SET(REMOVE_PLUGIN false)
ENDIF()
ENDFOREACH()
IF(REMOVE_PLUGIN)
LIST(APPEND SKIP_SUBMODULES "${SUBMODULE_PATH}")
ENDIF()
ENDIF()
# Finally, loop and mark "SKIP" on match
IF(SKIP_SUBMODULES)
FOREACH(_skip ${SKIP_SUBMODULES})
IF("${SUBMODULE_PATH}" MATCHES "${_skip}")
MESSAGE("-- Skipping ${SUBMODULE_PATH} matches \"${_skip}\" (absent in PLUGIN_LIST)")
SET(SKIP true)
BREAK()
ENDIF()
ENDFOREACH()
ENDIF()
IF(NOT SKIP)
LIST(APPEND SUBMODULE_LIST "${SUBMODULE_PATH}")
LIST(APPEND SUBMODULE_URL "${SUBMODULE_URL}")
ENDIF()
ENDFOREACH()
# Once called, status is stored in GIT_RESULT respectively.
# Note: Git likes to write to stderr. Don't assume stderr is error; Check GIT_RESULT instead.
MACRO(GIT_SUBMODULE SUBMODULE_PATH FORCE_DEINIT FORCE_REMOTE NO_DEPTH)
FIND_PACKAGE(Git REQUIRED)
# Handle missing commits
SET(FORCE_REMOTE_FLAG "${FORCE_REMOTE}")
SET(NO_DEPTH_FLAG "${NO_DEPTH}")
IF(FORCE_REMOTE_FLAG)
MESSAGE("-- Adding remote submodulefix to ${SUBMODULE_PATH}")
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" remote rm submodulefix
COMMAND "${GIT_EXECUTABLE}" remote add submodulefix ${FORCE_REMOTE}
COMMAND "${GIT_EXECUTABLE}" fetch submodulefix
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/${SUBMODULE_PATH}"
OUTPUT_QUIET ERROR_QUIET
)
# Recurse
GIT_SUBMODULE(${SUBMODULE_PATH} false false ${NO_DEPTH_FLAG})
ELSEIF(${FORCE_DEINIT})
MESSAGE("-- Resetting ${SUBMODULE_PATH}")
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" submodule deinit -f "${CMAKE_SOURCE_DIR}/${SUBMODULE_PATH}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_QUIET
)
MESSAGE("-- Deleting ${CMAKE_SOURCE_DIR}/.git/${SUBMODULE_PATH}")
FILE(REMOVE_RECURSE "${CMAKE_SOURCE_DIR}/.git/modules/${SUBMODULE_PATH}")
# Recurse without depth
GIT_SUBMODULE(${SUBMODULE_PATH} false false true)
ELSE()
# Try to use the depth switch
IF(NO_SHALLOW_CLONE OR GIT_VERSION_STRING VERSION_LESS "1.8.4" OR NO_DEPTH_FLAG)
# Shallow submodules were introduced in 1.8.4
MESSAGE("-- Fetching ${SUBMODULE_PATH}")
SET(DEPTH_CMD "")
SET(DEPTH_VAL "")
ELSE()
MESSAGE("-- Fetching ${SUBMODULE_PATH} @ --depth ${DEPTH_VALUE}")
SET(DEPTH_CMD "--depth")
SET(DEPTH_VAL "${DEPTH_VALUE}")
ENDIF()
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" submodule update --init --recursive ${DEPTH_CMD} ${DEPTH_VAL} "${CMAKE_SOURCE_DIR}/${SUBMODULE_PATH}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE GIT_RESULT
OUTPUT_VARIABLE GIT_STDOUT
ERROR_VARIABLE GIT_STDERR
)
SET(GIT_MESSAGE "${GIT_STDOUT}${GIT_STDERR}")
MESSAGE("${GIT_MESSAGE}")
ENDIF()
ENDMACRO()
SET(MISSING_COMMIT_PHRASES "no such remote ref;reference is not a tree;unadvertised object")
SET(RETRY_PHRASES "Failed to recurse;cannot create directory;already exists;${MISSING_COMMIT_PHRASES}")
# Attempt to do lazy clone
FOREACH(_submodule ${SUBMODULE_LIST})
STRING(REPLACE "/" ";" PATH_PARTS "${_submodule}")
LIST(REVERSE PATH_PARTS)
LIST(GET PATH_PARTS 0 SUBMODULE_NAME)
MESSAGE("-- Checking ${SUBMODULE_NAME}...")
SET(CRUMB_FOUND false)
FOREACH(_crumb ${VALID_CRUMBS})
IF(EXISTS "${CMAKE_SOURCE_DIR}/${_submodule}/${_crumb}")
SET(CRUMB_FOUND true)
MESSAGE("-- Found ${_submodule}/${_crumb}")
BREAK()
ENDIF()
ENDFOREACH()
IF(NOT CRUMB_FOUND)
GIT_SUBMODULE("${_submodule}" false false false)
SET(COUNTED 0)
# Handle edge-cases where submodule didn't clone properly or re-uses a non-empty directory
WHILE(NOT GIT_RESULT EQUAL 0 AND COUNTED LESS MAX_ATTEMPTS)
MATH(EXPR COUNTED "${COUNTED}+1")
SET(MISSING_COMMIT false)
FOREACH(_phrase ${MISSING_COMMIT_PHRASES})
IF("${GIT_MESSAGE}" MATCHES "${_phrase}")
SET(MISSING_COMMIT true)
BREAK()
ENDIF()
ENDFOREACH()
FOREACH(_phrase ${RETRY_PHRASES})
IF(${MISSING_COMMIT} AND COUNTED LESS 2)
LIST(FIND SUBMODULE_LIST ${_submodule} SUBMODULE_INDEX)
LIST(GET SUBMODULE_URL_LIST ${SUBMODULE_INDEX} SUBMODULE_URL)
MESSAGE("-- Retrying ${_submodule} using 'remote add submodulefix' (attempt ${COUNTED} of ${MAX_ATTEMPTS})...")
GIT_SUBMODULE("${_submodule}" false "${SUBMODULE_URL}" false)
BREAK()
ELSEIF("${GIT_MESSAGE}" MATCHES "${_phrase}")
MESSAGE("-- Retrying ${_submodule} using 'deinit' (attempt ${COUNTED} of ${MAX_ATTEMPTS})...")
GIT_SUBMODULE("${_submodule}" true false false)
BREAK()
ENDIF()
ENDFOREACH()
ENDWHILE()
IF(NOT GIT_RESULT EQUAL 0)
MESSAGE(FATAL_ERROR "${GIT_EXECUTABLE} exited with status of ${GIT_RESULT}")
ENDIF()
ENDIF()
ENDFOREACH()
MESSAGE("-- Done validating submodules.\n")
# Reset locale
SET(ENV{LC_ALL} "${LC_ALL_BACKUP}")
SET(ENV{LANG} "${LANG_BACKUP}")

View File

@@ -0,0 +1,27 @@
INCLUDE(CheckCXXSourceCompiles)
FUNCTION(CheckWineGcc BITNESS WINEGCC_EXECUTABLE RESULT)
FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test.cxx" "
#include <iostream>
#define USE_WS_PREFIX
#include <windows.h>
int main(int argc, const char* argv[]) {
return 0;
}
")
EXECUTE_PROCESS(COMMAND ${WINEGCC_EXECUTABLE} "-m${BITNESS}"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test.cxx"
"-o" "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test"
OUTPUT_QUIET ERROR_QUIET
RESULT_VARIABLE WINEGCC_RESULT
)
FILE(REMOVE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test.cxx"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/winegcc_test.exe.so"
)
IF(WINEGCC_RESULT EQUAL 0)
SET(${RESULT} True PARENT_SCOPE)
ELSE()
SET(${RESULT} False PARENT_SCOPE)
ENDIF()
ENDFUNCTION()

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