• Stars
    star
    897
  • Rank 50,907 (Top 2 %)
  • Language
    C
  • License
    GNU Lesser Genera...
  • Created about 10 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Plugin for VLC that pauses/plays video on mouse click

Pause Click plugin for VLC

VLC plugin that allows you to pause/play a video by clicking on the video image.

Can be configured to work nicely with double-click-to-fullscreen by enabling "Prevent pause/play from triggering on double click" option in the settings. By default it pauses on every click instead.

Table of contents

Supported versions of VLC

VLC 2.1, 2.2 and 3.0 are supported.

VLC versions below 2.1 are not supported. However, there is a lua extension that should work with VLC 2.0 and possibly even earlier versions of VLC.

Support for the newer VLC versions will be available as they get released and as I get time to work on it.

There is an experimental support for the nightly, in-development version of VLC (VLC 4.0). The development version of VLC often breaks both API and ABI, which can result in the plugin failing to build and the plugin built for nightly VLC of today be non-functional in newer nightly VLC builds. Due to this, the support for nightly VLC is very limited and low-priority. The plugin is not guaranteed to work correctly with it, or even work at all. If the plugin breaks to build against newer nightly VLC versions, it might not get fixed for quite some time. It's also quite possible that nightly VLC could have its own bugs that prevent the plugin from working that are out of my control to fix.

Install

Windows

Download an appropriate archive:

Version/Bitness VLC 32 bit VLC 64 bit
VLC 2.1 Download Download
VLC 2.2 Download Download
VLC 3.0 Download Download

For the nightly VLC 4.0 see the nightly builds.

Extract the archive at {VLC}\plugins\video_filter\, where {VLC} is the directory the VLC was installed into. By default, the 32-bit VLC installs into C:\Program Files (x86)\VideoLAN\VLC\ and the 64-bit one into C:\Program Files\VideoLAN\VLC\.

Then follow the usage instructions below on how to enable the plugin.

If you want to build the plugin binary yourself, take a look at the build instructions.

macOS

Download an appropriate archive:

Version/Bitness VLC 64 bit
VLC 2.1 Download
VLC 2.2 Download
VLC 3.0 Download

For the nightly VLC 4.0 see the nightly builds.

Extract the archive at /Applications/VLC.app/Contents/MacOS/plugins/

Then follow the usage instructions below on how to enable the plugin.

If you want to build the plugin binary yourself, take a look at the build instructions.

Linux

Flatpak

The plugin is available on Flathub as org.videolan.VLC.Plugin.pause_click (source).

Assuming you have Flathub repo added, you can install the plugin using:

flatpak install flathub org.videolan.VLC.Plugin.pause_click

Once installed, follow the usage instructions below on how to enable the plugin.

Note that updating Flatpak VLC might remove the plugin and you will need to re-install the plugin again.

