summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* manpage: Improve wording on icc-approx-gammaNiklas Haas2014-02-251-5/+5
| | | | | This version is clearer on its origin, prevalence and use case and offers some advice to the user.
* manpage: document the new loadfile argumentwm42014-02-251-1/+6
| | | | I forgot about this.
* client api examples: set an option with MPV_FORMAT_FLAGwm42014-02-241-1/+2
|
* command: fix loadfile commandwm42014-02-243-3/+6
| | | | | | | | | | | | | | | This was broken by commit bb6b543812a724. Note that the original pull request was fine, but it was broken by my own stupidity when I was "improving" it. The problem is that the new loadfile argument was not considered optional anymore after my changes. The original pull request did handle this by setting .defval to a dummy value, but I removed that part. Fix it again by introducing a flag that designates that the parameter is optional. (I didn't want to add it to m_option.h, because technically, all options are optional, and it's not possible to have non-optional options.)
* client API: report pause/unpause reasonwm42014-02-248-31/+119
| | | | | | | | | Not sure about this... might redo. At least this provides a case of a broadcasted event, which requires per-event data allocation. See github issue #576.
* client API: expose the internal clockwm42014-02-243-1/+20
| | | | | | | | | May or may not be useful in some ways. We require a context parameter for this just to be sure, even if the internal implementation currently doesn't. That's one less mpv internal function for the Lua wrapper.
* lua, osc: use properties for chapter/track listswm42014-02-242-82/+5
|
* command: make options property return the list of all optionswm42014-02-243-7/+39
|
* client API: add comment about character encoding issueswm42014-02-241-0/+10
| | | | | | Also mention that NULL isn't valid. Although I'm not sure whether the implementation strictly follows this (it should, but there are some wacky corner cases).
* lua: add a bunch of functions to get/set properties by their native typewm42014-02-243-7/+192
| | | | | | There are some complications because the client API distinguishes between integers and floats, while Lua has only "numbers" (which are usually floats). But I think this should work now.
* client API: implement setting options using their native type toowm42014-02-243-4/+50
| | | | | | | | | | | This is only half-implemented: actually the option will first be converted from mpv_node to its native type, then it's converted to a string, and then back to its native type. This is because the option API was made for strings and not anything else. Other than being grossly inelegant, the only downside is probably with string lists and key/value lists, which don't escape strings containing syntax elements correctly.
* m_property: retrieve chapter lists etc. as mpv_nodewm42014-02-241-4/+54
| | | | | | This automatically allows accessing properties like chapter-list and track-list to be read as mpv_node. This affects all properties which use m_property_read_sub() and m_property_read_list().
* client API: add support for accessing properties by their native typewm42014-02-241-33/+158
| | | | | | | | | | | | | | This actually makes use of the client.h declarations and the mpv_node mechanisms added some commits ago. For now, using MPV_FORMAT_STRING will usually fallback to explicit string conversion, but not in the other cases. E.g. reading a numeric property as string will work, but not reading a string property as number. Other than that, only MPV_FORMAT_INT64->MPV_FORMAT_DOUBLE does an automatic conversion. I'm not sure whether these semantics and API are good, so comments and suggestions are welcome.
* m_property: add mechanism to access properties as mpv_nodewm42014-02-242-0/+47
| | | | | | | | Allows retrieving properties by their native values (or something close to it), rather than having to go through string conversion. The caller could actually just copy the value itself and then use the m_option functions to convert it to mpv_node, but maybe it's more flexible this way.
* m_option: add a way to convert values to/from mpv_nodewm42014-02-242-15/+462
| | | | | | | 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.
* client API: adjust error stringswm42014-02-241-2/+2
| | | | | These error codes can be used for setting and getting, not just for settings (although currently there's no API to get options directly).
* m_property: simplify some codewm42014-02-241-10/+6
|
* client API: add more data formats, add a structured data typewm42014-02-241-3/+156
| | | | | | | | | | | | | | | | | | | This adds declarations for new formats. The implementation will be added in the following commits. (It still compiles and runs with this commit, because it adds constants only.) The obvious new types are MPV_FORMAT_FLAG, MPV_FORMAT_INT64, MPV_FORMAT_DOUBLE. MPV_FORMAT_FLAG is a boolean, but to avoid nasty ABI issues or with languages that don't have a bool data type (C89), it uses int. Thus the format is not named MPV_FORMAT_BOOL, to avoid confusion. The MPV_FORMAT_NONE type (mpv_node) is a generic structured type, like a variant or, say, JSON. It can store strings/bools/numbers, as well as arrays and key/value pairs (with string keys only). The MPV_FORMAT_NODE_ARRAY and MPV_FORMAT_NODE_MAP types are used internally by mpv_node only and can't be used with most of the other API (like mpv_set_property()) directly.
* client API: change semantics for MPV_FORMAT_STRINGwm42014-02-242-7/+19
| | | | | | | | | | | | With mpv_set_property(h, "property", MPV_FORMAT_STRING, ptr), ptr now has to be of type char** instead of char*. This makes it more consistent with mpv_get_property() and also non-pointer formats, which will be introduced in the following commits. mpv_set_property() of course does not change its interface (only its implementation is adjusted to keep its interface). This also affects mpv_set_option(), but again not mpv_set_option_string().
* client API: fix a typowm42014-02-241-1/+1
|
* client API: remove trailing "," from enumswm42014-02-241-3/+3
| | | | | | | This is allowed in C99 and C++11, but apparently not in C89 and C++98. Make it conform to the older standards, since we want the client API header to be highly portable.
* client API: spellingwm42014-02-241-1/+1
|
* vdpau: change the error message when video too largeAndrey Morozov2014-02-241-1/+2
|
* vo_opengl: Add :icc-approx-gamma suboption to approximate BT.709 gammaNiklas Haas2014-02-243-6/+25
| | | | | | This uses the value of 1.95 as an approximation for the exact gamma curve, which replicates the behavior of popular video software including anything in the Apple ecosystem, as per issue #534.
* m_option: fix printf format specifierwm42014-02-241-1/+2
|
* configure: fix typoNyx0uf2014-02-241-1/+1
| | | | When using help, the output for --enable-shared was : `--enable-shared enable enable shared library [disable]`
* dvd: treat missing volume ID as "unsupported", not errorwm42014-02-232-4/+4
| | | | | This is probably better and more consistent with the rest of the code, although it doesn't change any currently existing behavior in this case.
* cache: cache DVD volume IDwm42014-02-231-0/+13
| | | | | Since this might be queried every frame or so, it's important not to stall the cache by doing a synchronous stream_control().
* dvd: check for empty DVD volume IDwm42014-02-232-3/+7
| | | | | The only DVD sample I have just returns an empty string for this. Let command.c use the filename if the ID is empty.
* command: use DVD volume ID for media-title propertyxylosper2014-02-235-0/+28
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Closes #582.
* example.conf: change subtitle codepage example to use UTF-8 fallbackwm42014-02-231-1/+2
| | | | This should be pretty safe compared to forcing the codepage.
* example.conf: subtitle encodingYaser Alraddadi2014-02-231-0/+3
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Closes #580.
* command: provide per-file-options for loadfile commandxylosper2014-02-233-1/+11
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Closes #575. Minor changes over original pull request.
* command: remove special casing for strings in input commandswm42014-02-232-9/+17
| | | | | | Until now, strings were the only allowed dynamically allocated argument type in input commands. Extend it so that it works for any type. (The string expansion in command.c is of course still string specific.)
* old build: add a missing config.h definewm42014-02-231-0/+2
| | | | The configure check was added to waf only.
* ta: fix commentwm42014-02-231-1/+1
| | | | | | If this function could return the input value (i.e. the == case was correct), then macros like MP_GROW_ARRAY would have been incorrect. The implementation was correct though, so there's no bug.
* ta: clarify a corner casewm42014-02-231-0/+4
|
* manpage: fix a metadata property namewm42014-02-231-1/+1
|
* command: don't use option name in propertieswm42014-02-232-34/+16
| | | | | | | | | | | | | Some code accessed m_option.name to get the property name. (Maybe only show_property_osd() had a significant use of it.) Remove that, and remove setting names and dummy names as well. The old code usually assumed that the name was set, and show_property_osd() used it to get the proper name of deprecated aliases. The "vf" property was listed as "vf*". Not sure why that was done, but it works without anyway.
* manpage: fix yadif example in one casewm42014-02-231-1/+1
|
* 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).
* lua: fix behavior if no script command handler is registeredwm42014-02-231-1/+3
|
* options: handle escape sequences in e.g. --playing-msg differentlywm42014-02-207-68/+37
| | | | | | | | | | 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".
* input: check for abort cmd in multi-commandswm42014-02-205-10/+20
| | | | | | | | | MP_CMD_COMMAND_LIST commands (used to implement key bindings with multiple commands) were not checked for abort commands. Implement it. Remove the remarks about multi-commands being special from the manpage. Seek coalescing is handled differently now, and the issue with abort commands is fixed with this commit.
* input: ignore modifiers when releasing keysJames Ross-Gowan2014-02-201-2/+2
| | | | | This prevents keys from getting stuck if the modifier is released before the base key.
* build: syms: add support for Mach-O binariesStefano Pigozzi2014-02-191-1/+5
| | | | | | | | Current code stolen from waf's extras, only supported 'pe' and 'elf'. OS X uses the 'Mach-O' binary format (which waf calls 'mac-o'... go figure). Add support for generating the global symbols file with nm and using it from clang.
* manpage: input: clarify chapter-metadata propertywm42014-02-191-2/+8
|
* command: allow accessing metadata entries as listwm42014-02-192-0/+31
| | | | | | Not sure about these deep path-names. Maybe "metadata/0" should work instead of "metadata/list/0". I'm so unsure about it, that I'm leaving it open.
* command: move metadata entry access to metadata/by-key/wm42014-02-192-3/+12
| | | | | | The old way still works, and is fine to use. Still discourage it, because it might conflict with other ways to access this property, such as the one added in the next commit.
* manpage: lua: improve explanation of tracks-changed and tracks-switchedwm42014-02-191-4/+4
|
* client API: add event for metadata changeswm42014-02-196-3/+16
|
* input, dvdnav: fix osc stealing input from dvdnavwm42014-02-193-5/+18
| | | | | | | | | | This is a regression introduced from moving Lua scripts (including the OSC) to their own threads. Now OSC and dvdnav can add their bindings at the same time without coordination, which seems to result in the OSC winning most time, and thus overriding the dvdnav menu bindings. Fix this by adding a flag that makes dvdnav menu bindings take priority over all other bindings.
* input: minor simplification for --input-testwm42014-02-191-5/+4
|
* video: add rounding to aspect ratio calculationswm42014-02-191-2/+2
| | | | | Small errors are unavoidable, but truncation can cause anamorphic video to be off by 1 or 2 pixels.
* command: export list of editions as propertieswm42014-02-192-0/+83
|
* command: export codec for each trackwm42014-02-192-0/+8
|
* player: fix start time if timeline is used (ordered chapters, EDL)wm42014-02-191-7/+5
| | | | | | When timeline was used, and the --start option was not used, the initial seek (needed to switch to the first timeline segment) seeked to -1 due to an oversight.
* edl: extend with chapter timestampswm42014-02-192-1/+38
| | | | | | Example see edl-mpv.rst. What is this useful for? No clue...
* edl: fix offset of user-visible chapterswm42014-02-191-1/+1
| | | | | Basically, chapter marks and chapter seek-points were incorrect, while the rest worked.
* stream_file: cache remote files on WindowsJames Ross-Gowan2014-02-181-0/+17
| | | | Same as 6896469 but for Windows.
* vo_opengl: use GL_RGBA16 FBO format for HQGrigori Goronzy2014-02-171-1/+1
| | | | | GL_RGB16 is definitely not a required format, after review of the OpenGL 3.3 spec. Most HW doesn't have native support for RGB16 anyway.
* manpage: lua: shorten description of register_script_command()wm42014-02-171-37/+12
| | | | | | | | | This is simply not important enough to warrant so much space, and it's perhaps also very confusing. Although I'm not fully sure, since this is about the only way that allows a user to interact with a script, besides key bindings and static options.
* manpage: lua: attempt to improve add_key_binding() descriptionwm42014-02-171-18/+23
|
* manpage: lua: improve introduction, add simplistic examplewm42014-02-171-15/+26
|
* manpage: lua: fix typowm42014-02-171-1/+1
|
* manpage: input: document script_message commandwm42014-02-171-0/+8
|
* vo_corevideo: remove unused variableStefano Pigozzi2014-02-171-1/+0
|
* stream_file: activate cache with files on network file systemsStefano Pigozzi2014-02-172-0/+33
| | | | | | | | Detected 'protocols' are AFP, nfs, smb and webdav. This can be extended on request. This is currently only implemented for BSD systems (using fstatfs). This addresses issue #558 on the above platforms.
* client API: add events for video and audio reconfigwm42014-02-177-1/+34
|
* w32_common: don't set small iconJames Ross-Gowan2014-02-171-4/+1
| | | | | Windows will automatically choose the correct icon size if this field is unset.
* lua: add mechanism for script provided key bindingswm42014-02-173-3/+188
| | | | | | | | | | | | | There was already an undocumented mechanism provided by mp.set_key_bindings and other functions, but this was relatively verbose, and also weird. It was mainly to make the OSC happy (including being efficient and supporting weird corner cases), while the new functions try to be a bit simpler. This also provides a way to let users rebind script-provided commands. (This mechanism is less efficient, because it's O(n^2) for n added key bindings, but it shouldn't matter.)
* input: debug output for registered bindingswm42014-02-171-0/+7
|
* input: don't let builtin bindings overwrite user bindingswm42014-02-171-2/+6
| | | | | This was already done, except when the bindings were in different input sections. This commit fixed it. Useful for scripts, probably.
* client API: add a client message eventwm42014-02-177-0/+58
| | | | | This comes with a "script_message" input command, which sends these messages. Used by the following commits.
* keycodes: add const to a function argumentwm42014-02-172-2/+2
|
* lua: allow giving fallback values in get_property() callswm42014-02-172-8/+13
| | | | | E.g. ``mp.get_property("foo", "value")`` will return ``value`` if the property can't be read.
* lua: remove redundant inline documentationwm42014-02-171-4/+0
| | | | | Nobody will loom at this, and the proper documentation of these functions is in lua.rst.
* DOCS/crosscompile-mingw: use settings.mk instead of make variablesTimothy Gu2014-02-171-9/+20
| | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com>
* DOCS/crosscompile-mingw: update disk space statsTimothy Gu2014-02-171-1/+1
|