mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-11 18:34:58 +01:00
Fixed DeviceSource pannel config
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
#include "MediaSource.h"
|
#include "MediaSource.h"
|
||||||
#include "SessionSource.h"
|
#include "SessionSource.h"
|
||||||
#include "PatternSource.h"
|
#include "PatternSource.h"
|
||||||
|
#include "DeviceSource.h"
|
||||||
#include "Settings.h"
|
#include "Settings.h"
|
||||||
#include "Mixer.h"
|
#include "Mixer.h"
|
||||||
|
|
||||||
@@ -355,12 +356,12 @@ void ImGuiVisitor::visit (CloneSource& s)
|
|||||||
|
|
||||||
void ImGuiVisitor::visit (PatternSource& s)
|
void ImGuiVisitor::visit (PatternSource& s)
|
||||||
{
|
{
|
||||||
ImGuiToolkit::Icon(13,5);
|
ImGuiToolkit::Icon(12,5);
|
||||||
ImGui::SameLine(0, 10);
|
ImGui::SameLine(0, 10);
|
||||||
ImGui::Text("Pattern");
|
ImGui::Text("Pattern");
|
||||||
|
|
||||||
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
|
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
|
||||||
if (ImGui::BeginCombo("##Pattern", Pattern::pattern_types[s.pattern()->type()].c_str()) )
|
if (ImGui::BeginCombo("##Patterns", Pattern::pattern_types[s.pattern()->type()].c_str()) )
|
||||||
{
|
{
|
||||||
for (int p = 0; p < Pattern::pattern_types.size(); ++p){
|
for (int p = 0; p < Pattern::pattern_types.size(); ++p){
|
||||||
if (ImGui::Selectable( Pattern::pattern_types[p].c_str() )) {
|
if (ImGui::Selectable( Pattern::pattern_types[p].c_str() )) {
|
||||||
@@ -371,3 +372,28 @@ void ImGuiVisitor::visit (PatternSource& s)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImGuiVisitor::visit (DeviceSource& s)
|
||||||
|
{
|
||||||
|
ImGuiToolkit::Icon(2,14);
|
||||||
|
ImGui::SameLine(0, 10);
|
||||||
|
ImGui::Text("Device");
|
||||||
|
|
||||||
|
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
|
||||||
|
if (ImGui::BeginCombo("##Hardware", s.device().c_str()))
|
||||||
|
{
|
||||||
|
for (int d = 0; d < Device::manager().numDevices(); ++d){
|
||||||
|
std::string namedev = Device::manager().name(d);
|
||||||
|
if (ImGui::Selectable( namedev.c_str() )) {
|
||||||
|
s.setDevice(namedev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImGui::EndCombo();
|
||||||
|
}
|
||||||
|
DeviceConfigSet confs = Device::manager().config( Device::manager().index(s.device().c_str()));
|
||||||
|
if ( !confs.empty()) {
|
||||||
|
DeviceConfig best = *confs.rbegin();
|
||||||
|
float fps = static_cast<float>(best.fps_numerator) / static_cast<float>(best.fps_denominator);
|
||||||
|
ImGui::Text("%s %s %dx%d@%.1ffps", best.stream.c_str(), best.format.c_str(), best.width, best.height, fps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public:
|
|||||||
void visit (RenderSource& s) override;
|
void visit (RenderSource& s) override;
|
||||||
void visit (CloneSource& s) override;
|
void visit (CloneSource& s) override;
|
||||||
void visit (PatternSource& s) override;
|
void visit (PatternSource& s) override;
|
||||||
|
void visit (DeviceSource& s) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // IMGUIVISITOR_H
|
#endif // IMGUIVISITOR_H
|
||||||
|
|||||||
Reference in New Issue
Block a user