Commit Graph

2319 Commits

Author SHA1 Message Date
Paul
e86ab32cde Other improvements and bugfixes on Unison.
(cherry picked from commit 461cb023b98c17708a1bc605416b9bd5fec81224)
2009-09-23 23:26:37 +02:00
Paul
b87dcc5c71 Bugfixes
(cherry picked from commit 3d23087c5a257f3319f7c846c6ec131cf34cbba5)
2009-09-23 23:26:33 +02:00
Paul
9d4bdb93a9 Made unison frequency spread to depend on Bandwidth controllers and parameters
(cherry picked from commit c2d08b3b5784059501bc074c6574e28b1c96c63f)
2009-09-23 23:26:28 +02:00
Paul
f2362df5fb Added unison invert phase
(cherry picked from commit 5302e6d9c97ae6435bbc0d68a412dbfe3cb03044)
2009-09-23 23:26:24 +02:00
Paul
f8b8ea9686 Added Vibratto to unison effect
(cherry picked from commit 97013fd5ca25c477d8db76105a22ddd1b8cc6cdd)
2009-09-23 23:26:19 +02:00
Paul
5785f481b3 Continued unison implementation.
(cherry picked from commit 2565eb855025cd3941f272b57b4b93fd86965e79)
2009-09-23 23:26:13 +02:00
Paul
0cd6d22931 Added GUI to Unison effect in ADsynth (but not finished)
(cherry picked from commit 7a4dc58ea1213d1c769b8968f320858dc0fb5d5d)
2009-09-23 23:26:09 +02:00
Paul
3570151d26 Started to add the unison effect to ADsynth
(cherry picked from commit ae7d0b438ab9082d32b3e551657fab1012d9d2c3)
2009-09-23 23:26:04 +02:00
Tobias Doerffel
afc9791926 ZynAddSubFX: build with -O2 rather than -O3
ZynAddSubFX developers also switched to -O2 for building ZynAddSubFX
so change it here as well.
2009-09-23 23:25:02 +02:00
Tobias Doerffel
2d7225a703 ZynAddSubFX: moved some files one directory level up
In order to allow easy integration of patches from ZynAddSubFX Git repo
moved some files.
2009-09-23 23:25:02 +02:00
Tobias Doerffel
c896488e13 Moved ChangeLog file to ChangeLog.old
As it's not maintained anymore but should be kept for archival reasons
I moved ChangeLog to ChangeLog.old.
2009-09-23 23:24:12 +02:00
Nikos Chantziaras
0f28295ac7 ZynAddSubFX: link fftw3f after ZASF core libs
Commit 3c18e436cd makes it impossible to
build LMMS with embedded ZynAddSubFX if "-Wl,--as-needed" is used in
LINKER_FLAGS during the link step of RemoteZynAddSubFx:

  Linking CXX executable RemoteZynAddSubFx
  libZynAddSubFxCore.so: undefined reference to `fftwf_plan_r2r_1d'
  libZynAddSubFxCore.so: undefined reference to `fftwf_execute'
  libZynAddSubFxCore.so: undefined reference to `fftwf_destroy_plan'

This happens because fftw3f, which is a system lib, is linked to before
the ZASF core libs when linking RemoteZynAddSubFx. With "--as-needed",
correct library order matters.
2009-09-23 14:38:45 +02:00
Tobias Doerffel
3c18e436cd ZynAddSubFX: resynced with their Git repo
ZynAddSubFX has gained some new developer power so development has been
going on well for quite a while now in their Git repo. It's time for
the first big resync so future changes can be integrated easily.
2009-09-17 23:29:09 +02:00
Tobias Doerffel
b73474ca73 ZynAddSubFX: eliminate global data in favour of per-synth data
OscilGen::tmpsmps and OscilGen::outoscilFFTfreqs were static member
variables initialized once in LocalZynAddSubFx class. However having
this data global is not a good idea because it gets modified by each
synth (possibly in parallel), causing heavy distortion under various
circumstances. Now that this data is allocated and used per-synth
everything works fine.
2009-09-15 23:40:36 +02:00
Tobias Doerffel
6940d19969 InstrumentPlayHandle: do not process if InstrumentTrack is muted
While regular instruments were excluded from processing when muted
this did not happen for InstrumentPlayHandle-based instruments. Muting
for exampling tracks with VSTi's inside did not decrease CPU usage.
Checking whether related InstrumentTrack is muted before calling
Instrument::play() fixes this issue.

Closes #2857426.
2009-09-15 10:10:02 +02:00
Tobias Doerffel
bb4c93ce37 WebResourceProvider: moved from QHttp to QNetworkAccessManager
QHttp is quite low-level while QNetworkAccessManager offers a well
designed API for accessing network resources. Therefore switched backend
of WebResourceProvider from QHttp to QNetworkAccessManager.
2009-09-15 01:24:57 +02:00
Paul Giblock
669b4e7198 Fix bug 2819817: main window scrollbars
Fix problem with main-window scrollbars not adjusting when toggling
off-screen children.  Seems like Qt bug #260116.
2009-09-11 00:07:12 -04:00
Tobias Doerffel
5c96adbd6d ZynAddSubFX: fix plugin descriptor name
While fixing the name of the plugin library in commit
883836aa8a the plugin descriptor
structure has not been updated.
2009-09-02 22:32:21 +02:00
Tobias Doerffel
883836aa8a ZynAddSubFX: keep plugin filename lower case
If we'd rename all plugins like I did with ZynAddSubFX, we'd run into
serious troubles, therefore keep plugin names lower case.
2009-09-01 00:14:21 +02:00
Tobias Doerffel
9ca04feb1d Win32: added missing symbol exports
Some new classes lacked the EXPORT declaration so they were not
accessible by plugins. Fixed this.
2009-08-30 14:52:36 +02:00
Tobias Doerffel
b4526ec1b4 AudioFileFlac: allow compilation withoug FLAC support
Compilation of AudioFileFlac source files failed when there's been
no FLAC support on the system. Fix this by adding according #ifdef's.
2009-08-28 23:56:15 +02:00
Tobias Doerffel
ee63a13f2d RemotePlugin: do not skip audio processing when debugging
If DEBUG_REMOTE_PLUGIN was set, RemotePlugin::process() always returned
as RemotePlugin::isRunning() returned false. Fix this by always
returning true when debugging.
2009-08-28 23:54:18 +02:00
Tobias Doerffel
78536d9065 ZynAddSubFX: fixed win32 compilation of FLTK and MXML
Some platform-specific constants got renamed during sed-mass-replace.
Fix this by reverting concerning constant names.
2009-08-28 23:53:02 +02:00
Tobias Doerffel
f1d383d04d ZynAddSubFX: added GUI-less mode
Added a new GUI-less mode to ZynAddSubFX instrument plugin which allows
to let ZynAddSubFX audio processing happen within LMMS, giving a much
better realtime behaviour.

As soon as showing up the GUI settings of GUI-less ZynAddSubFX instance
are saved and a traditional RemoteZynAddSubFx process is being launched
and the settings are applied there.
2009-08-28 23:52:38 +02:00
Tobias Doerffel
d2eea754bc ZynAddSubFX: lots of cleanups in RemotePlugin implementation
Moved all ZynAddSubFX instance related functions and variables into
RemoteZynAddSubFX class so there're no globals anymore. Also removed
some unused headers and ZynAddSubFX' main.c.

Additionally make use of full 80 chars/line with ts=4.
2009-08-27 11:34:59 +02:00
Tobias Doerffel
2287eca802 Plugin: typedef DescriptorList + more const improvements
Instead of writing QVector<Plugin::Descriptor> everywhere, mit up
iterators etc. centrally define Plugin::DescriptorList and use it
everywhere.

Additionally made pointers to Plugin::Descriptor and
Plugin::Descriptor::SubPluginFeatures::Key const in various places
so we can use ConstIterator everywhere when iterating through
Plugin::DescriptorList.
2009-08-26 01:46:27 +02:00
Tobias Doerffel
1c76c77d22 Plugin::Descriptor::SubPluginFeatures: made some methods const
We can safely make fillDescriptionWidget() and listSubPluginKeys()
const methods. Furthermore descriptor pointer to listSubPluginKeys()
can be const as well. Might allow more optimizations by the compiler.
2009-08-26 01:36:00 +02:00
Tobias Doerffel
e8c3c21f7f Plugin::Descriptor: renamed sub_plugin_features to subPluginFeatures
Renamed field sub_plugin_features to subPluginFeatures in
Plugin::Descriptor struct.
2009-08-26 01:01:35 +02:00
Tobias Doerffel
50004a4f89 EffectRackView: removed unused method mainLayout()
There's no need to get a pointer to the layout of an EffectRackView
outside the class, therefore remove the mainLayout() method.
2009-08-26 00:56:10 +02:00
Tobias Doerffel
cb85bfc906 EffectSelectDialog: rewritten using Designer
All of the GUI code of EffectSelectDialog has been replaced by an
according UI file. Also merged EffectListWidget class into
EffectSelectDialog to further simplify logic.
2009-08-26 00:52:17 +02:00
Tobias Doerffel
d7365e4cf3 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.
2009-08-26 00:50:41 +02:00
Tobias Doerffel
f7af62eab4 Build system: pass -nw as option for MOC to QT4_WRAP_CPP macro
Passing -nw as option for MOC to QT4_WRAP_CPP macro silences warnings
about non-MOCable headers (which confused a lots of users).
2009-08-24 23:37:28 +02:00
Tobias Doerffel
166701f9f3 sed: s/( void )/(), s/FALSE/false/, s/TRUE/true
Replaced remaining occurences of old constants and superfluous "void"
on empty argument list of functions.
2009-08-24 23:25:26 +02:00
Tobias Doerffel
8c9a9dd14c 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.
2009-08-24 17:59:28 +02:00
Tobias Doerffel
b5d9fab944 AutomatableModel: do not return an out of range value in fittedValue()
If a certain step was set for a model, the fitted value (i.e. value
divided by step, rounded and multiplied with step again) could become
smaller than minValue or greater than maxValue. Therefore explicitely
check those cases after performing the described calculation.

Closes #2840202.
2009-08-23 23:38:34 +02:00
Tobias Doerffel
9615ceabd5 PeakController: initial work on attack- and decay-support
The decay knob didn't actually do anything before. Now it's useful
together with newly introduced attack knob. One can do much better
sidechaining now without disturbing artifacts due to too responsive
volume changes.
2009-08-23 19:14:19 +02:00
Tobias Doerffel
90e0cab629 QuickLoadDialog: implemented resource type filter
One can filter resource types now using the combobox. It's also possible
to pass a certain ResourceItem::Type to the QuickLoadDialog constructor
so the according type is preselected.
2009-08-22 01:17:03 +02:00
Tobias Doerffel
1c56bf4e55 ResourceItem: added descriptiveTypeName() method
The new ResourceItem::descriptiveTypeName() allows to query a
descriptive name for a given ResourceItem type.
2009-08-22 01:16:04 +02:00
Tobias Doerffel
beed7a6ee6 Moved UI files from src/gui/dialogs to src/gui/Forms and renamed files
All UI files are now located in src/gui/Forms and have been renamed.
Old classes using some of the forms (AboutDialog, ExportProjectDialog)
have been adapted to instantiate Ui::* instead of inheriting from it.
2009-08-22 00:18:23 +02:00
Tobias Doerffel
fe99a7a35c WelcomeScreen: implemented project loading functionality
It's now possible to load projects by clicking them in one of the
two lists (recent projects, recent community resources).
2009-08-21 23:48:33 +02:00
Tobias Doerffel
97e52de521 RecentResourceListModel: added item(QModelIndex) method
Added an item(QModelIndex) method to RecentResourceListModel which
maps given QModelIndex to source model and returns the according
ResourceItem from the source model.
2009-08-21 23:45:25 +02:00
Tobias Doerffel
0404cc760f MainWindow: integrated new WelcomeScreen widget
Initial integration of (not yet fully functional) WelcomeScreen.
2009-08-21 19:14:03 +02:00
Tobias Doerffel
34a20ba610 Added new WelcomeScreen widget
The new WelcomeScreen widget is intended to be shown after startup
by default. It allows the user to choose how to start the session,
i.e. shows a list of recently edited projects, a list of new stuff
at the Sharing Platform as well as some help related information and
links.
2009-08-21 19:11:40 +02:00
Tobias Doerffel
a5bf034575 RecentResourceListModel: new model providing resources sorted by date
RecentResourceListModel is a new proxy model which provides a list of
resources sorted by date (based on a ResourceListModel as source model).
2009-08-21 18:34:34 +02:00
Tobias Doerffel
0550132d1b Engine: provide individual ResourceDBs instead of one global provider
Pointers to individual ResourceDBs can be obtained from Engine now.
This allows for more specialized views and reduces complexity when
dealing with resources.
2009-08-21 18:17:32 +02:00
Tobias Doerffel
d3bb3ff13a ResourceModel: implement filter functionality
So far all subclasses implemented filtering on their own which doesn't
make much sense. Now one can set filter keywords and a filter type for
all ResourceModels. Subclasses simply have to call
ResourceModel::itemMatchesFilter( ResourceItem ) in order to determine
whether an item should be hidden or not. Additionally they have to
implement the updateFilters() method in order to update their internal
management data each time the filters change.
2009-08-21 18:10:38 +02:00
Tobias Doerffel
36ec30f649 WebResourcesProvider: parse date from WebResources index
The last-mod property was not set for non-local ResourceItem's. Parse
it from WebResources index file and pass it to ResourceItem constructor.
2009-08-21 16:36:53 +02:00
Tobias Doerffel
7bea6d0e07 MainWindow: renamed class to match new style
Renamed mainWindow to MainWindow and engine::getMainWindow() to
engine::mainWindow(). Additionally reduced some header dependencies.
2009-08-21 12:09:39 +02:00
Tobias Doerffel
14ec1d1d10 Changed version number to 0.4.90
As discussed in IRC, we're going to insert another release series
(0.5.x) between 0.4.x and 1.0 so users do not have to wait for cool
new features (such as Resource framework, automation recording etc.)
until things like SongEditorNG are finished.

A new stable series also has the advantage of less maintainance work
because we can simply pull the stable branch into master branch for
bug fixes (instead of cherry-picking commits from master to stable).

Decreasing version number shouldn't have a functional impact as the
file format hasn't changed since 0.4.0.
2009-08-21 00:31:13 +02:00
Tobias Doerffel
6a9e45f733 TAP LADSPA plugins: updated to version 0.7.1
After (exactly) 5 years of silence, there's a new relase of TAP LADSPA
plugins. It fixes issues on 64 bit machines, uninitialised variables
and denormal issues.
2009-08-19 14:28:05 +02:00