Commit Graph
54 Commits
Author SHA1 Message Date
Tobias Doerffel 84e0dc1b81 Sf2Player: removed trailing spaces in code
There were some unsolicited trailing spaces in the code. Removed them.
(cherry picked from commit 964c6532f2)
2009-08-05 18:09:42 +02:00
Tobias Doerffel 99791ddf25 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.
(cherry picked from commit 144f0c6c80)
2009-08-05 18:04:06 +02:00
Tobias Doerffel 31b2b00ba4 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.

(cherry picked from commit 4baf459da2)

stable-0.4 branch: forward-ported various trivial changes from master.
2009-08-05 17:38:50 +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 cfe9c35f41 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>
(cherry picked from commit d1353247d9)
2009-07-05 16:43:03 +02:00
Tobias Doerffel b46e711205 Sf2Player: truncated LOG440 constant
Having LOG440 as double with a mantissa of 51 digits doesn't help anything.
Truncated to float with 9 digits.
(cherry picked from commit 12fd3206b4)
2009-03-16 16:57:19 +01:00
Tobias Doerffel fa6e5be636 update patch after loading settings (closes #2486372) (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2024 0778d3d1-df1d-0410-868b-ea421aaaa00d
2009-02-12 23:25:49 +00:00
Tobias Doerffel 6f78e46035 fixed broken reference sharing (stable backport)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1831 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-11-04 20:04:14 +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
Paul Giblock c80d587633 SF2-player HQ support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@918 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-14 06:32:02 +00:00
Paul Giblock 07e346f4cf SF2-player HQ support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@917 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-14 05:16:41 +00:00
Paul Giblock b30eb4dda6 SF2-player HQ support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@916 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-14 04:20:39 +00:00
Tobias Doerffel c8c5382b35 made rendering happen with one global working-buffer per thread - hopefully improves L1/L2-cache-efficiency
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@890 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-05 19:06:32 +00:00
Paul Giblock aad7608b64 More SF2 fixes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@812 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-03-30 17:56:57 +00:00
Tobias Doerffel 0355877769 duplicate char-pointer returned by qPrintable - fixes bugs when loading sound-fonts
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@811 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-03-30 17:06:23 +00:00
Paul Giblock ca8d394905 Plugged memleaks in sf2player and lcdSpinbox, reapplied lmmsStyle, enhanced drawing of LCDs, added ignore property for SVN
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@800 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-03-17 06:14:06 +00:00