Drop the public variables from the rating class; everyone should use the
getters.
Add the ability for themes and applications to distinguish between
a user's actual rating and the global average rating; in the web
interface the average shows up if a user hasn't rated something but at
least one other user has.
It's a little suspect to automatically delete them just because another
was used. Waiting for them to expire will get rid of them plenty quick,
with less chance for weird issues.
Should fix the VLC plugin, as well as allow direct use of an Ampache
site on Android devices.
First, split the Stream class into an instantiable class that does the
playlist wrangling and a static class that handles the streaming stuff.
How does this work? Well, stream.php does its fancy stuff like
gathering the media IDs and clearing the playlist, but instead
of generating the playlist file there we use the Stream_Playlist
class to store the list of URLs in the database, then redirect to
play/index.php to create the actual download (there are some magic
playlist types like localplay that don't need to redirect.)
The playlist will be cached as long as that stream session is active, so
it can be downloaded multiple times and by clients that don't share the
browser's cookie cache.
Clean up the playlist generation by reducing copypasta.
Actually transfer all ASF tags into the asf tag array. I suspect that
some things like 'genre' may actually be multivalued, but I don't have
any samples to back that up.
It's expected that reading from sessions will fail after expiry or
before login. Remove the word 'error' from the logged message and bump
it down a few levels.
According to the changelog, getID3 1.7.9 standardised on part_of_a_set
as the key for this info (pulled from TPOS or TPA, depending on the
minor version of ID3v2); we were looking for 'pos', which is wrong.
Even if we move away from php-gettext in the future, it's easy to
write a quick T_() as a simple wrapper; it's not so easy to rewrite
PHP to allow redeclaration of a function.