summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rework transcodingPaul Arthur2013-01-239-223/+210
| | | | | | | | Remove some of the roundabout complexity that had built up. Push people toward using a single, flexible tool for most of their transcoding needs. Increase backend and configuration flexibility to support user-requested format changes (e.g. for an HTML5 player); this functionality is not yet exposed.
* Clean up the bitrate calculationPaul Arthur2013-01-232-35/+41
| | | | Dynamic downsampling, I suppose.
* Tear the offset/eof/size crap out of StreamPaul Arthur2013-01-232-28/+5
| | | | | | Now that playback doesn't pretend it's supported, we don't need the fragile hacks to support guessing the content size or 'seeking' within a transcoded stream.
* Clean up Content-Range handling for playbackPaul Arthur2013-01-231-26/+56
| | | | | | | | | | | | | | | Transcoding can't cleanly support Content-Range, so ignore it if we receive it and send 'Accept-Ranges: none' so smart clients won't send it. The logic that determines when enough has been streamed that the stream should be recorded in the stats was complexified. Since we've given up on predetermining the file size for transcodes we have to account for that. Content-Ranges that start well into the file now won't update the stats, since we've probably already done it (this assumption is wrong if the client immediately seeks, but nothing's perfect.) Finally, a straight file size / 4 seemed too straighforward, so small files will be / 1.1 and large files will have the value capped.
* Mess around with rating searchPaul Arthur2013-01-232-26/+13
| | | | | Simplify the rating search and drop the ugly subquery; make it a straight query against the current user's ratings.
* Mess around with ratingsPaul Arthur2013-01-233-25/+27
| | | | | | | | | | 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.
* Update Horde_Browser to git HEADPaul Arthur2013-01-221-114/+210
| | | | | git clone git://github.com/horde/horde git diff f93a5f19 112808d8 framework/Browser/lib/Horde/Browser.php
* Use the standard footer on the login form.Paul Arthur2013-01-161-12/+5
|
* Change the gc on stream sessionsPaul Arthur2013-01-151-19/+2
| | | | | | 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.
* Update footer with correct yearPaul Arthur2013-01-151-10/+1
|
* Fix regression in generation of xspf playlistsPaul Arthur2013-01-151-2/+7
| | | | When it's a video, add some special sauce.
* Cosmetics: kill some more PHPDoc clutterPaul Arthur2013-01-156-92/+2
|
* Drop unused nusoap libraryPaul Arthur2013-01-1514-17679/+0
|
* Update prototype to git HEAD (4ce0b0f)Paul Arthur2013-01-152-37/+61
| | | | git://github.com/sstephenson/prototype.git
* Cosmetics: reformat changelogPaul Arthur2013-01-151-2086/+2083
|
* Always output masked passwordFred Thomsen2013-01-152-1/+8
| | | | | Previously, users who didn't have access to modify the password were shown the actual current setting instead of asterisks.
* Make playlist downloads idempotentPaul Arthur2013-01-157-466/+522
| | | | | | | | | | | | | | | | | | | | 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.
* Clean up the VLC localplay controllerPaul Arthur2013-01-151-21/+8
|
* Remove old and busted shoutcast controllerPaul Arthur2013-01-152-638/+4
|
* mpd: Drop silly ClearPLIfStoppedPaul Arthur2013-01-152-23/+0
|
* Clean up the MPD localplay controllerPaul Arthur2013-01-151-21/+16
|
* Clean up the httpQ localplay controllerPaul Arthur2013-01-151-75/+42
|
* Break Localplay->add(), it's been replacedPaul Arthur2013-01-152-10/+4
|
* Rename localplay.abstract.phpPaul Arthur2013-01-152-1/+1
| | | | | The actual class name is localplay_controller, the filename should reflect that.
* localplay: make add_url actually do somethingPaul Arthur2013-01-151-11/+6
|
* Add Stream_URL class for passing them aroundPaul Arthur2013-01-152-0/+85
|
* Yank obsolete batch download stuff from stream.phpPaul Arthur2013-01-151-42/+22
|
* Some cleanup of the switch in stream.phpPaul Arthur2013-01-151-8/+8
| | | | | Add correct array indices to hand-crafted arrays in single_song and download cases. Yank unimplemented popular stuff.
* Cosmetics: correct outdated tmpPlaylist commentPaul Arthur2013-01-151-2/+0
|
* Cosmetics: remove unused variables in StreamPaul Arthur2013-01-141-2/+0
|
* Drop unused static rating, whatever that wasPaul Arthur2012-12-192-67/+0
|
* Use Ajax::url in the browse filtersPaul Arthur2012-12-191-2/+1
|
* Add a convenience function to generate an AJAX urlPaul Arthur2012-12-191-1/+9
|
* Drop unused ajax_url variablesPaul Arthur2012-12-197-7/+0
|
* Use Ajax::action to generate the browse AJAX.Paul Arthur2012-12-191-1/+3
|
* Use Ajax::action to generate the refresh URLPaul Arthur2012-12-192-2/+2
| | | | Handcrafting it is unnecessary.
* Finalise 3.6-alpha43.6-alpha4Paul Arthur2012-11-272-2/+4
|
* Rip out ugly lyrics codePaul Arthur2012-11-132-118/+0
|
* Cosmetics: fix typoPaul Arthur2012-11-131-1/+1
|
* Drop undocumented mail option for bin/print_tagsPaul Arthur2012-11-131-11/+2
|
* MPD: Drop outdated README, use json_encodePaul Arthur2012-11-132-65/+7
|
* Switch from print_r to json_encode in debug outputPaul Arthur2012-11-135-6/+6
|
* check_database() -> Dba::check_database()Paul Arthur2012-11-081-1/+1
|
* Clean up remaining direct calls to mysql functionsPaul Arthur2012-11-083-41/+32
| | | | | This makes it theoretically possible to replace Dba with a different implementation somewhat painlessly.
* Clean up check_database, more direct mysql callsPaul Arthur2012-11-084-40/+44
|
* Clean up direct callers of mysql_error()Paul Arthur2012-11-082-10/+9
|
* Cosmetics: clean up spacesPaul Arthur2012-11-081-13/+13
|
* Move check_database_inserted into the Dba classPaul Arthur2012-11-083-24/+25
|
* Move check_database into the Dba classPaul Arthur2012-11-084-27/+22
|
* Cosmetics: Fix capitalisationPaul Arthur2012-10-181-1/+1
|