Commit Graph

2453 Commits

Author SHA1 Message Date
Tobias Doerffel
294fa87475 Merge branch 'auto-save'
* auto-save:
  don't change the current project when auto-saving
  auto-saves every minute and recovers upon crash
  don't show WelcomeScreen when importing/loading

Conflicts:
	src/gui/MainWindow.cpp
2009-11-29 23:21:54 +01:00
Tobias Doerffel
37ccbb4b50 Merge branch 'fx-mixer-rework'
* fx-mixer-rework: (25 commits)
  FxMixer: use new CPU::bufMixCoeff()
  Cpu: added BufMixCoeff + SSE implementation
  MixerWorkerThread: added job queue modes and improved class structure
  MixerWorkerThread: exit outer loop in processJobQueue() if finished
  Song: do not refresh FxMixerView when loading song in console mode
  Mixer/FxMixer: separated MixerWorkerThread and ThreadableJob into files
  Rough fix for freeze-up bug
  Fixed the audio/visual screwups
  NOT WORKING! Fx Mixer uses job threads
  Mixer: rewrote/reorganized job queueing for worker threads
  Fixed bug - Instruments had wrong channel models
  Fixed a mixer bug regarding deleting channels
  FxMixerView - Left and right to select channels
  Fix FL Import with new mixer
  Ability to save mixer sends to disk with the mmp
  Channel selector has a max range of num channels
  Ability to re-order mixer channels
  Ability to delete mixer channels in the FX Mixer
  Requested improvements to new FxMixerView$
  Scrollbar for the fx mixer channels
  ...
2009-11-29 23:13:55 +01:00
Tobias Doerffel
ced0d8ecc6 Merge branch 'master' into fx-mixer-rework 2009-11-26 01:47:38 +01:00
Tobias Doerffel
63cb220090 ResourceDB: added Doxygen comments
Documented the ResourceDB class and all its members.
2009-11-26 01:41:57 +01:00
Tobias Doerffel
dc561a07e7 Revert "Mixer, FifoBuffer, AudioDevice: removed memory allocation/free cycles"
This reverts commit c517f1fa5a.

The commit was not very helpful and introduced new xrun problems.
Instead I'll be rewriting the part of LMMS where Mixer, Mixer's
quality settings, Buffer FIFO and AudioDevice are sticked together.
2009-11-26 01:36:36 +01:00
Tobias Doerffel
c517f1fa5a Mixer, FifoBuffer, AudioDevice: removed memory allocation/free cycles
There's really no need to allocate a buffer each period, push it to the
FifoBuffer and free it when fetching the buffer in
AudioDevice::getNextBuffer(). Instead keep the pointer in FifoBuffer's
pool and reuse it.
2009-11-24 12:46:08 +01:00
Tobias Doerffel
9cabd559dc ResourceItem: added Doxygen comments
Documented the ResourceItem class and all its members.
2009-11-24 00:50:10 +01:00
Tobias Doerffel
74bd0ab9af ResourceAction: added Doxygen comments
Documented the ResourceAction class and all its members.
2009-11-24 00:49:26 +01:00
Tobias Doerffel
79566abf1b Added Doxygen configuration file
Added Doxygen configuration file so one can instantly test whether
he added proper comments in Doxygen style.
2009-11-23 00:27:38 +01:00
Armin Kazmi
92047f5e9e AudioPulseAudio: fixed latency and underrun problems
Try to adjust latency of PulseAudio according to our settings of mixer
so it does not have such a bad latency anymore.

Furthermore force PulseAudio to play silence instead of rewinding
streams in case of underruns.
2009-11-20 23:08:07 +01:00
Tobias Doerffel
168805745e AudioPulseAudio: fixed improper shutdown + free allocated resources
There have been some problems with the threading logic in the
AudioPulseAudio backend resulting in an endless loop when quitting LMMS.

