Commit Graph
125 Commits
Author SHA1 Message Date
Lukas W 100a67cd3c Rename configManager to ConfigManager 2014-11-02 01:02:33 +01: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
Vesa bf6659fbb1 Merge branch 'stable-1.1'
Conflicts:
	src/gui/FileBrowser.cpp
2014-09-09 23:55:39 +03:00
Ubuntu c01799e998 Fix AFP crash, bump version 2014-09-08 09:26:50 -04: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 4cee046909 Added initial Qt5 support
LMMS now properly builds and runs with Qt5. Various deprecated functions
had to be replaced like QString::toAscii()/fromAscii(). Also occurences
of FALSE/TRUE have been replaced with false/true.

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

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

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

Build instructions can be found in INSTALL.Qt5

Minimum version requirement for Qt4 has been raised to 4.6.0 for best
API compatibility between Qt4 and Qt5.
2014-08-14 17:34:49 +02:00
Vesa V 07a0f46c82 Merge pull request #1030 from LMMS/stable-1.1
sync
2014-07-26 16:28:01 +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 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 4dece979c6 Samplebuffer/AFP: coding style, remove redundant inlines 2014-04-23 19:15:59 +03:00
Vesa fa67d0b436 AFP: Add interpolation selector, fix segfault-causing bug with reverse mode 2014-04-23 12:18:35 +03: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
Vesa 59794b35a8 AFP: fix loadsettings 2014-04-05 21:50:55 +03: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
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
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
Tobias Doerffel 9aa6a3fbeb AudioFileProcessor: fixed various CLANG compiler warnings 2014-03-21 11:11:39 +01:00
Oskar Wallgren dbea815931 Fix capitalization in some plugins description 2014-03-13 17:37:36 +01:00
Vesa a2484bc9c0 AudioFileProcessor knob fix 2014-02-18 01:42:28 +02:00
Vesa 11af0635ef New scale/note icons by John, afp knobs back to non-styled 2014-02-17 21:38:27 +02:00
Wong Cho Ching 9d913d13b1 AFP: revert changes 2014-02-14 15:44:32 +08:00
Tobias Doerffel 0e5f148dce Merge pull request #231 from elfring/Complete_quoting_for_parameters_of_some_CMake_commands
Complete quoting for parameters of some CMake commands.
2014-02-09 18:57:51 +01:00
Vesa d29b5fa5e8 AFP artwork, Zyn artwork update 2014-02-09 12:29:48 +02:00
Tobias Doerffel 2e7733eaa1 DataFile: renamed from old multimediaProject class + coding style fixes 2014-02-03 21:21:36 +01:00
Markus Elfring 95b0a4305e Bug #175: Completed quoting for parameters of some CMake commands
A Wiki article pointed out that whitespace will only be preserved for parameters
in CMake commands if passed strings will be appropriately quoted or escaped.
http://cmake.org/Wiki/CMake/Language_Syntax#CMake_splits_arguments_unless_you_use_quotation_marks_or_escapes.

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

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2014-02-01 15:20:27 +01:00
Wong Cho Ching 3985dffb21 Fixed wave view rendering; added validation 2014-01-31 21:08:49 +08:00
Wong Cho Ching 0ecb1e05df temporary fix for audio file processor knobs 2014-01-31 19:15:30 +08:00
Wong Cho Ching d4a2a48a1e Stutter playback mode now save state 2014-01-31 12:52:25 +08:00
Tobias Doerffel ca0e413fd3 Renamed PlayHandle classes and some functions with bool return values
Next big coding style update - this time all PlayHandle classes are
affected. Functions like done() and released() were renamed to
isFinished() and isReleased().
2014-01-29 23:54:47 +01:00
groboclown b7b361414a Add "stutter" capability to the audio file processor. 2014-01-22 20:05:10 -06:00
Tobias Doerffel f2590c24df Replaced [S/U]int[8/16/32] with types from stdint.h or plain integers 2014-01-18 02:56:38 +01:00
Tobias Doerffel 9a7ad0264f SampleBuffer, SamplePlayHandle, SampleRecordHandle, SampleTrack: new coding style
Renamed file and class names.
2014-01-14 18:01:14 +01:00
Tobias Doerffel 0ff1f91c1b Mixer: renamed class and file name
The mixer class is now named "Mixer" and accessible via engine::mixer().
2014-01-08 22:35:14 +01:00
Raine M. Ekman 8e2ec9e48f AudioFileProcessor: Make AFP cursor configurable
Add possibility to turn off playback cursor in AFP. Might be good
for weaker systems.

