Use Source:setFilter(type, params...) to set a filter.
Use Source:setFilter() to detach the current filter.
Use Source:getFilter() to get the currently set filter (or nil).
Squashed from pull request 27, and the clean-pr27 branch in love-experiments.
--HG--
branch : minor
getRecordingDevices internal function is now returns constant reference,
also re-enumerates devices every time it is called; this is a slow operation
getID removed for not being useful
--HG--
branch : minor-mic-input
made enumerator to first attempt aquire default device name by standard means,
then to fall back to read name from opened device
getRecordingDeviceCount removed for being redundant
--HG--
branch : minor-mic-input
RecordingDevice class added
(number)love.audio.getRecordingDeviceCount() and (table)love.audio.getRecordingDevices() exposed
(bool):startRecording([samples, sampleRate, bitDepth, channels], (SoundData):stopRecording([SoundData]),
(SoundData):getData([SoundData]), (number):getSampleCount(), (number):getSampleRate(), (number):getBitDepth(),
(number):getChannels(), (string):getName(), (number):getID(), (bool):isRecording() member functions exposed
previously existed stub implementation removed
getFormat moved to love::audio::openal::Audio
getFormat arguments order swapped to (bitDepth, channels)
getFormat now returns AL_NONE if format is invalid
--HG--
branch : minor-mic-input
success state return added to queueData functions
queueable source is now seekable while stopped
fixed bug with creating queueable source with invalid format silently crashing LOVE
fixed bug with stopped queueable source reported as not queueable
--HG--
branch : minor
Instead of having three states, stopped, paused and playing, now there's only
two states: paused and playing.
This means resume() is gone, as is isStopped(), and isPaused() has become
isPlaying(). stop() now pauses and rewinds, whereas pause() only pauses.
rewind() has been removed, and should either be replaced with stop() or
seek(0).
The same has been applied to the functions in the love.audio module, except they
get some extra magic:
- love.audio.pause() now returns a table/list of Source objects, which contains
only the sources it has just paused. This means you can then later restart
only them, instead of everything (as before).
- love.audio.play/pause/stop now have variants that take a list of Source
objects, and it starts or stops them all at the same time, this means calling
play(srcA, srcB) should mean srcA and srcB are much more (but possibly not
exactly) synchronised than they were with play(srcA); play(srcB).
--HG--
branch : minor
When combined with Source:setDirection (and Source:setPosition or love.audio.setPosition), the cone parameters allow for directional sound output from a Source.
Users (or lovers) do not get to choose which implementation of
a module they would like to use.
The abstraction is for dealing with portability issues, not
for giving people the ability to choose an alternative
(inferior) backend. The best choice for any platform/situation
should at all times be the *default* for that platform/situation.
If this is not the case; it's a bug (that is easily fixed).
Any module should provide the functionality promised in the docs.
The lover (or user) should not care how, and if [s]he does, [s]he
does still not get to choose.
Also, a related note: duplication of wrapper code is something I
especially wanted to avoid when I first (or should I say ...
"eventually") formed the current architecture.
--HG--
branch : minor