Furthermore allocated PulseAudio resources were not freed properly.
Thanks to Armin Kazmi <armin.kazmi@tu-dortmund.de> for pointing out
this issue.
2009-11-20 22:28:47 +01:00
Andrew Kelley
953522f34a don't change the current project when auto-saving
every time auto-save ran, it would change the current project to
"recover.mmp". Now it doesn't do this because Song has
guiSaveProject(), guiSaveProjectAs(), and saveProjectFile().
(the latter is used for auto-save)
2009-11-13 18:43:08 -07:00
Tobias Doerffel
58f53d9f5b PreferencesDialog: initial draft
Here's an initial draft for the new preferences dialog. The basics of
the GUI are done, however there's absolutely no functionality yet.
2009-11-14 00:36:52 +01:00
Andrew Kelley
b7e73fbe0c don't show WelcomeScreen when importing/loading
WelcomeScreen was incorrectly shown when lmms loaded or imported
a project (for example via command line). Fixed.
2009-11-13 08:18:03 -07:00
Tobias Doerffel
0408186094 Updated German localization files
As of 52fbd3694d there are quite a lot
new strings which have to be translated to German.
2009-11-12 09:54:00 +01:00
Tobias Doerffel
52fbd3694d Refresh localization files with strings from UI files
As we have quite a few Qt Designer based dialogs now, there's a whole
bunch of new strings to be translated for each language.
2009-11-11 18:51:09 +01:00
Tobias Doerffel
b3b038eaf6 Build system: pass UI files to lupdate
For whatever reason I did not add UI files to lupdate calls, so strings
in Qt Designer based dialogs could not be translated. Trivial fix.
2009-11-11 18:49:02 +01:00
Tobias Doerffel
0679c83c33 LocalResourceProvider: watch out for changes in base directory
Changes in base directory were not tracked by filesystem watcher.
Explicitely add base directory to filesystem watcher and add a special
case to LocalResourceProvider::reloadDirectory().
2009-11-11 13:23:14 +01:00
Tobias Doerffel
0b5dae4a2a WelcomeScreen: disable horizontal scrollbars for listviews
When customizing background color of a widget via CSS, Qt somehow
falls back to ugly old windows style. This resulted in ugly looking
scrollbars in WelcomeScreen when working at a low screen resolution.
Therefore disable those scrollbars as they're rather useless anyways.
QListView automatically shows three dots for too wide text items.
2009-11-11 11:16:14 +01:00
Andrew Kelley
f73ccadc17 auto-saves every minute and recovers upon crash
auto-save time is not configurable yet. saves "recover.mmp" to
WORKING_DIR every 60 seconds. Deletes recover.mmp on successful
close of LMMS. If recover.mmp is found upon start, it loads that
project.
2009-11-10 21:41:45 -07:00
Andrew Kelley
96c8dcbeb4 don't show WelcomeScreen when importing/loading
WelcomeScreen was incorrectly shown when lmms loaded or imported
a project (for example via command line). Fixed.
2009-11-10 20:22:38 -07:00
Tobias Doerffel
774bd74c77 Merge branch 'calf-updates'
* calf-updates:
  + Deesser: use correct threshold
  + Equalizer: remove unused variables
  + Gain reduction module: clearer authorship information
  + Framework: placeholder for waveshaper class (need it to merge further changes from Markus)
2009-11-10 10:28:47 +01:00
Markus Schmidt
3a046201ba + Deesser: use correct threshold
(cherry picked from commit beefb7c7f7d8cda828c801942d4daad34d7191ed)
2009-11-10 10:27:58 +01:00
Markus Schmidt
7d92ad6ac7 + Equalizer: remove unused variables
(cherry picked from commit a45db777d5b645a0ce8add2c88d2f3c8940862f3)
2009-11-10 10:27:14 +01:00
Markus Schmidt
40015f001d + Gain reduction module: clearer authorship information
(cherry picked from commit 55a1aeaf25dd5716d8adfc3322e3a2a00f5caa8f)
2009-11-10 10:26:34 +01:00
Krzysztof Foltman
5aa154aeb1 + Framework: placeholder for waveshaper class (need it to merge further changes from Markus)
(cherry picked from commit d48420ce85389af6d20623af83ca20082f1cdcaa)
2009-11-10 10:25:00 +01:00
Tobias Doerffel
083c2e1b0b Merge branch 'calf-updates'
* calf-updates:
  New widget: Tube with light and falloff
  New Deesser, some minor bugs in sc-comp
  Sidechain compressor bugs/settings, 3 equalizer
  Minor bugs, sidechain frequency display
  New FX: Sidechain compressor
  New button (big mama), VU-meters with falloff and hold, bug in delay (value)
  In the middle of nowhere
  Fully redesigned
  Sidebars, GUI layouts, black buttons again, input knob for compressor
  Added 6 new LED's and peak hold function for VU-meters
  meter_gain in gain_reduction module with falloff
