Commit Graph

742 Commits

Author SHA1 Message Date
Tobias Doerffel
f514dfdbb3 InstrumentTrack: made pitch range model publicly accessible
Added InstrumentTrack::pitchRangeModel() in order to allow other classes
to access pitch range model.
2009-05-16 17:17:54 +02:00
Tobias Doerffel
41907a7ebf InstrumentTrack: added support for changing pitch range
Added a new LCD spinbox which allows to control the range of the pitch
knob. This way it's possible to extend the range of the pitch knob up
to 24 semitones in each direction.
2009-05-16 16:58:44 +02:00
Tobias Doerffel
40b9b1cb4c LV2: fixed compilation without LV2 support or older versions of LV2
LV2 core was not compiled conditionally into LMMS binary so compilation
failed when building without LV2 support. Furthermore added
compatibility code for SLV2 <= 0.6.2.
2009-05-15 18:23:09 +02:00
Janne Matti Sinisalo
f7edd7089a Fixed compatibility with libslv2 0.6.4.
Fixed includes to work with libslv2 0.6.4 and newer. :) Broke compatibility with 0.6.2 and older. :( Maybe there could be some test for this?
2009-05-12 16:25:06 +03:00
Achim Settelmeier
f4e929022e Added MidiControlListener for controlling LMMS via MIDI
MidiControlListener is MidiEventProcessor that listens for specific
MIDI events in order to control LMMS' transportation (currently only
start/stop). Can be advanced later to control other things in LMMS.
2009-05-05 23:43:47 +02:00
Tobias Doerffel
324b5afb50 LV2: fixed serious violations of coding style conventions
Unfortunately new LV2 code didn't respect coding style conventions
so I fixed most of it and did various other cleanups. Still needs some
work though.
2009-04-30 01:09:20 +02:00
Martin Andrews
b40a9e1905 LV2: Manager now in LMMS core
Moved LV2Manager to LMMS core so it can be used by several plugins.
Furthermore made LMMS instead of LV2 browser plugin link against SLV2
libraries.
2009-04-30 00:29:38 +02:00
Andrew Kelley
c12b716458 Experimental automation recording support
Allows you to record automation by arming an automatable model
and then recording with the RecordAndPlay button.

Known bugs:
	* when you record and there is already an auto clip, it repeats it
	* it freezes when you try to do it with the Volume or Panning slider
	* crashes when you try to do it with a solo/mute button
2009-04-28 17:56:49 -07:00
Andrew Kelley
198cfe96b4 fix alignment of automation recording 2009-04-28 17:56:49 -07:00
Andrew Kelley
57824bb2d1 make knobs easier to tune 2009-04-28 17:56:49 -07:00
Andrew Kelley
f40b61045a implemented automation recording 2009-04-28 17:56:48 -07:00
Tobias Doerffel
232c1de404 InstrumentTrackView: save and restore last position of window
When closing a InstrumentTrackWindow save its position so it can be
restored later when showing it. Fixes windows always popping up
somewhere else when toggling instrument track button repeatedly.
2009-04-18 18:25:44 +02:00
Tobias Doerffel
1802b91e55 RemotePlugin: allow waitForInitDone() without busy waiting
An additional parameter to waitForInitDone() allows to disable busy
waiting which could be desired in various places to avoid deadlocks.
2009-04-18 17:41:37 +02:00
Tobias Doerffel
7200eb8158 RemotePlugin: made lock() and unlock() methods public
Made RemotePlugin::lock() and RemotePlugin::unlock() public allowing
to use RemotePlugin class without subclassing it.
2009-04-18 17:18:24 +02:00
Tobias Doerffel
5828643582 Note class: renamed method "bool selected()" to "bool isSelected()"
In class "Note" renamed method "bool selected()" to "bool isSelected()"
in order to match coding style conventions.
2009-04-17 15:11:41 +02:00
Tobias Doerffel
6f0388be7c PianoView/PianoRoll: fixed keycodes for OS X
This patch enables the usage of PC keyboard for playing instrument piano
or piano roll on OS X by evaluating nativeVirtualKey rather than
nativeScanCode.
2009-04-16 10:40:00 +02:00
Tobias Doerffel
656b195cfd RemotePlugin: never lock up if remote plugin died
Up to now there were insufficient checks whether the remote plugin
has died and so the result usually has been a complete lock-up of LMMS
(especially when using buggy VST plugins or similiar). By adding
according checks to remotePlugin::lock() and remotePlugin::unlock()
as well as remotePluginBase::waitForMessage() those lock-ups are gone.
2009-04-14 00:34:37 +02:00
Tobias Doerffel
e0d352dc2c FileBrowser: added file type VstPluginFile
Added file type VstPluginFile in order to allow loading DLL files by
an according plugin directly from file browser.
2009-04-13 23:58:30 +02:00
Tobias Doerffel
76662a3a51 InstrumentTrack: fixed calculation in midiPitch()
InstrumentTrack::midiPitch() returned 16384 instead of 16383 if pitch
was set to +100 cents. This commit fixes the calculation.
2009-04-13 16:13:18 +02:00
Tobias Doerffel
b4e38e3978 AudioJack: fixed lockup when getting zombified
This commit fixes lockup of the whole audio engine as soon as LMMS'
JACK backend got zombified due to longer delays (e.g. when audio engine
is blocked while loading a project). Restart JACK backend in such cases
and show an according message to the user.

