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
warnings fixed
added type checking to Lua functions
stopping queueable source clears buffered data
getting queueable source to auto-play if it underruns and then gets re-filled
will probably require re-designing pool usage strategy
--HG--
branch : minor
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
Previously, calling e.g. love.graphics.getFont() 10,000 times would retain the object 10,000 times (and release it 10,000 times when the Font object was garbage-collected in the Lua state.) Now it will only retain it once and release it once.
You can now:
- Enable and disable love's modules, implementations and libraries using configure switches
- Use pkg-config for a couple of love's requirements
- Build on OSX
- Use newer versions of FreeType2
- Get a slightly better error message using automagic
luax_pushtype keeps the object in a weak table and checks the table before creating a new userdata, so it re-uses the object's existing wrapper userdata if it can, whenever the object is pushed to Lua.
This fixes some subtle issues with love objects, where using them as keys in tables would not always work as expected (https://love2d.org/forums/viewtopic.php?f=4&t=39398&p=112388#p112415). It also decreases the amount of new Lua objects created, saving the garbage collector some work.
attenuation by distance.
Adds:
love.audio.[gs]etDistanceModel(model-identifier)
Source:[gs]etMinVolume(min-volume)
Source:[gs]etMaxVolume(max-volume)
Source:[gs]etDistance(reference, max)
Source:[gs]etRolloffFactor(rolloff)
Valid Distance models:
"none", "inverse", "inverse clamped", "linear", "linear clamped", "exponent",
"exponent clamped"
Suggestion:
Merge Source:setMinVolume, Source:setMinVolume and Source:setVolume. May be
confusing for lovers though.
May have broken platform/msvc2010/love.vcxproj.filters (had to be modified by
hand without really knowing what I am doing).