When --shuffle was used, the pt_step -1 jumped to the next file, instead
of the previously played file. This was because the playtree entries were
never actually shuffled, but instead a random unplayed file was picked.
Fix this by actually shuffling the playtree in advance. I couldn't see any
clear location where exactly this should happen, so it's done when a
playtree iterator is created.
Not removing the old code, since new playtree entries could be added while
an iterator is active.
Recent commit 5d5ca22a6d ("options: commandline: accept --foo=xyz
style options") left some bad code under "#ifdef MP_DEBUG" in
playtree.c, which caused a compilation failure if configured with
"--enable-debug". Fix this. Having the "#ifdef MP_DEBUG" there was
completely unnecessary; it only increased the risk for this kind of
problems for no real benefit - executing the asserts under it would
have no noticeable performance or other penalty in default builds
either. Remove several cases of such harmful "#ifdef MP_DEBUG".
Allow writing commandline options with two leading dashes. In this
mode a parameter for the option, if any, follows after a '=';
following separate commandline arguments are never consumed as a
parameter to a previous double-dash option.
Flag options may omit parameter and behave like old single-dash
syntax. "--fs=yes", "--fs=no" and "--fs" are all valid; the first two
behave like configuration file "fs=yes" and "fs=no", and last is the
same as old "-fs" (same effect as "--fs=yes").
Command line options like "-foo xyz" are ambiguous: "xyz" may be a
parameter to the option "foo" or an unrelated argument. Instead of
relying on the struct m_config mode field (commandline/file) pass
parameters to specify ambiguous mode explicitly. Meant for "--foo"
options which are never ambiguous on command line either.
Remove a pointless "return".
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33607 b3059339-0415-0410-9bf9-f77b7e298cf2
Mark some char * arguments that are strdup'd const,
makes the API slightly clearer.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33608 b3059339-0415-0410-9bf9-f77b7e298cf2
Add a sanity check to avoid a segmentation fault in playtree.c on
empty playlists.
This is Debian Bug: http://bugs.debian.org/591525
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31960 b3059339-0415-0410-9bf9-f77b7e298cf2
These functions return void*, which is compatible with any pointer,
so there is no need for casts.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30744 b3059339-0415-0410-9bf9-f77b7e298cf2
Fixes the use of options on the command line which should not override each other (like -vf-add).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29768 b3059339-0415-0410-9bf9-f77b7e298cf2
The GUI is badly designed and too closely coupled to the internal
details of other code. The GUI code is in bad shape and unmaintained
for years. There is no indication that anyone would maintain it in the
future either. Even if someone did volunteer to implement a better
integrated GUI having the current code in the tree probably wouldn't
help much. So get rid of it.
instead of going right ahead and crashing.
Patch by Luis Felipe Strano Moraes (luis strano gmail com).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28355 b3059339-0415-0410-9bf9-f77b7e298cf2
and afterwards reset the "pushed" value to 0 again.
Similarly only set the PLAY_TREE_RND_PLAYED flag
if the entry had been pushed before.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27106 b3059339-0415-0410-9bf9-f77b7e298cf2
patch by Nicholas Kain, Alexander Strasser <eclipse7@gmx.net>
reviewed by Pontscho, Alex, Rich
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12647 b3059339-0415-0410-9bf9-f77b7e298cf2
and hopefully also letting one doing less mistakes, as current low-level-api
is not rock-solid ...
patch by Fabian Franz <FabianFranz@gmx.de>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9291 b3059339-0415-0410-9bf9-f77b7e298cf2