summaryrefslogtreecommitdiffstats
path: root/options/m_option.c
Commit message (Collapse)AuthorAgeFilesLines
* m_option: fix handling of empty channel layoutswm42014-03-101-2/+2
| | | | | Even if a channel map option signaled that empty layouts are accepted, the option parser never actually accepted them.
* m_option: make converting mpv_node to string always failwm42014-02-261-1/+1
|
* m_option: fix key/value list string conversionwm42014-02-261-1/+1
| | | | Meh.
* m_option: don't make "unset" string and string list return NULL stringswm42014-02-261-2/+2
| | | | | | | | | | This is a bit weird: m_option_string types (i.e. char*) can be NULL. But they're supposed to be treated just like empty strings. So don't make the m_option_type.print function return NULL for these values. Returning NULL would mean failure. This didn't matter much before, but was quite visible through the client API.
* m_option: add a way to convert values to/from mpv_nodewm42014-02-241-14/+425
| | | | | | | m_option is basically the mechanism to handle C data types in a dynamic way. Add functions to convert values to and from mpv_node. For example, string lists are turned into mpv_node using MPV_FORMAT_NODE_ARRAY, and so on.
* m_option: fix printf format specifierwm42014-02-241-1/+2
|
* m_option: explicitly allow m_option.name==NULLwm42014-02-231-10/+11
| | | | | | | | Doesn't require other code to care about this, which will allow us to simplify the property code. Only "wildcard" options like "vf" and string lists used this, and m_option_list_findb() (which is excused).
* options: handle escape sequences in e.g. --playing-msg differentlywm42014-02-201-59/+8
| | | | | | | | | | M_OPT_PARSE_ESCAPES was pretty stupid, and broke the (useful) assumption that string variables contain exactly the same value as set by the option. Simplify it, and move escape handling to the place where it's used. Escape handling itself is not terribly useful, but still allows useful things like multiline custom OSD with "\n".
* options: alternative way to specify color optionswm42014-01-311-2/+43
| | | | | | | | | | | | | | | | Try to make it more intuitive by not requiring hex values. The new way uses float values in the range 0.0-1.0, separated by '/' (':' was suggested, but that wouldn't allow color options in sub-options). Example: --osd-color=1.0/0.0/0.0/0.75 Using the range 0.0-1.0 has the advantage that it could be easily extended to colors beyond 8 bit. Details see manpage. Suggestions for alternative syntax or value ranges are welcome, but be quick with it.
* options: add key/value pair list option typewm42014-01-161-0/+64
|
* msg: move special declarations to msg_control.hwm42014-01-161-0/+1
| | | | | While almost everything uses msg.h, the moved definitions are rarely needed by anything.
* options: make --msglevel=help print something helpfulwm42014-01-011-0/+11
|
* common: simplify and optimize string escape parsingwm42013-12-301-11/+8
| | | | | | | | | | | This code is shared between input.conf parser and option parser. Until now, the performance didn't really matter. But I want to use this code for JSON parsing too, and since JSON will have to be parsed a lot, it should probably try to avoid realloc'ing too much. This commit moves parsing of C-style escaped strings into a common function, and allows using it in a way realloc can be completely avoided, if the already allocated buffer is large enough.
* options: simplify handling of some help optionswm42013-12-261-28/+3
|
* options: make --msglevel extend previous settingswm42013-12-221-3/+10
| | | | | | Make it so --msglevel extends previous --msglevel uses, instead of overwriting them. Do this by literally appending the --msglevel option value to the previous one.
* m_option: add mp_log context to sub-module print_help callbackwm42013-12-211-1/+1
|
* m_option: add mp_log callback to OPT_STRING_VALIDATE optionswm42013-12-211-1/+1
| | | | | And also convert a bunch of other code, especially ao_wasapi and ao_portaudio.
* m_option, m_config: mp_msg conversionswm42013-12-211-185/+154
| | | | | | | | Always pass around mp_log contexts in the option parser code. This of course affects all users of this API as well. In stream.c, pass a mp_null_log, because we can't do it properly yet. This will be fixed later.
* msg: change --msglevel, reduce legacy gluewm42013-12-201-0/+41
| | | | | | | | | | | | Basically, reimplement --msglevel. Instead of making the new msg code use the legacy code, make the legacy code use the reimplemented functionality. The handling of the deprecated --identify switch changes. It temporarily stops working; this will be fixed in later commits. The actual sub-options syntax (like --msglevel-vo=...) goes away, but I bet nobody knew about this or used this anyway.
* m_option: don't include config.h in headerwm42013-12-181-0/+8
| | | | Requires a small workaround.
* Split mpvcore/ into common/, misc/, bstr/wm42013-12-171-2/+2
|
* Move options/config related files from mpvcore/ to options/wm42013-12-171-0/+2477
Since m_option.h and options.h are extremely often included, a lot of files have to be changed. Moving path.c/h to options/ is a bit questionable, but since this is mainly about access to config files (which are also handled in options/), it's probably ok.