Input Mapping for Batch of Sources

Session contains a set of 'Batch' that are created in the Player (renamed from PlayGroups). Session InputCallback can now target either a Source or a Batch, using std::variant (new type Target). Input Mapping reacts to input to create callbacks to a target, either a single source (as before) or to a Batch (multiple sources).
This commit is contained in:
Bruno Herbelin
2023-02-05 17:05:29 +01:00
parent 1e9f8d707e
commit c5cb635b4e
9 changed files with 297 additions and 166 deletions

View File

@@ -1,10 +1,12 @@
#ifndef __UI_MANAGER_H_
#define __UI_MANAGER_H_
#include "Session.h"
#include <string>
#include <array>
#include <list>
#include <future>
#include <variant>
#include <gst/gstutils.h>
@@ -392,9 +394,9 @@ class InputMappingInterface : public WorkspaceWindow
std::array< uint, 4 > current_input_for_mode;
uint current_input_;
Source *ComboSelectSource(Source *current = nullptr);
Target ComboSelectTarget(const Target &current);
uint ComboSelectCallback(uint current, bool imageprocessing);
void SliderParametersCallback(SourceCallback *callback, Source *source);
void SliderParametersCallback(SourceCallback *callback, const Target &target);
public:
InputMappingInterface();