Closes Patch #40.
2013-06-11 13:19:00 +02:00
Raine M. Ekman 0f3851d597 AudioFileProcessor: fix crash with reversed samples
AudioFileProcessorWaveView::slideSampleByFrames() gets called before the
knobs are created and/or after they are destroyed if the sample is
reversed. Added checks for nonexistant knobs.

Closes Patch #41 and Bug #525.
2013-06-11 13:18:05 +02:00
NoiseByNorthwest 2375b7f0a0 Fixes #3604316: LMMS crashes using AudioFileProcessor
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-02-27 17:30:40 +01:00
NoiseByNorthwest 2960f67beb AudioFileProcessor: fixed crash for samples with zero length
This is a fix for #3598536.

Closes #3598536.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 22:53:59 +01:00
NoiseByNorthwest d448e6743d Ergonomic enhancements for AudioFileProcessor plugin (interactive wave view).
This patch includes:
* sampleBuffer::visualise(): add possibility to specified a range to visualize instead of the whole sample
* add sampleBuffer::sampleRate() and sampleBuffer::sampleLength() getters
* definition of AudioFileProcessorWaveView and AudioFileProcessorWaveView::knob classes for AudioFileProcessor plugin
* knob::getValue() specified “virtual” to allow redefinition in child class  AudioFileProcessorWaveView::knob
* delete audioFileKnob class (made obsolete by AudioFileProcessorWaveView::knob)
* add audioFileProcessor::isPlaying() signal, which is emitted in audioFileProcessor::playNote
* change type of AudioFileProcessorView::m_startKnob and AudioFileProcessorView::m_endKnob (AudioFileProcessorWaveView::knob instead of audioFileKnob)
* replace AudioFileProcessorView::m_graph (QPixmap) by AudioFileProcessorView::m_waveView (AudioFileProcessorWaveView)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-10-27 22:32:09 +02:00
Tobias Doerffel 7c16094811 Fixed spelling errors
Fixed some spelling errors found by Lintian while checking the Debian
package of LMMS. Thanks to Patrick Winnertz for pointing out this issue.
(cherry picked from commit 9fd3dacb67)
2010-01-25 23:27:43 +01:00
Tobias Doerffel c32567ce2f Fixed mistakes made by sed-mass-replaces
Some variables got renamed the way the shouldn't. Doesn't have any
functional impact but fix it for the sake of cosmetics.
(cherry picked from commit d7365e4cf3)
2009-08-29 00:01:24 +02:00
Tobias Doerffel f4dbb2ff5c sed: s/( void )/(), s/FALSE/false/, s/TRUE/true
Replaced remaining occurences of old constants and superfluous "void"
on empty argument list of functions.
(cherry picked from commit 166701f9f3)
2009-08-25 01:42:20 +02:00
Tobias Doerffel 1d5cb23385 File and class renames part 1
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:

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

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

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

(cherry picked from commit 0bb54199b0)
2009-08-05 17:17:57 +02:00
Tobias Doerffel 57c4a5abc5 MultimediaProject: splitted constructor for loading either file or data
The old constructor treated the string argument either as filename or
as raw XML data, depending on 2nd parameter. This is a mess and quickly
leads to confusion.

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

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 5a00ebd360)
2009-06-11 01:16:30 +02:00