Page 1 of 1

VLC should be controllable by inter-process communication from other software

Posted: 20 Mar 2017 10:33
by eerkatoka
2 main purposes for having (especially audio file) playback control available from other software by inter-process communication:

1.When using some other software, that may be a video game, web browser or spreadsheet, while listening to audio with VLC, there would not be need to change software focus to skip back 4 seconds or adjust volume, if certain messages to VLC could be assigned to any keys within the other software.

2.Other software, especially games, could use VLC for it's sound effects by ordering playback of certain parts of audio files with millisecond precision. Simple homemade games would like to use this feature mainly because it would be easy for programming and compatibility. Big AAA games from big publishers would like this as an option among many, so that customers could immediately use their own complicated ready-made VLC audio settings for every game.

Just a few commands would go a long way:

1.Start sending time codes with x millisecond intervals

2.Go to time x1

3.Go to time x1 and stop at x2

4.Send volume as a number

5.Increase / decrease volume one step (that is defined within VLC)

6.Set volume to x

7.Short skip (that is defined within VLC)

8.Send length of audio in milliseconds

Re: VLC should be controllable by inter-process communication from other software

Posted: 22 Mar 2017 12:25
by Rémi Denis-Courmont
There are already a number of different optins to do that...

Re: VLC should be controllable by inter-process communication from other software

Posted: 24 Mar 2017 16:12
by eerkatoka
I see it now.

Previously I used the help search with wrong keywords with too little effort in checking and also because I haven't seen any other software use those features, I guessed that they do not exist.

I want to integrate that kind of control in my software for Linux and request such features in software I use.

For example, do any Steam games allow VLC controls to be part of the keymapping alongside buttons for something like "shoot gun", "accelerate vehicle" etc.?

Which media players use that same communication standard, if there is a standard?

Re: VLC should be controllable by inter-process communication from other software

Posted: 25 Mar 2017 11:39
by Rémi Denis-Courmont
On Linux, VLC follows the MPRIS standard as do a number of other media players. It wouldn't make sense for games.

Re: VLC should be controllable by inter-process communication from other software

Posted: 26 Mar 2017 15:02
by eerkatoka
I don't know what it means "not to make sense in games". Let's say I am playing some game while listening to audio with VLC. If I skip back 4 seconds by pressing one button in keyboard or even on a joystick, game controller / game pad / Steam controller, that "would not make sense"? Only thing that would make sense, would be to go off fullscreen, choose the VLC window with a mouse, press skip button and choose game window again?

On using VLC for game audio, many computers may not be fast enough for skipping around large audio files with immediate playback, on normal mode, but if VLC is directed to pre-load and pre-un-compress certain segments of an audio file to ram, that would be different.

Strange thing about MPRIS is that it's wikipedia page was deleted for allegedly not being notable enough. Wrong decision from someone.

Is there any small c++ program that uses every feature of MPRIS? That program does not have to be meant for use. It can be just for demonstration purposes with minimal complexity.