Commit Graph
37 Commits
Author SHA1 Message Date
Tobias Doerffel 20589f19e4 Mixer: rewrote processing chain of rendered audio buffers
Until now, Mixer not only was responsible for rendering audio buffers
but also managed writing them to audio backend (through a FIFO) and
handled various quality related parameters.

All this functionality has been moved into the new AudioOutputContext
class. It glues together AudioBackend (formerly called AudioDevice),
global quality settings and the Mixer.

The AudioOutputContext class creates a FifoWriter which calls
Mixer::renderNextBuffer() and writes the output into the BufferFifo of
the AudioOutputContext it belongs to. The BufferFifo is read by the
according AudioBackend which belongs to the AudioOutputContext as well.

The AudioOutputContext also handles resampling in case the AudioBackend
wants the buffers in a different samplerate.

During this rewrite the Mixer class and the according source files have
been renamed from "mixer" to "Mixer". This results in small changes
all over LMMS' code base.
2009-11-29 01:46:23 +01: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 55337ad2be Renamed MIDI and audio related classes/files to match new style
Renamed all MIDI and audio related classes/files to match new style.
Additionally various cleanups.
(cherry picked from commit b8ebfbd06a)
2009-08-13 01:46:49 +02:00
Andrew Kelley 60a0bf9346 AudioFileMp3 - Use a configurable setting for lame
There is a new folder setting called Lame Library. AudioFileMp3
will look here for libmp3lame.so.0. If it can't find it it will
notify the user how to make it work and abort rendering gracefully.
2009-07-15 07:00:52 -07:00
Achim Settelmeier 288756e30f Help text for MidiControlListener setup dialog
Added a "(?)" button and help text to the Midi Control Listener
setup dialog.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-01 22:12:05 +02:00
Achim Settelmeier bc2815118b Added MIDI device selection menu for MidiControlListener to setup dialog.
The MIDI device(s) where the MidiControlListener can receive events from
can now be configured in the setup dialog.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-05-31 12:11:08 +02:00
Achim Settelmeier 8d5b2c4813 MIDI Control Listener setup dialog
Adds GUI elements to the global setup dialog to configure remote
controlling of LMMS via MIDI. The GUI is not yet fully functional,
though.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-05-29 01:52:27 +02:00
Paul Giblock ae03f9f3b1 Add user-configurable background artwork
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1655 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-21 04:32:24 +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 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 15134568f1 * removed volumeKnob-class and added volumeKnob-property to knob-class instead
* reduced header-dependencies and various cleanups
* removed obsolete settings



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1158 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-20 22:44:49 +00:00
Tobias Doerffel d6262bb556 use lmmsconfig.h rather than config.h and use prefixed macro-names
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1097 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-08 11:30:47 +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 ce128add00 inital M/V-hacks, improve project-unloading speed, fix wrong signal-slot-connection which made gate-parameter of effects not working
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@634 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-01-02 22:19:58 +00:00
Javier Serrano Polo 3b1f2d30b7 removed negative wording in general settings
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@621 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-12-12 21:46:13 +00:00
Tobias Doerffel e24f094c62 dropped Qt3-support and improved Qt4-support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@547 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-08-26 19:02:51 +00:00
Javier Serrano Polo 16a61bf8fe static engine, chunked audio buffer, pat fix, MIME type
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@472 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-04-19 06:52:29 +00:00
Javier Serrano Polo c77e194a53 fixed high quality, l10n issues
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@464 0778d3d1-df1d-0410-868b-ea421aaaa00d
2007-02-28 22:35:33 +00:00
Tobias Doerffel 361235447e support for compressed project files
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@418 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-09-28 13:49:38 +00:00
Tobias Doerffel 373f7dffae LADSPA-base now as library, fixed binary files
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@405 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-09-20 22:36:59 +00:00
Tobias Doerffel 5a96f63533 parallelizing-support for SMP-systems
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@403 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-09-18 12:35:10 +00:00
Danny McRae f4154da68f initial support for STK
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@392 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-09-08 14:25:04 +00:00
Javier Serrano Polo 1a94835907 updated FSF address
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@381 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-08-27 23:31:03 +00:00
Danny McRae f006481333 configurable ladspa path
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@300 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-08-10 18:29:30 +00:00
Danny McRae 703adaf6a3 Merged my own and Toby's changes from last week.
Modified Files:
 	ChangeLog Makefile.am TODO
 	data/presets/TripleOscillator/Makefile include/base64.h
 	include/config_mgr.h include/file_browser.h
 	include/instrument_track.h include/knob.h include/mixer.h
 	include/mmp.h include/sample_buffer.h include/sample_track.h
 	include/setup_dialog.h include/spc_bg_hndl_widget.h
 	plugins/audio_file_processor/audio_file_processor.cpp
 	plugins/audio_file_processor/audio_file_processor.h
 	plugins/bit_invader/bit_invader.cpp
 	plugins/organic/organic.cpp plugins/organic/organic.h
 	plugins/plucked_string_synth/plucked_string_synth.cpp
 	plugins/triple_oscillator/triple_oscillator.cpp
 	plugins/triple_oscillator/triple_oscillator.h
 	plugins/vestige/lvsl_client.cpp plugins/vestige/vestige.cpp
 	plugins/vibed/impulse_editor.cpp
 	plugins/vibed/nine_button_selector.cpp
 	plugins/vibed/nine_button_selector.h plugins/vibed/vibed.cpp
 	plugins/vibed/vibed.h src/lmms_single_source.cpp
 	src/core/bb_editor.cpp src/core/config_mgr.cpp
 	src/core/file_browser.cpp src/core/main_window.cpp
 	src/core/midi_tab_widget.cpp src/core/mixer.cpp
 	src/core/piano_roll.cpp src/core/setup_dialog.cpp
 	src/core/song_editor.cpp src/core/track.cpp src/lib/mmp.cpp
 	src/lib/sample_buffer.cpp src/tracks/instrument_track.cpp
 	src/tracks/sample_track.cpp src/widgets/fade_button.cpp
 	src/widgets/group_box.cpp src/widgets/lcd_spinbox.cpp
 	src/widgets/project_notes.cpp src/widgets/tab_widget.cpp
 	src/widgets/text_float.cpp src/widgets/tool_button.cpp
 Added Files:
 	data/themes/blue_scene/auto_limit.png
 	data/themes/default/auto_limit.png include/volume_knob.h
 	src/widgets/volume_knob.cpp


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@131 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-04-17 14:09:06 +00:00
Tobias Doerffel b1887d62b8 lot of fixes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@124 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-04-10 08:22:55 +00:00
Tobias Doerffel 3992e5c954 improved FLP-filter a lot
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@118 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-04-05 13:24:13 +00:00
Tobias Doerffel a63c20f8e5 re-organized directory-structure of source-tree
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@93 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-02-28 13:42:21 +00:00
Tobias Doerffel 5fd05b16e4 introduced engine-technology
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@81 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-02-10 10:48:27 +00:00
Tobias Doerffel 8a1d9788a9 many bugfixes and updated projects
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@49 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-01-17 13:24:41 +00:00
Tobias Doerffel f1a0214cda added two switches in setup-dialog
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@47 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-01-10 12:55:42 +00:00
Tobias Doerffel 4804108a1d bugfixes and some small new features
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@45 0778d3d1-df1d-0410-868b-ea421aaaa00d
2006-01-09 10:31:28 +00:00
Tobias Doerffel ab719618f7 new audio-mixing system and new VST-support-framework
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@25 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-11-30 10:19:11 +00:00
Tobias Doerffel 22de18909a added ALSA-sequencer support
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@23 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-11-07 13:44:52 +00:00
Tobias Doerffel 4952f23917 made LMMS capable of managing its windows like GIMP (no MDI) and fixed some small bugs
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@22 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-10-28 15:58:35 +00:00
Tobias Doerffel 40d8b3c4f6 completely new MIDI-subsystem and other bugfixes, see ChangeLog for details
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@20 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-10-24 09:13:39 +00:00
Tobias Doerffel 4c7832a975 Initial revision
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@3 0778d3d1-df1d-0410-868b-ea421aaaa00d
2005-09-22 13:49:52 +00:00