Furthermore this commit includes various cleanups and improvements.
2009-04-07 00:07:19 +02:00
Tobias Doerffel
ff010da5ee SongEditor: fixed horizontal scrollbar with Qt 4.5
Due to optimizations in the graphics subsystem of Qt 4.5
songEditor::paintEvent() didn't get called regularly anymore and thus
the range of the horizontal scrollbar didn't get updated at all.

This commit makes the GUI track all changes related to the length of
the song.
2009-04-05 23:54:28 +02:00
Tobias Doerffel
1b91b599ba ProjectRenderer: added support for 24 Bit WAVs
Integrated patch by Skiessi which adds support for exporting 24 Bit WAV
files in LMMS.
2009-04-05 16:02:27 +02:00
llama
7cb7bc1dcf GIT SUCKS BALLS. FINALLY A COMMIT FROM WEEKS AGO 2009-03-31 19:56:12 -05:00
Tobias Doerffel
34bbde53e7 panning.h: fixed compiler warning
Fixed compiler warning about converting float to Sint16.
2009-03-25 17:00:06 +01:00
Tobias Doerffel
dc7cc064ce ControllerConnection: export symbols for win32 build
As of ee9e5680b7, LADSPA effect plugins access
ControllerConnection class. We therefore need to export its symbols.
2009-03-22 01:03:27 +01:00
Tobias Doerffel
02b06ae91e TrackContentWidget: cleaned up unused variable 2009-03-16 17:14:40 +01:00
Tobias Doerffel
7449c4f731 Fixed various types to be suffixed with "_t".
This commit ensures that all defined data types in include/lmms_basics.h are
suffxed with "_t" to keep consistency as well as to fix issues on systems
with older STL/libstdc++.
2009-03-15 16:28:13 +01:00
Tobias Doerffel
fdc065b8b8 MidiAlsaSeq: fixed typo which made output ports not work at all
As of 94d13e84ca, MidiClients::writablePorts()
was not overloaded properly anymore and thus no output ports appeared anymore.
2009-03-14 19:06:43 +01:00
Tobias Doerffel
c24b923b78 FX-Fader: added accessibleName property for FX faders for not displaying
an empty titlebar in context-menu
2009-03-14 16:02:18 +01:00
Tobias Doerffel
46097b72d7 Various fixes for better OpenBSD compatibility (thanks to Jacob Meuser) 2009-03-12 19:34:03 +01:00
Tobias Doerffel
94d13e84ca MIDI subsystem: fixed misspelled "writeable" into "writable", minor
coding style fixes
2009-03-12 01:09:32 +01:00
Tobias Doerffel
d794789210 ResourcesItem: if base()==BaseURL, try to return URL of provider in
getBaseDirectory()
2009-03-10 23:28:36 +01:00
Tobias Doerffel
2385a921eb WebResourcesProvider: added support for directory structure according to
directory information in WebResources/Index file
2009-03-10 23:21:23 +01:00
Tobias Doerffel
2d7b1f1211 LocalResourcesProvider: do not include own name in path-property of
directory items and fixed usage of ResourcesItem::fullName() - makes
format of XML cache file more consistent and also speeds up string
comparisonswhen filtering
2009-03-10 18:51:51 +01:00
Tobias Doerffel
5238e02fe7 WebResourcesProvider: initial implementation allowing to browse and
download online resources just like if they were local files
2009-03-09 00:52:35 +01:00
Tobias Doerffel
168b52dcff ResourcesItem: added BaseURL 2009-03-08 22:49:34 +01:00
Tobias Doerffel
f5057ce6d2 Standard filters: added 24 dB versions of RC filters as well as a vocal
format filter (thanks to Stefan Fendt!)
2009-03-08 15:19:01 +01:00
Tobias Doerffel
890f4564a1 Save database of LocalResourcesProvider into cache file at exit. 2009-02-28 17:13:11 +01:00
Tobias Doerffel
18282e0de3 Made UnifiedResourcesProvider actually pull ResourceItem's from its
merged databases into its own database (and also keep them up to date).