2009-11-09 12:35:30 +01:00
Markus Schmidt
5691c6d474 New widget: Tube with light and falloff
(cherry picked from commit 7dd7e84cf23e65fed3eae683c8d39b5d975e0e36)
2009-11-08 22:47:54 +01:00
Markus Schmidt
552a5951b1 New Deesser, some minor bugs in sc-comp
(cherry picked from commit 599b6c04b61f28f0c9d6c2f30844c44c20927a13)
2009-11-08 22:44:38 +01:00
Markus Schmidt
ea0c6c1c7b Sidechain compressor bugs/settings, 3 equalizer
(cherry picked from commit 657a80ae2f423cb7f21b8fadcc2bc9cbd8e2c55f)
2009-11-08 22:43:10 +01:00
Markus Schmidt
a2fd414d1a Minor bugs, sidechain frequency display
(cherry picked from commit e98ecb9e0a71af6295499877dafe22d2bae5cc89)
2009-11-08 22:41:38 +01:00
Markus Schmidt
17425ce70f New FX: Sidechain compressor
(cherry picked from commit c5c8786de3e410c64d9c9d4cd70fd03a4c697a2e)
2009-11-08 22:36:53 +01:00
Markus Schmidt
4ab2c68bd1 New button (big mama), VU-meters with falloff and hold, bug in delay (value)
(cherry picked from commit 27d2c6f978d07b1daaa4393732481f3016a0a528)
2009-11-08 14:37:00 +01:00
Markus Schmidt
0331180cd1 In the middle of nowhere
(cherry picked from commit ade6cdcd3f0f8d92a82e53f5c9d2bea451148927)
2009-11-08 14:34:44 +01:00
Markus Schmidt
47f31ff1c7 Fully redesigned
(cherry picked from commit b5915c7d30802e64c5f4ce9a5bfe55690addbb03)
2009-11-08 14:33:00 +01:00
Markus Schmidt
825e9394d7 Sidebars, GUI layouts, black buttons again, input knob for compressor
(cherry picked from commit bc4c38524486f1e29985f32e0cc42e0907e85a23)
2009-11-08 14:30:26 +01:00
Markus Schmidt
5f8962d5f2 Added 6 new LED's and peak hold function for VU-meters
(cherry picked from commit 81cfb6dbc82f73a8d251238a5a342d152c39adb2)
2009-11-08 14:28:18 +01:00
Markus Schmidt
9313d27e5c meter_gain in gain_reduction module with falloff
(cherry picked from commit 81eaa78018b52a076dd7f904980bdbbcc312710b)
2009-11-08 14:25:05 +01:00
Tobias Doerffel
598bbcd1f7 AudioPulseAudio: alloc pcmbuf via CPU class
In AudioPulseAudio::streamWriteCallback() we're operating on pcmbuf
via an operation from CPU class. All methods of CPU assume the buffer
being aligned on 16 byte boundaries. However pa_xmalloc() & friends do
not allocate aligned memory which resulted in a crash when calling
CPU::convertToS16() (SSE2 version takes advantage of aligned memory).

Replacing pa_xmalloc()/pa_xfree() with CPU::memAlloc()/CPU::memFree()
fixes this crash.

