| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 
							- #pragma once
 
- #include "aja-enums.hpp"
 
- #include <ajantv2/includes/ntv2enums.h>
 
- #include <map>
 
- #include <string>
 
- #include <vector>
 
- namespace aja {
 
- struct RoutingPreset {
 
- 	std::string name;
 
- 	ConnectionKind kind;
 
- 	NTV2Mode mode;
 
- 	RasterDefinition raster_def;
 
- 	HDMIWireFormat hdmi_wire_format;
 
- 	VPIDStandard vpid_standard;
 
- 	uint32_t num_channels;
 
- 	uint32_t num_framestores;
 
- 	uint32_t flags;
 
- 	std::string route_string;
 
- 	std::vector<NTV2DeviceID> device_ids;
 
- 	bool is_rgb;
 
- 	bool verbatim;
 
- };
 
- using RoutingPresets = std::vector<RoutingPreset>;
 
- using RoutingPresetPair = std::pair<std::string, RoutingPreset>;
 
- using RoutingPresetMap = std::map<std::string, RoutingPreset>;
 
- class RoutingConfigurator {
 
- public:
 
- 	RoutingConfigurator();
 
- 	void AddPreset(const std::string &name, const RoutingPreset &preset);
 
- 	bool PresetByName(const std::string &name, RoutingPreset &preset) const;
 
- 	RoutingPresetMap GetPresetTable() const;
 
- 	bool FindFirstPreset(ConnectionKind kind, NTV2DeviceID id,
 
- 			     NTV2Mode mode, NTV2VideoFormat vf,
 
- 			     NTV2PixelFormat pf, VPIDStandard standard,
 
- 			     HDMIWireFormat hwf, RoutingPreset &preset);
 
- private:
 
- 	void build_preset_table();
 
- 	RoutingPresetMap m_presets;
 
- };
 
- } // aja
 
 
  |