Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBus API for the RecordPage. #399

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

obiwankennedy
Copy link

Those commits add DBus support for PageRecord. It allow to start and pause the recording from another software. In my case, teamspeak will start the video recording thank of ssr.

I just need to be able to start the recording by command line. So, I just implemented the PageRecord. I hope it will be an example, and you will be able to do it with all your pages.

You can call all public slots from PageRecord (I changed the visibility of some slots).

So, you can call them like this:
I start ssr, click ok until I reach the RecordPage, then I can send those commands:

dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnRecordStartPause

dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnCancel
dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnSave
dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnUpdateHotkeyFields
dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnUpdateHotkey
dbus-send --type=method_call --session --dest=be.maartenbaert.ssr / local.PageRecord.OnUpdateSoundNotifications

Hoping, this modification will be included in the next version. If you have any questions about my work. I strongly recommend to put my work in a new branch. Then you will be able to test it a bit.

Regards
Renaud G.

@MaartenBaert
Copy link
Owner

This sounds useful, but it does add a dependency on dbus, which may be problematic for some platforms. I'm not sure, I will have to check. In any case this should be an optional feature that can be disabled with configure flags.

There are also a number of problems regarding reentrancy of some slots, the system tray patch created similar problems that were tricky to find. I will need to take a look at that too once I have some time. I will definitely look into this, but I don't have much time now.

@test2a
Copy link

test2a commented Jul 29, 2020

hey. any updates on this front? its been 5 years

@obiwankennedy
Copy link
Author

I no longer use ssr to record my games, so, I won't make any change in those commit. It helped a lot, synchronizing sound and video but now I find a way to start both at the same time with proper quality.

@MaartenBaert
Copy link
Owner

I did not merge this because at the time, there were issues with how the dbus functions can be called at arbitrary points in time, which can screw up the internal state of SSR quite badly. I recently fixed this, but there's now a way to control SSR through stdin, which makes the dbus interface largely redundant:
#749 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants