summaryrefslogtreecommitdiffstats
path: root/TOOLS
Commit message (Collapse)AuthorAgeFilesLines
* video: initial Matroska 3D supportwm42014-08-301-0/+1
| | | | | | | | | | | | | | | | | | | | | This inserts an automatic conversion filter if a Matroska file is marked as 3D (StereoMode element). The basic idea is similar to video rotation and colorspace handling: the 3D mode is added as a property to the video params. Depending on this property, a video filter can be inserted. As of this commit, extending mp_image_params is actually completely unnecessary - but the idea is that it will make it easier to integrate with VOs supporting stereo 3D mogrification. Although vo_opengl does support some stereo rendering, it didn't support the mode my sample file used, so I'll leave that part for later. Not that most mappings from Matroska mode to vf_stereo3d mode are probably wrong, and some are missing. Assuming that Matroska modes, and vf_stereo3d in modes, and out modes are all the same might be an oversimplification - we'll see. See issue #1045.
* TOOLS/mpv_identify.sh: simplify $MPV handlingshdown2014-08-301-6/+2
|
* TOOLS/mpv_identify.sh: various style improvementsshdown2014-08-301-32/+27
| | | | | Double-quote everything, eliminate unneeded evals and deprecated `backtits` substitution syntax.
* TOOLS/mpv_identify.sh: move script body to a functionshdown2014-08-301-147/+143
| | | | | Don't prepend each variable with __midentify__, just make them local to the function.
* TOOLS/youtube-dl_mpv.sh: simplify $MPV handlingshdown2014-08-301-5/+1
|
* TOOLS/youtube-dl_mpv.sh: disable globbing before expanding $video_urlshdown2014-08-301-0/+1
| | | | | $video_url can contain a question mark, which can be expanded to a character in an existing file name if globbing is enabled.
* TOOLS/youtube-dl_mpv: allow playing multiple URLswm42014-08-291-4/+2
| | | | | Unfortunately this also means you can't pass extra mpv options after the URL anymore. You can prefix the script with MPV='mpv --options' though.
* TOOLS: youtube wrapper: allow overriding mpv binarywm42014-08-261-1/+5
|
* TOOLS/stats-conv.py: improvementswm42014-08-191-18/+31
| | | | This is still pretty useful for debugging timing-dependent things.
* TOOLS/zsh.pl: protect global environmentPhilip Sequeira2014-08-171-0/+4
|
* TOOLS/zsh.pl: fix a ret that hadn't been changed to rcPhilip Sequeira2014-08-171-1/+1
|
* TOOLS/zsh.pl: complete profilesPhilip Sequeira2014-08-171-0/+36
| | | | Implemented in shell, because it has to be done at runtime.
* TOOLS/zsh.pl: properly set the return valueAlessandro Ghedini2014-08-131-9/+12
| | | | | | The previous commit made the completion script always return non-zero, even when a match is found. This explicitly sets the return value to zero whenever a match is found but defaults to non-zero in case nothing is matched.
* TOOLS/zsh.pl: properly return non-zero when no matches are foundc_142014-08-131-0/+1
| | | | | | | | Returning a non-zero value signals to the zsh completion system that no matches were added by the script so that it can try the user-defined matchers (e.g. those defined with matcher-list). Fixes #1008.
* Move status-line.luawm42014-08-111-0/+69
| | | | | Looks like TOOLS/lua/ is now established as dumping ground for random Lua scripts, so DOCS/lua_examples/ is not needed anymore.
* TOOLS: add test script for property change notificationswm42014-08-021-0/+16
|
* idet.sh: Fix a typo.Rudolf Polzer2014-07-161-1/+1
|
* osxbundle: fix detection of user librariesTsukasa OMOTO2014-07-161-4/+4
| | | | | Previous code would detect for example `libcaca.0.dylib` as a system library, because it matched the `libc` condition.
* idet.sh: Fix telecine detection.Rudolf Polzer2014-07-151-5/+5
|
* OS X bundle: Add more imported UTINyx0uf2014-07-041-0/+84
| | | Not that there are widely used formats, but it will allow to play them directly from the Finder.
* TOOLS/zsh.pl: complete URL schemes based on --list-protocolsAlessandro Ghedini2014-07-031-2/+7
|
* TOOLS/zsh.pl: sort options in reverse order by lengthAlessandro Ghedini2014-07-031-0/+9
| | | | | This stops options that are prefixes of other options from blocking completion of values for the longer ones.
* TOOLS/zsh.pl: untabifyPhilip Sequeira2014-07-031-26/+26
|
* TOOLS/zsh.pl: fix _arguments linePhilip Sequeira2014-07-031-1/+1
| | | | | | | | | Don't use _x_arguments, as we don't support X arguments. Get rid of -s, because we don't support multiple single-letter options in one argument. Add -S, because we ignore options after "--".
* TOOLS/zsh.pl: don't consume extra argumentsPhilip Sequeira2014-07-031-10/+18
| | | | | | | | | | | | Completion now uses "--opt=value" instead of "--opt value". Once the user presses space and starts a new argument, the option just completed is out of the picture, whether or not it was given an argument. This handles options with no arguments or optional arguments much better; previously, completing such an option would effectively disable completion for the next argument. Custom completed options such as "--ao" and friends will no longer claim to consume an extra argument.
* TOOLS/zsh.pl: escape all colons in option descriptionsPhilip Sequeira2014-07-031-1/+1
|
* TOOLS: add script for generating a zsh completion scriptAlessandro Ghedini2014-06-081-0/+129
| | | | As discussed in #775
* idet.sh: An alternative to ildetect.sh.Rudolf Polzer2014-05-271-0/+161
| | | | | This script uses ffmpeg's "idet" filter for interlace detection. In the long run this should replace ildetect.sh+ildetect.sh.
* lua: fix compilation with lua 5.2wm42014-05-261-2/+4
| | | | | | | | | | | Commit e2e450f9 started making use of luaL_register(), but OF COURSE this function disappeared in Lua 5.2, and was replaced with a 5.2-only alternative, slightly different mechanism. So just NIH our own function. This is actually slightly more correct, since it forces the user to call "require" to actually make the module visible for builtin C-only modules other than "mp". Fix autoload.lua accordingly.
* autoload.lua: fix autoloading of files to prependwm42014-05-251-1/+1
| | | | This used the wrong index variable, and thus didn't work.
* TOOLS: add a Lua script to autoload playlist entrieswm42014-05-251-0/+69
| | | | | | This will load other files in the same directory when a single file is played. It's an often requested feature, but we definitely don't want it in the core.
* osxbundle: fix recursion terminationTsukasa OMOTO2014-05-251-1/+1
| | | | Prevents the binary from being copied over to the lib directory.
* TOOLS/vf_dlopen: use new pixelformats, fix usage for newstyle argsKevin Mitchell2014-05-156-13/+13
|
* TOOLS/mpv_identify.sh: unbreakwm42014-05-141-1/+1
|
* TOOLS/stats-conv: don't crash on empty lineswm42014-05-111-0/+3
|
* TOOLS/stats-conv: draw playloop and AO thread events separatelywm42014-05-111-0/+5
| | | | | Use for all AO thread events y=0.5, while playloop events remain at y=1. This makes the graph easier to read.
* osxbundle: split and optimize bundling scriptStefano Pigozzi2014-05-092-66/+94
| | | | | | | | | | | Move the code that copies the dylib's to the bundle to a new script (dylib-unhell.py) which is called by osxbundle.py. dylib-unhell is about 20x faster than the previous implementation. This is accomplished by removing superflous shell-out operations which are kept track of using an in memory tree of all the needed dependencies. Moreover the shell-outs have been further optimized by not requiring a complete shell for every operation and just using subprocess.call (which is equivalent to Popen).
* TOOLS/lua: add cycle-deinterlace-pullup scriptKevin Mitchell2014-05-061-0/+56
| | | | Override the shift+d hotkey to add a pullup step to the cycle.
* TOOLS/lua: conform to whitespace coding-styleKevin Mitchell2014-05-062-24/+24
|
* TOOLS/lua: use double quotes unless there's a good reasonKevin Mitchell2014-05-042-26/+26
|
* TOOLS/lua/autocrop: handle case of user hitting hotkey while cropdetection ↵Kevin Mitchell2014-05-041-3/+11
| | | | already running
* TOOLS/lua: no longer gsub out "lua/" prefix, now that its no longer thereKevin Mitchell2014-05-042-2/+2
|
* options: rename video-related options/propertiesMartin Herkt2014-05-041-1/+1
| | | | | | | | | | | Renamed options: --aspect → --video-aspect --fstype → --x11-fstype --native-fs → --fs-missioncontrol --name → --x11-name Renamed properties: aspect → video-aspect
* TOOLS: better documentation of lua scriptsKevin Mitchell2014-04-293-0/+66
|
* TOOLS: improve autocrop.luaKevin Mitchell2014-04-291-9/+75
| | | | | | | | | | It now inserts no filters and does nothing until the hot-key is pressed. This makes it more suitable to be put in ~/.mpv/lua. When the hot-key is pressed, it now inserts the cropdetect filter and waits 1 second (or a --lua-opts specified duration) before gathering the cropdetect metadata and inserting the appropriate crop filter. A second press of the hotkey removes the crop.
* TOOLS/umpv: make it work with Python 3 (again)wm42014-04-291-3/+6
| | | | | | | Apparently, the 3rd (2nd) parameter to string.translate() function was removed. Also, make_abs() had a mistake - not sure how this passed testing.
* TOOLS/umpv: don't mangle URLswm42014-04-291-1/+16
| | | | | This attempted to prefix the current directory to URLs, because it didn't recognize them as already absolute paths.
* TOOLS/umpv, mpv.desktop: use --no-terminal instead of --really-quietwm42014-04-291-1/+1
| | | | | So this won't initialize terminal handling if stdout happens to be a terminal. It also suppresses all output to stdout/stderr.
* TOOLS/umpv: allow passing 0 fileswm42014-04-291-2/+1
| | | | | Some might use that to just create an empty window with --force-window --idle (for whatever reasons).
* TOOLS/umpv: allow passing optionswm42014-04-291-2/+14
| | | | But only via a special environment variable.
* TOOLS/umpv: make it work with Python 3wm42014-04-291-1/+1
| | | | Apparently they removed octal literals, and made them invalid syntax.
* TOOLS: make youtube-dl_mpv.sh executablewm42014-04-281-0/+0
|
* TOOLS: indent lua scripts by 4 spaces instead of 3Kevin Mitchell2014-04-272-55/+55
|
* TOOLS: add lua/drc-controlKevin Mitchell2014-04-271-0/+80
| | | | allows live insertion/deletion/adjustment of drc audio filter
* TOOLS: move autocrop.lua to TOOLS/luaKevin Mitchell2014-04-271-0/+0
| | | | in anticipation of more lua scripts
* OS X bundle: add UTImportedTypeDeclarationsNyx0uf2014-04-251-1/+504
| | | | | | | | | | | | | | | | Allows to declare UTIs [1] for types of file that OS X doesn't know, like mkv, mka, etc. For example: instead of having a dynamically generated UTI for .mkv like 'dyn.somerandomstring', 'io.mpv.mkv' is registered and conforms to public.movie and is known system wide. Note: The list is far from being complete but it should cover the most used type of files. [1]: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html#//apple_ref/doc/uid/TP40001319-CH202-CHDHIJDE Fixes: #734
* player: add a --dump-stats optionwm42014-04-171-0/+88
| | | | | | | | | | | | | | | | | | | | | | | This collects statistics and other things. The option dumps raw data into a file. A script to visualize this data is included too. Litter some of the player code with calls that generate these statistics. In general, this will be helpful to debug timing dependent issues, such as A/V sync problems. Normally, one could argue that this is the task of a real profiler, but then we'd have a hard time to include extra information like audio/video PTS differences. We could also just hardcode all statistics collection and processing in the player code, but then we'd end up with something like mplayer's status line, which was cluttered and required a centralized approach (i.e. getting the data to the status line; so it was all in mplayer.c). Some players can visualize such statistics on OSD, but that sounds even more complicated. So the approach added with this commit sounds sensible. The stats-conv.py script is rather primitive at the moment and its output is semi-ugly. It uses matplotlib, so it could probably be extended to do a lot, so it's not a dead-end.
* TOOLS: vf-metadata: lua cropdetect example scriptKevin Mitchell2014-04-131-0/+11
| | | | Signed-off-by: wm4 <wm4@nowhere>
* TOOLS: add script for using mpv with youtube-dlNikoli2014-04-091-0/+23
| | | | Signed-off-by: wm4 <wm4@nowhere>
* Parse::Matroska::Reader: get rid of `bigrat`Diogo Franco (Kovensky)2014-02-151-17/+20
| | | | | | | | | | | | | | | It seems that it was causing issues with certain perl setups (such as the one on issue #549). It also turns out that it was not behaving correctly (not all constants were being promoted to big nums as they should), so we use explicit objects to derive the constants. There were also precedence issues. I wonder if this even worked right to begin with. The 'double' path (8-byte floats) is untested, as I couldn't easily find a file with such a field. Closes #549.
* umpv: silence mpv terminal outputwm42014-02-051-2/+4
| | | | | Now it does basically the same as mkv.desktop. Explanation is included in the description comment.
* umpv: improve descriptionwm42014-02-051-9/+11
|
* umpv: use --force-windowwm42014-02-051-4/+2
| | | | This makes it show a window even when playing audio-only files.
* ildetect: add ILDETECT_FORCE_RUN (if interlacing could not be decided, ↵Rudolf Polzer2013-12-181-1/+7
| | | | assume yadif).
* osxbundle: use mpv's version.sh instead of osxbundle'sChrisK22013-12-092-16/+1
|
* switch the build system to wafStefano Pigozzi2013-11-212-9/+13
| | | | | | | | | | | | | | | | | | | | | | | This commit adds a new build system based on waf. configure and Makefile are deprecated effective immediately and someday in the future they will be removed (they are still available by running ./old-configure). You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`. TL;DR: we couldn't get the same level of abstraction and customization with other build systems we tried (CMake and autotools). For guidance on how to build the software now, take a look at README.md and the cross compilation guide. CREDITS: This is a squash of ~250 commits. Some of them are not by me, so here is the deserved attribution: - @wm4 contributed some Windows fixes, renamed configure to old-configure and contributed to the bootstrap script. Also, GNU/Linux testing. - @lachs0r contributed some Windows fixes and the bootstrap script. - @Nikoli contributed a lot of testing and discovered many bugs. - @CrimsonVoid contributed changes to the bootstrap script.
* osx bundle: remove embedded fonts.confStefano Pigozzi2013-11-141-120/+0
| | | | | | This could cause the bundle to recache stuff because of differences with configuration of other software using fonconfig. The defaults OS X directories should be added to fontconfig at build time (through configure).
* demux_mkv: fix compiler warningswm42013-11-041-1/+1
| | | | | | | | | | | | | | | | Make TOOLS/matroska.pl output structs with fields sorted by name in ebml_types.h to make the order of fields deterministic. Fix warnings in demux_mkv.c caused by the first struct fields switching between scalar and struct types due to non-deterministic ebml_types.h field order. Since it's deterministic now, this shouldn't change anymore. The warnings produced by the compilers are bogus, but we want to silence them anyway, since this could make developers overlook legitimate warnings. What commits 7b52ba8, 6dd97cc, 4aae1ff were supposed to fix. An earlier attempt sorted fields in the generated C source file, not the header file. Hopefully this is the last commit concerning this issue...
* tools: add --no-cache --no-config to mpv_identify.shChrisK22013-11-031-1/+1
|
* matroska.pl: Sort the generated struct field listDiogo Franco (Kovensky)2013-11-021-2/+2
| | | | | | | Newer versions of perl randomize the hash used for hashes every time it's run; this makes the order of the fields be non-deterministic. Tack a sort there to make it deterministic. Needed to fix (or allow fixing) a buggy gcc warning.
* Revert "osxbundle: fonts.conf: only look for fonts in ~/.mpv/fonts"Stefano Pigozzi2013-09-191-2/+5
| | | | | | | Commit broke text subtitles without embedded fonts. Will look for a better solution later. Revert it for now, since I'm starting to get bug reports. This reverts commit 4a9f618d9f3b2d964bcc819426cc3042b8e447f7.
* osxbundle: fonts.conf: only look for fonts in ~/.mpv/fontsStefano Pigozzi2013-09-181-5/+2
| | | | | | | | This is to avoid the 30s hang while mpv caches fonts. In practice all the fonts an average user is going to use are embedded in mkv files so there is no reason to build fontconfig's cache on all of OS X system directories. I might add something similar for terminal usage, but I am highly undecided.
* macosx: