Topic: Keyboard shortcut for Preferences... and other features

I have been using Kinovea 0.8.27 and the beta 0.9.1 & 0.9.3 for a few weeks, primarily for recording/analyzing golf swing for personal use. Very impressed with its features when compared to commercial software offering similar features especially with the incorporation of audio recording trigger in recent versions that eliminating the need for 3rd party tools.


I have been reading most threads on the forum while waiting to be approved to post (due to my misleading email address mistaken as bot registering). I have followed some tips and tricks others who graciously posted on the forum to share, but have some questions that I could not find the answers for and hope that someone can help. Apologize for the long post, but want to include as much details as possible.

.1 - Is there anyway to invoke Options->Preference via a keyboard shortcut (like Crtl-P in VLC) either natively or via 3rd party tools such as Autohotkey? I am aware of the Options->Preference->Keyboard, but the shortcuts there are not user definable and does not have keyboard shortcut for the menu items. [To Joan] - If there is no way to invoke Preferences via keyboard shortcut, is it in the roadmap in future release? Is it possible to make that user-definable? 

.2 - Is there a way to save a previous cameras configurations/layouts and other playback/capturing settings and start Kinovea subsequently with the saved setting file? For example, I have 3 instances of Kinovea installed in 3 different folders. I use 1 instance for capture with 2 cameras and set up with Down-the-line (DTL) view on left and Face-on (FO) view on right and save the 2 views in separate folders and another instance for auto playback of the DTL camera video captured above with "Open replay folder observer" for DTL from the "DTL" folder on left and "Open replay folder observer" for FO from the "FO" folder on the right. And then the 3rd instance for playback using "Open Video" option to display a Golf Pro model swing in DTL view on left and FO on right. As you can see, it is a lot of manual configurations each time I start up for each instance of Kinovea for playback and capture layouts, camera selection, recording settings (as I use audio trigger with a wireless mic, not the built-in mic from laptop or camera, with a certain Trigger threshold), "Stop recording by duration" and camera capture "Delay", etc. I see that certain settings such as Video/Image naming, Input device, Trigger threshold, etc

I looked into "Preferences.xml" and .kva file saved in the "AppData" and Kinovea install folder respectively but with no avail.

Any advise of how to get those setting persisted will be much appreciated.

.3 - Is there a way, keyboard shortcut key or trigger it via 3rd party tool to enable/disable "Audio Trigger"? I often have to approach the laptop (where it is located close to the microphone) to manipulate the videos such as advance it frame by frame, draw lines, set the working zone, set the playback speed, etc where the mic would mistakenly pick up the sound and trigger the "new" recording which "replace" the existing videos in the 2nd playback instance and I have to re-open both the previous DTL and FO recorded videos files. Afterward I then have to set the 2 "Open replay folder observer" again to resume the original "working" setup.

.3a - Similar to #3 above. Is there a way, keyboard shortcut key or trigger it via 3rd party tool to adjust playback speed?

.3b - Similar to #3 above. Is there a way, keyboard shortcut key or trigger it via 3rd party tool to adjust record delay?

.3c - Similar to #3 above. Is there a way, keyboard shortcut key or trigger it via 3rd party tool to pause/start camera. I use this less frequent, only once when I start and end the recording session, but the reconfiguration (as mentioned in #2 above) is tedious and time consuming. The main reason I have to do this is due to camera would not "respond" if I wake the laptop from sleep after previous use and I had to kill the Kinovea instance or re-add the cameras from the File Explorer pane (which means I have to reconfigure all the cameras layout and recording settings). The only workaround I find is to pause the cameras before I put the laptop to sleep and then hit the start button after I wake the laptop, then I don't have to kill the Kinovea instance. 

.4 - I learned from a thread about an "undocumented" command line option when staring Kinovea such as -name "xxx". Is there command line option to start Kinovea with the playback option using a specific "Open replay folder observer"?


Thanks in advance to the fellow Kinovea users on the forum for any help/tips on above questions.

Re: Keyboard shortcut for Preferences... and other features

Hi,

1. Invoking Options->Preference via a keyboard shortcut: at the moment, no. Menu shortcuts work a bit differently. This could be added relatively easily but it won't be user-definable. Note that the other keyboard shortcuts listed in the preferences are customizable, you need to place the cursor in the text box in the lower left and type the key you want then apply.

2. Saving/restoring screen layouts. There is a work in progress on the concept of "workspaces" but the camera side is not implemented yet. There is a complication from the way the cameras are discovered dynamically.

Saving and restoring camera-specific parameters (image size, framerate, etc.) should work out of the box. This is saved in the preferences XML file and should work for instances installed in different folders or for instances launched from the same folder but with different "names".

The capture delay is not saved anywhere at the moment.

3. Yeah, this is problematic. I think there are 3 ways to go about it. First is a cooling-down period configurable from the settings, preventing any trigger for a period of time after a capture. This wouldn't really help with the scenario you described though. Second is an "arming" or enable/disable button in each capture screen. The third option is a single button (maybe in the explorer panel on the left) or a menu that would work globally for all screens (but not across instances).

3a. and 3b. You can change playback speed and camera delay with the UP/DOWN arrow keys.

3c. You can start/stop the camera stream with SPACE shortcut.

I'll note down the issue with sleep. Maybe there is a way to be notified when the computer is about to go to sleep and take some preventive measures like that.