Furthermore added code to properly destroy merged databases and their
providers in desctrutor.
2009-02-28 17:10:48 +01:00
Tobias Doerffel
e69709ae83 ResourcesProvider's now can tell their databases not to locally cache their
items in a file by overloading ResourcesProvider::cacheDatabase()
2009-02-28 17:04:35 +01:00
Tobias Doerffel
aff61f16b0 Replaced global ResourcesDB with a global UnifiedResourcesProvider which
allows to add several resource directories or online resources.
2009-02-28 16:02:08 +01:00
Tobias Doerffel
75c03f65f2 Added UnifiedResourcesProvider which merges multiple ResourcesDB's and
offers one unified database.
2009-02-28 15:46:29 +01:00
Tobias Doerffel
a93a400539 Refactored resources framework to use the new LocalResourcesProvider for
scanning local directories and filling its ResourcesDB.

The ResourcesDB is responsible for writing local catalogue files. It
automatically loads back the appropriate catalogue file (depending on
the provider that operates on the ResourcesDB object) at initialization.
Will be useful for WebResourcesProvider as well to cache metadata of
online resources.

All you have to do now is to create an according ResourcesProvider which
will automatically setup a ResourcesDB that can be operated on by the
ResourcesTreeModel.
2009-02-27 19:01:51 +01:00
Tobias Doerffel
f49274cac2 Separated out ResourcesDB::Item and ResourcesDB::TreeItem into
ResourcesItem and ResourcesTreeItem in own header- and source-files
2009-02-27 11:25:39 +01:00
Tobias Doerffel
d2f82ce3c0 Added skeleton for WebResourcesProvider class 2009-02-27 00:55:30 +01:00
Tobias Doerffel
2915896658 Added skeleton for LocalResourcesProvider class 2009-02-27 00:55:04 +01:00
Tobias Doerffel
71c8690442 Added skeleton for ResourcesProvider class 2009-02-27 00:54:38 +01:00
Tobias Doerffel
0804318b57 ResourcesDB: added typedef's for enumerations in ResourcesDB::Item 2009-02-27 00:53:33 +01:00
Tobias Doerffel
9bbb701dac Fixed file mode for files that were executable although they shouldn't be 2009-02-27 00:21:41 +01:00
Tobias Doerffel
9ebdc72404 ResourcesDB: added nameHash property in order to avoid unnecessary
string comparisons (now comparing two int's before comparing two whole
string objects)
2009-02-27 00:01:38 +01:00