Specifically, due to how VLC plugins are published (by using run-time specific branches) (flathub/flathub#3843 (comment)) and due to Flatpak being unable to automatically update plugins that are published in such a way (flatpak/flatpak#4208), every time VLC updates its runtime, thus changing the required runtime version its plugins must use, the already installed plugins will stop working as they use an older runtime and don't satisfy that requirement, and the versions of plugins that use the new runtime that VLC now requires must be manually installed instead. Not every VLC update will cause this, only the ones that change the required plugin runtime, which typically happen once a year or so.

Debian

Get required libraries and tools:

sudo apt-get install build-essential pkg-config libvlccore-dev libvlc-dev

Get the latest release of the plugin:

sudo apt-get install git
git clone https://github.com/nurupo/vlc-pause-click-plugin
cd vlc-pause-click-plugin
git checkout \
  "$(git tag --list | grep -P '^(\d+).(\d+).(\d+)$' | \
    sed "s/\./ /g" | \
    sort -snk3,3 | sort -snk2,2 | sort -snk1,1 | \
    tail -n 1 | \
    sed 's/ /\./g')"

(Or alternatively download the latest release's tarball, extract it and cd into it)

Build and install:

make
sudo make install

Then follow the usage instructions below on how to enable the plugin.

If these build instructions don't work for you (perhaps you are using a non-Debian-derived Linux distribution), there are more generic build instructions available.

Arch Linux

There is vlc-pause-click-plugin package available in the AUR repository.

Once installed, follow the usage instructions below on how to enable the plugin.

Snap

Snap VLC is not supported. Not supported in the sense that I haven't figured out how to build the plugin such that it would be ABI compatible with the Snap VLC and how to make the Snap VLC load the plugin. If someone could figure that out and contribute their findings - that would be very helpful. This Snap VLC discussion might be useful.

Usage

  1. Restart VLC to load the newly added plugin [screenshot]
  2. Go into advanced preferences: Tools -> Preferences -> Show settings -> All [screenshot] [screenshot]
  3. Enable the plugin with a checkbox: (in advanced preferences) Interface -> Control Interfaces -> Pause/Play video on mouse click [screenshot]
  4. Enable the plugin with a checkbox: (in advanced preferences) Video -> Filters -> Pause/Play video on mouse click [screenshot]
  5. Change the plugin settings however you like: (in advanced preferences) Video -> Filters -> Pause click [screenshot]
  6. Restart VLC for settings to take place [screenshot]
  7. Play a video
  8. Click on the video picture to pause/play the video

Make sure you have checked both of "Pause/Play video on mouse click" checkboxes per #3 and #4! It's a very common mistake to skip one of those.

Troubleshooting

I don't see any plugin-related options described in Usage instructions in my VLC preferences

  • Make sure to restart VLC after you have put the plugin .dll (Windows) or .so (Linux) or .dylib (macOS) in the appropriate directory.
  • Make sure you have downloaded the appropriate version of the plugin for the VLC you are trying to use it with. Plugin's version and bitness should match the version and bitness of the VLC you are trying to use the plugin with. Plugin's bitness has nothing to do with the operation system bitness. For example, if you use 32-bit VLC, it doesn't matter whether your Windows is 32-bit or 64-bit, you should use 32-bit version of the plugin, because it matches the bitness of the VLC you use.
  • Some users have reported that they had to run the VLC executable with --reset-plugins-cache flag once for the plugin to appear in the GUI.

I do see the plugin-related options described in Usage instructions in my VLC preferences, but the plugin still doesn't work

  • Double-check that you have followed Usage instructions closely, especially 3rd and 4th points. Look at the screenshots.
  • Some users have reported that they had to re-install VLC and select "Delete preferences and cache" in the installer for the plugin to work.

If the issue persists, open an Issue in this repository and I will try to help.

Green video image

When playing interlaced videos in VLC 3.0 on Windows using Direct3D11 hardware-accelerated decoding, the first interlaced video will play fine, but the following ones will play showing a green video image (while still correctly playing the sound).

This is a known bug in VLC 3.0 and it has to be fixed in VLC, it's not something that can be fixed in our plugin. The upcoming VLC 4.0 has this bug fixed, however it's unlikely that the fix will be back-ported to VLC 3.0.

You can see this issue report for more information.

There are several possible workarounds:

  • Enable "Direct3D11 deinterlace filter" in: Tools -> Preferences -> (All) -> Video -> Filters

    Note that this results in x2 GPU usage due to additional video format conversions this option makes.

  • Disable hardware-accelerated decoding.

    You can do so in: Tools -> Preferences -> (Simple) -> Input / Codecs -> Hardware-accelerated decoding

    Note that this results in higher CPU usage, since the video is now decoded in software using the CPU.

  • Restart VLC every time you want to play a second interlaced video in a VLC session.

  • If you have Intel integrated graphics, you could try making VLC use that for its hardware-accelerated decoding.

It works for videos but not for audio-only files

That's not a bug, that's the expected behavior due to how the plugin and VLC work.

To know when a user clicks their mouse, the plugin implements the video filter interface of VLC, which allows it to react on mouse clicks done on the video surface/image. When playing audio-only files, VLC doesn't create any video surface and thus doesn't load any of video filter plugins, so the plugin simply doesn't get loaded and can't react to mouse clicks.

There is, however, a creative way to make the plugin work on audio-only files -- enable an audio visualization via Audio -> Visualizations menu. Enabling an audio visualization will force VLC to create a video surface for the visualization and load the plugin. Now, if you click on the visualization, the audio should pause. All visualizations seem to work aside from the 3D spectrum one. If you are on Linux, depending on how VLC is packaged in your distribution, you might need to install an additional package to enable audio visualizations, despite them already being listed in the GUI (e.g. vlc-plugin-visualization package in Debian).

License

LGPLv2.1+

More Repositories

1

rootkit

Linux rootkit for Ubuntu 16.04 and 10.04 (Linux Kernels 4.4.0 and 2.6.32), both i386 and amd64
C
767
star
2

ProjectTox-Qt-GUI

A cross-platform front end for ProjectTox Core library, written in C++11 with use of Qt5
C++
341
star
3

chrome-mouse-wheel-tab-scroller

Scroll Google Chrome tabs using mouse wheel
AutoIt
61
star
4

paper-store

Cold store small files on paper as QR codes -- PGP keys, Bitcoin keys, Tox keys or any other small files in general.
Shell
35
star
5

vlc-pause-click-plugin-nightly-builds

Builds of https://github.com/nurupo/vlc-pause-click-plugin targeting the nightly, in-development version of VLC
6
star
6

twitch-prime-offer-claimer

Script for auto-claiming Twitch Prime loot, as well as reporting when new loot appears
Python
6
star
7

ci-release-publisher

A script for publishing Travis-CI build artifacts on GitHub Releases
Python
5
star
8

pia-wg-netns-vpn

A script for setting up and managing a WireGuard VPN in a network namespace
Shell
5
star
9

mpv-scripts

Some mpv scripts and config files
Lua
5
star
10

mpv-url-opener

A small https server that listens for requests to open YouTube URLs in mpv
Python
4
star
11

nfk-lobby

A lobby application for Need For Kill video game
C++
3
star
12

appimage-qt-cross-example

Shell
3
star
13

asm-irc-logger

Simple IRC logger that produces logs that can be processed by irclog2html.py script to generate colorful HTML log pages.
Assembly
2
star
14

test

test
Python
2
star
15

tox-split-message

Library providing split message functionality for sending messages over Tox.
C
1
star
16

qt-nfk-planet

Improved reimplementation of the NFK Planet (https://github.com/NeedForKillTheGame/Planet) in C++ and Qt
C++
1
star
17

vlc-noop-video-filter-plugin

VLC video filter plugin that does nothing
Shell
1
star