All enum errors have (hopefully) been changed to a luax_enumerror, which has a
fixed error message. If additionally a list of valid options is passed, it
lists that in the error message. For every enum error with few options I've
implemented this using a getConstants call.
This solution has been designed specifically to reduce the number of template
instantiations (as I've been told that was a concern). All new template code
happens in places where there already was an instantiation of the relevant
StringMap. Of course there is still std::vector<std::string>...
--HG--
branch : minor
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
Since the type is passed to va_start, and apparently that's undefined behaviour if it's a reference.
<Textmode> the best kind of behavior
--HG--
branch : dynamiccore2
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
- Type names for love's Lua objects are specified as an argument to luax_register_type, rather than being statically defined in an array.
- luax_register_type takes a variable number of method array arguments, for registering superclass methods without copying them into the subclass' method array.
Also removed most of the header declarations for wrapper functions.
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.
sources. I had to backout the last couple of changes because the diff tool
thought I had changed the entire file, and made it impossible to see what
I had actually changed.
--HG--
branch : minor