4. Starting Kinovea using a specific "Open replay folder observer". Yes this is possible in the current state of the workspaces feature. I'll post it here but to anyone reading this in the future, please be aware that the format may change.

So there is a concept of workspaces, the end goal is that you could take your current layout of screens and save this to a file and reload it later. At the moment you have to create and edit the workspace file manually.

Here is an example file that will create a single folder observer on the "D:\temp\left" directory:

<?xml version="1.0" encoding="utf-8"?>
<KinoveaWorkspace>
  <FormatVersion>1.0</FormatVersion>
  <Name>Single replay</Name>
  <Id>3f19d841-66b5-4853-87ce-a0ec35ccc7a7</Id>
  <ScreenDescriptionPlayback>
    <FullPath>D:\temp\left\*</FullPath>
    <Autoplay>true</Autoplay>
    <SpeedPercentage>100</SpeedPercentage>
    <Stretch>true</Stretch>
    <IsReplayWatcher>true</IsReplayWatcher>
  </ScreenDescriptionPlayback>
</KinoveaWorkspace>

Save this to a text file and rename it with a .xml extension.

In order to launch Kinovea with this workspace you can pass the file path directly on the command line, or use the -workspace option:

Kinovea.exe workspace.xml
Kinovea.exe -workspace workspace.xml

(The first variant means that just dragging the xml file on top of Kinovea .exe will also work).

If you want a dual playback screen setup you can add another `ScreenDescriptionPlayback` node. For a normal playback screen you point the exact file and `IsReplayWatcher` must be set to false. For a replay observer you point the directory and use the "*" wildcard instead of the file name. The `Name` and `Id` fields aren't really used at the moment, they will be used to differentiate between multiple workspace files.

Let me know if you find any issues with this feature.

Re: Keyboard shortcut for Preferences... and other features

Hi Joan,

Thanks for the quick response and the confirmation on #1, #2, and #3c. For #3, I found a way to toggle the mic using Autohotkey, (If others are interested, here is the info, https://www.autohotkey.com/boards/viewt … p?t=15509)

On #3a and #3b, sorry for the confusion, I am aware of using the arrow keys to change the playback speed and camera delay. Currently, I use keyboard "TAB" key to navigate to them by going through the tab order sequentially. I was referring to 2 other areas 1) whether there is a keyboard shortcut to "focus" on the playback speed or camera delay directly, and then I can just use the [None/Shift/Ctrl] UP/DOWN key to change the increment. Also, 2) if there could be an additional keyboard shortcut for different increment amount such as IncreaseDelayby1 with Shift+Up in the CaptureScreen (in addition to the current 0.1 increment) similar to the IncreaseSpeed1, IncreaseSpeedRoundTo10 in the PlayerScreen, that would be very helpful.

On #4, the workspace command line switch works beautifully. I am able to specify the 2 separate "Open replay folder observer" folders and the video files I want to play in 2 Kinovea instances. That is a big time saver. Thank you very much.

Re: Keyboard shortcut for Preferences... and other features

hhsospam wrote:

2) if there could be an additional keyboard shortcut for different increment amount such as IncreaseDelayby1 with Shift+Up in the CaptureScreen (in addition to the current 0.1 increment) similar to the IncreaseSpeed1, IncreaseSpeedRoundTo10 in the PlayerScreen, that would be very helpful.

Yes, good point. In order to make it homogeneous with the playback side I'm thinking of the following:
- Up/Down = increase/decrease to the next whole second. (That's also the granularity of the arrows on the numeric input control).
- Shift+Up/Down = increase/decrease to the next 0.5 second.
- Ctrl+Up/Down = increase/decrease by one frame.

Another thing to note is that when you pause the stream the delay slider can act as a sort of position slider like the main position slider in the playback screen, at some point I would like to maybe replace the delay slider control by the full one. In the meantime I think it will be interesting to have the same shortcuts to move around in the sequence, so home/end to move to the start/end, page up/down to move by 10%, left/right arrow to move frame by frame.

Re: Keyboard shortcut for Preferences... and other features

Thanks Joan for making those shortcuts for the playback side homogeneous. Per your suggestion to the delay slider control with keyboard after pause, that work well as well. Is there a way to toggle the focus with keyboard between 2 playback screens (within the same Kinovea instance)? If so, that would make the experience of pause, adjust delay slider totally mouseless. (Currently, I just TAB and ALT TAB like 16 times to go between the 2).

joan wrote:
hhsospam wrote:

2) if there could be an additional keyboard shortcut for different increment amount such as IncreaseDelayby1 with Shift+Up in the CaptureScreen (in addition to the current 0.1 increment) similar to the IncreaseSpeed1, IncreaseSpeedRoundTo10 in the PlayerScreen, that would be very helpful.

Yes, good point. In order to make it homogeneous with the playback side I'm thinking of the following:
- Up/Down = increase/decrease to the next whole second. (That's also the granularity of the arrows on the numeric input control).
- Shift+Up/Down = increase/decrease to the next 0.5 second.
- Ctrl+Up/Down = increase/decrease by one frame.

Another thing to note is that when you pause the stream the delay slider can act as a sort of position slider like the main position slider in the playback screen, at some point I would like to maybe replace the delay slider control by the full one. In the meantime I think it will be interesting to have the same shortcuts to move around in the sequence, so home/end to move to the start/end, page up/down to move by 10%, left/right arrow to move frame by frame.