Tobias Doerffel
964c6532f2
Sf2Player: removed trailing spaces in code
...
There were some unsolicited trailing spaces in the code. Removed them.
2009-08-05 18:04:39 +02:00
Tobias Doerffel
144f0c6c80
Sf2Player: fixed crash and race conditions
...
Do not crash if no fluid_voice could be determined in
sf2Instrument::playNote() (which for example happens if no soundfont
is loaded). Furthermore protect the FluidSynth API calls in the
envelope and panning code with global synth mutex.
2009-08-05 18:00:04 +02:00
Tobias Doerffel
4baf459da2
Sf2Player: added panning and volume envelope support
...
Finally there's proper support for panning and volume envelopes. This
is achieved by changing parameters of individual voices (one voice is
being created for each note). The new code also replaces the old
panning hacks which played notes on different channels and changed
panning of individual channels.
Closes #2010818 .
2009-08-05 12:37:02 +02:00
Tobias Doerffel
0bb54199b0
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
2009-08-05 11:41:59 +02:00
Tobias Doerffel
d1353247d9
Sf2Player: allocate temporary buffer on stack if possible
...
When compiling with GCC always allocate a temporary buffer for
resampling on stack rather than doing an expensive heap allocation.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com >
2009-07-05 16:33:49 +02:00
Tobias Doerffel
f943df139e
InstrumentView: added generic DnD support, renamed/splitted files
...
Added generic drag'n'drop support for all instrument views. All
resources supported by the according instrument now can be dropped
onto instrument view without any extra code in actual instrument.
Additionally renamed some files and classes related to InstrumentView
class to match new style.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com >
2009-06-30 01:19:48 +02:00
Tobias Doerffel
01fc74939c
Sf2Player: adapted to resource framework
...
Adapted Sf2Player plugin to new resource framework support in plugin
base class.
Furthermore some coding style improvements.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com >
2009-06-29 23:30:12 +02:00
Tobias Doerffel
b1fe2dcbdf
Sf2Player: fixed hanging notes with enabled panning support
...
If SF2_PANNING_SUPPORT is set, overlapping notes of the same key played on
different MIDI channel caused some notes to hang. This commit fixes the issue.
2009-03-16 16:51:35 +01:00
Tobias Doerffel
12fd3206b4
Sf2Player: truncated LOG440 constant
...
Having LOG440 as double with a mantissa of 51 digits doesn't help anything.
Truncated to float with 9 digits.
2009-03-16 15:37:16 +01:00
Tobias Doerffel
f0cd8631d7
Sf2Player: properly update patch if panning support is enabled
...
If SF2_PANNING_SUPPORT is set, changed patches were applied to current
channel after calling fluid_synth_noteon(...) - some notes still were played
with the old patch until m_channel made one round trip.
2009-03-15 21:57:17 +01:00
Tobias Doerffel
a4c1797822
update patch after loading settings ( closes #2486372 )
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@2023 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 23:24:29 +00:00
Tobias Doerffel
276f1e343c
fixed broken panning support
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1946 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-16 16:51:42 +00:00
Andrew Kelley
87a9be583f
sf2 understands panning midi meta events now
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1942 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-16 11:46:41 +00:00
Andrew Kelley
7fe4f1e60c
experimental support for note panning in SF2 player (I'm not sure what m_maxChannels should be or how to find it out. I just picked what worked for my setup.)
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1941 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-16 11:24:05 +00:00
Tobias Doerffel
986fce1126
fixed broken reference sharing
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1830 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-11-04 20:03:36 +00:00
Tobias Doerffel
87ee43a079
made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in lmms_basics.h
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1784 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-19 21:48:57 +00:00
Tobias Doerffel
33c63d011c
do not mess around with global static pointers for a single instance of patchesDialog - create a local object instead ( closes #2139701 )
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1772 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-18 14:59:27 +00:00
Tobias Doerffel
adf8aed93c
removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1718 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-30 11:14:32 +00:00
Tobias Doerffel
63da74283c
use notePlayHandle::getMidiVelocty() rather than notePlayHandle::getVolume() for allowing less bright sounds by decreasing instrument-track's volume (if soundfont supports it)
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1716 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-29 19:30:24 +00:00
Tobias Doerffel
778293b31e
fixed compiler warnings
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1680 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-21 23:47:02 +00:00
Paul Giblock
74ac69ed1a
Fix reference sharing in SF2 player
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1653 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-21 00:19:48 +00:00
Tobias Doerffel
6f0645c66b
try to use relative paths for s_fonts map too as otherwise s_fonts.remove( m_filename ) won't do anything if a full path was inserted and m_filename was made relative - fixes crash when re-opening a soundfont which was shared before
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1625 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-17 09:52:51 +00:00
Paul Giblock
18873f7305
Add Portsmf MIDI importing to trunk
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1622 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-17 08:11:38 +00:00
Tobias Doerffel
da2fcf130a
UI finetuning / recompression of some PNG-files
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1589 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-08 12:47:11 +00:00
Tobias Doerffel
fa1a9f4967
* rewrote the way plugins can handle certain filetypes
...
* rewrote various parts of file-browser to be less redundant and more stable (closes #2071891 )
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1582 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-07 22:38:23 +00:00
Tobias Doerffel
9b47d27f56
* improved concept for file types supported by certain plugins
...
* various small improvements for an even better ZynAddSubFX integration
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1520 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-30 00:07:02 +00:00
Tobias Doerffel
025fa4ec8a
fixed reverb/chorus after change of samplerate
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1444 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-19 17:29:10 +00:00
Tobias Doerffel
578323448f
* query data from correct model when activating reverb ( closes #2035134 )
...
* convert from note-play-handle's volume to MIDI-velocity when calling fluid_synth_noteon()
* set fluidsynth's internal interpolation-method to high-quality when running LMMS in HQ-mode
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1434 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-05 14:52:30 +00:00
Tobias Doerffel
81bfa8cdad
* integrated patch by Csaba Hruska
...
* fixed spinbox-ranges
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1423 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-01 16:14:29 +00:00
Tobias Doerffel
257e60ab37
reduced header-dependencies
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1406 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-28 21:39:08 +00:00
Tobias Doerffel
e637495489
migrated build-system to CMAKE
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1352 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 11:36:50 +00:00
Tobias Doerffel
cd2f51b05b
fixed compiler warnings
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1325 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-18 10:08:37 +00:00
Tobias Doerffel
61f2990c19
sf2player: added support for pitch-bending
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1293 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-07 08:34:27 +00:00
Paul Giblock
3f738ae1a9
Correctly initialize sf2 gain on startup
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1196 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-29 04:30:10 +00:00
Tobias Doerffel
6f92953374
enabled LCD-Spinboxes for easily switching banks/patches
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1119 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-10 09:14:12 +00:00
Paul Giblock
f7b160d34f
Integrate new SF2 artwork, for the most part :)
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1118 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-10 06:49:47 +00:00
Paul Giblock
8654b47182
Update some plugins to use displayName
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1079 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-06 07:42:21 +00:00
Tobias Doerffel
32f07361f9
coding style fixes
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1056 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-02 20:53:13 +00:00
Paul Giblock
eb4931f321
Load SF2 files from sidebar
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1053 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-02 17:34:50 +00:00
Tobias Doerffel
f8ce4a57b7
build win32-DLLs properly
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1047 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-02 15:55:43 +00:00
Tobias Doerffel
d5701ac014
reworked automatableModel (not template-based anymore), removed levelObject, splitted comboBox/comboBoxModel-source-files, began to unify context-menu-creation for controls
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1031 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-28 11:47:45 +00:00
Paul Giblock
d8848ff6a0
Fix sf2player gain
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1028 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-28 00:42:24 +00:00
Tobias Doerffel
aa08d06068
* plugins and core: use new pluginPixmapLoader
...
* lmmsStyle-class: load stylesheet here
* comboBox/comboBoxModel: use pixmapLoader-pointers rather than QPixmap-pointers
* in plugin-descriptor, hold a pointer to pixmapLoader instead of QPixmap itself
* embed-framework: introduced pixmapLoader and pluginPixmapLoader-classes for abstracting QPixmap-instantiation - models can hold pixmapLoaders without actually instantiating a QPixmap-object and views can access the pixmap
* main-window: removed settings-menu and moved setup-dialog to edit-menu
* config-manager: removed all the obsolete first-startup-wizard-code
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@999 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-20 23:41:45 +00:00
Tobias Doerffel
298df38d09
in draft-mode use zero-order-hold interpolation instead of linear interpolation - fixes some issues with resampling, cleanups
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@961 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-12 18:37:05 +00:00
Tobias Doerffel
7598cd7a8e
* sf2Player: retrieve resampling-interpolation from current mixer quality settings
...
* mixer: made m_writing-variable in fifoWriter volatile
* projectRenderer: change audio-device to file-device from within GUI-thread in order to make slots being connected to sampleRateChanged()-signal being called
immediately
* audioDevice: made HQ-mode for audio-devices optional
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@959 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-11 23:21:33 +00:00
Tobias Doerffel
5cfb1b2f96
made quality-settings (internal processing samplerate, interpolation and so on) independent of audio-devices (final output) and added new qualitySettings-structure to mixer - might be still buggy and HQ-mode is currently not working, this is going to be fixed tomorrow, anyways important preparation for new project-export-dialog
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@957 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-05 23:14:48 +00:00
Paul Giblock
564ed100ba
Add gain, chorus, and reverb to SF2
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@942 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-28 13:58:16 +00:00
Tobias Doerffel
8337dcf0bc
small cleanups
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@933 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-21 08:41:20 +00:00
Paul Giblock
086860e634
Fixed sf2-player reference sharing for good
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@926 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-16 04:07:32 +00:00
Tobias Doerffel
4b8cf35c40
added resampling with Sinc-interpolation in case LMMS processes with higher sample-rate than 96 KHz
...
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@920 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-14 21:01:45 +00:00