summaryrefslogtreecommitdiffstats
path: root/m_property.c
Commit message (Collapse)AuthorAgeFilesLines
* options: get rid of ambiguous option parsingwm42012-08-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Options parsing used to be ambiguous, as in the splitting into option and values pairs was ambiguous. Example: -option -something It wasn't clear whether -option actually takes an argument or not. The string "-something" could either be a separate option, or an argument to "-option". The code had to call the option specific parser function to resolve this. This made everything complicated and didn't even have a real use. There was only one case where this was actually used: string lists (m_option_type_string_list) and options based on it. That is because this option type actually turns a single option into a proxy for several real arguments, e.g. "vf*" can handle "-vf-add" and "-vf-clr". Options suffixed with "-clr" are the only options of this group which take no arguments. This is ambiguous only with the "old syntax" (as shown above). The "new" option syntax always puts option name and value into same argument. (E.g. "--option=--something" or "--option" "--something".) Simplify the code by making it statically known whether an option takes a parameter or not with the flag M_OPT_TYPE_OLD_SYNTAX_NO_PARAM. If it's set, the option parser assumes the option takes no argument. The only real ambiguity left, string list options that end on "-clr", are special cased in the parser. Remove some duplication of the logic in the command line parser by moving all argument splitting logic into split_opt(). (It's arguable whether that can be considered code duplication, but now the code is a bit simpler anyway. This might be subjective.) Remove the "ambiguous" parameter from all option parsing related code. Make m_config unaware of the pre-parsing concept. Make most CONF_NOCFG options also CONF_GLOBAL (except those explicitly usable as per-file options.)
* bstr: rename bstr() function to bstr0(), and typedef bstr to struct bstrwm42012-07-281-1/+1
| | | | | Replace all uses of bstr() with bstr0(). Also remove the ridiculous C++ workaround.
* core: change format of time properties to match the OSD time formatwm42012-07-281-11/+11
| | | | | | | Time property values converted to strings via M_PROPERTY_PRINT resulted in a string different to what the OSD displays (if the OSD level is >= 2). Change it to match the OSD.
* commands: osd_show_property_text: fix \xNN escapesharklu2011-08-051-1/+1
| | | | | When handling escapes of the form '\xNN', m_properties_expand_string() incorrectly copied the last N to the output. Fix.
* options: change option parsing to use bstrUoti Urpala2011-07-291-1/+2
| | | | | | Using bstr allows simpler parsing code, especially because it avoids the need to modify or copy strings just to terminate extracted substrings.
* options: indicate ambiguous option parameters explicitlyUoti Urpala2011-07-291-2/+1
| | | | | | | | 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.
* commands: change property mechanism to use talloc stringsUoti Urpala2011-07-031-19/+14
|
* cosmetics: reformat demux_lavf.c, m_option.[ch] and m_property.cUoti Urpala2011-07-031-182/+224
|
* cleanup: define ROUND() macro in mpcommon.hcboesch2011-01-311-2/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32751 b3059339-0415-0410-9bf9-f77b7e298cf2
* Delete things related to old translation systemUoti Urpala2010-03-101-1/+0
| | | | | Remove the help/ subdirectory, configure code to create toplevel help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
* Merge svn changes up to r30475Uoti Urpala2010-03-091-0/+17
|\
| * Add license header to all top-level files missing them.diego2010-01-301-0/+17
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30471 b3059339-0415-0410-9bf9-f77b7e298cf2
| * whitespace cosmetics: Remove all trailing whitespace.diego2009-05-131-7/+7
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29305 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Restore collapsed whitespace in output messagesUoti Urpala2010-03-071-1/+1
| | | | | | | | | | | | | | | | | | For some reason commit e306174952d42e1cd6cc5efc50ae6bb0410501bc, which replaced translation macro names with the corresponding English strings, also collapsed multiple consecutive space characters into one. Change most of these back. In a couple of cases the amount of whitespace is important for alignment, and for the rest it at least keeps the strings closer to the existing translations.
* | translations: corrently translate most OSD outputUoti Urpala2010-01-121-1/+2
| | | | | | | | | | | | Add various fixes needed to actually produce translated OSD output. About every OSD string that had a translation macro under the old system should be translatable now.
* | Remove trailing whitespace from most filesUoti Urpala2009-07-071-7/+7
| |
* | Translation system changes part 2: replace macros by stringsAmar Takhar2009-07-071-3/+3
| | | | | | | | | | Replace all MSGTR_ macros in the source by the corresponding English string.
* | Translation system changes part 1: wrap translated stringsAmar Takhar2009-07-071-3/+3
|/ | | | | Replace mp_msg() calls which have a translated string as the format argument with mp_tmsg and add _() around all other translated strings.
* Add a m_property_flag_ro function for the default behaviour of areimar2008-10-011-3/+12
| | | | | | read-only flag. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27679 b3059339-0415-0410-9bf9-f77b7e298cf2
* All the m_property stuff works fine with constant m_option_treimar2008-01-131-19/+19
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25744 b3059339-0415-0410-9bf9-f77b7e298cf2
* Support ?(!NAME:TEXT) format for expanding string by property.ulion2007-12-261-3/+8
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25529 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move two variable to the scope where they are indeed used.ulion2007-12-221-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25488 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move the time printing code out of the length property.albeu2007-05-311-0/+25
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23434 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix fallback on the default GET_TYPE for unvailable/disabledalbeu2007-05-301-1/+1
| | | | | | | properties. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23413 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make all the info available via the metadata API available via properties.albeu2007-05-291-0/+12
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23412 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rework the property API to allow sub properties such asalbeu2007-05-291-45/+71
| | | | | | | metadata/title, etc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23411 b3059339-0415-0410-9bf9-f77b7e298cf2
* Split command/property handling from mplayer.c to a new file command.c.uau2007-02-211-11/+11
| | | | | | | | | Move some global and static variables under a struct that can be given as a parameter. Add a context argument to the property functions so that they do not have to depend on global/static variables. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22298 b3059339-0415-0410-9bf9-f77b7e298cf2
* Doxygen attack!albeu2006-04-241-0/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18259 b3059339-0415-0410-9bf9-f77b7e298cf2
* 100L too many arguments to mp_msg().albeu2006-03-231-4/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17928 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add an option to list the properties: -list-propertiesalbeu2006-03-221-0/+29
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17915 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add the new property API and implement a couple properties.albeu2006-03-221-0/+278
Move the volume and mute command to the command to property bridge. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17912 b3059339-0415-0410-9bf9-f77b7e298cf2