Closes bug #2890465.
2009-11-05 10:18:23 +01:00
Paul Giblock
66f0ca60e2 Make AlsaDeviceListModel compile on older Qt
Older versions of Qt must not include the QPair declaration in
QAbstractListModel.  This fix simply includes QPair as well.
2009-11-03 15:37:04 -05:00
Tobias Doerffel
c9e78cb6aa Updated German localization files
There have been some changes to strings in the program lately that
weren't translated to German yet.
2009-11-02 22:44:07 +01:00
Tobias Doerffel
0ff170adb2 CusisStyle: sync with DefaultStyle
There were some changes to DefaultStyle (such as styling new
WelcomeScreen or SideBar) which weren't part of CusisStyle yet.
According lines were copied and pasted from DefaultStyle. Probably
colors need some tuning.
2009-10-31 13:11:17 +01:00
Tobias Doerffel
822a22ca37 SideBar: rewritten to use QToolBar instead of KMultiTabBar
Rewrote implementation of class SideBar to use QToolBar instead of
KMultiTabBar. We can style the SideBar now easily via CSS and do not
have to ship 3rd party KDE code with LMMS. Also the QToolBar based
SideBar integrates much better into the according widget style.

Furthermore renamed SideBar related classes and files to match new
coding style.
2009-10-31 13:08:03 +01:00
Tobias Doerffel
3499a2f1b3 Style: replaced Toolbar background PNG with qlineargradient CSS
The current toolbar backgrounds are just PNGs with a linear gradient
inside. We can achieve the same by using qlineargradient property in
the according style.css.
2009-10-31 12:15:15 +01:00
fundamental
415a966d25 Params: added pthread.h include to fix compile
Added #include <pthread.h> in PADnoteParameters.h to fix windows compile error
Patch by: Tobias Doerffel
(cherry picked from commit 14d2751bed1e6bb11805bb17e4a73e622c85a4ac)
2009-10-29 23:35:16 +01:00
Tobias Doerffel
4b8ddcc14f VstPlugin: flush temporary data exchange file
VstPlugin creates a temporary file for exchanging data chunks of VST
plugins with the remote process. After calling QFile::write(...) data
has not neccessarily been written due to QFile's internal write buffer.
Therefore explicitely call QFile::flush() so all data is guaranteed
to be written.

Fixes problems with plugins which save small data chunks.
2009-10-29 23:12:27 +01:00
Tobias Doerffel
17b388d482 ZynAddSubFX: flush temporary data exchange file
LMMS' ZynAddSubFX plugin creates a temporary file for exchanging XML
data with the remote process. After calling QFile::write(...) data
has not neccessarily been written due to QFile's internal write buffer.
Therefore explicitely call QFile::flush() so all data is guaranteed
to be written.

Closes #2877916.
2009-10-29 23:11:44 +01:00
Tobias Doerffel
1633cf2593 Removed usage of ASCII C strings in several places
Still QString::toAscii() & friends were used in several places causing
problems such as failed access to files with non-ASCII characters in
name.

Closes #2884115.
2009-10-27 17:54:40 +01:00
Tobias Doerffel
fbacebca65 Merge branch 'zynaddsubfx-master'
* zynaddsubfx-master: (28 commits)
  ZynAddSubFX: explicitely link RemoteZynAddSubFx.exe against Core library
  Revert "ZynAddSubFX/FLTK: updated to SVN revision 6909"
  Style: Restylized entire codebase
  SUBnote: integrated memcpy/memset
  ADnote: started to use memset/memcpy
  ADnote: Documented/added const usage
  OSS: Added failsafe based upon Jrmie Andri patch
  Unison improvements
  Bandwidth effect on Reverb
  Started to rewrite the Reverb's Bandwidth effect (based on a better idea)
  ZynAddSubFX/FLTK: updated to SVN revision 6909
  Merge branch 'master' into newXML
  ZynAddSubFX: rebuilt UI files with non-buggy Fluid
  ZynAddSubFX: rebuilt source files from UI files
  Merge branch 'master' of ssh://zynaddsubfx.git.sourceforge.net/gitroot/zynaddsubfx/zynaddsubfx
  Started to implement Bandwidth to the Reverb effect.
  Small enhancements and bugfixes to Unison
  Made unison vibratto LFO smoother
  Other improvements and bugfixes on Unison.
  Bugfixes
  ...
2009-10-27 10:19:26 +01:00
Tobias Doerffel
871c4ae06f Added new DirectorySelectDialog
DirectorySelectDialog is another subclass of ResourceSelectDialog,
allowing to pick a certain directory via a tree view and a filter
line edit.
2009-10-27 00:35:07 +01:00