mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-12 02:40:00 +01:00
UX tiny changes Media Player
Menu for selection and batch in Player add indication of selection.
This commit is contained in:
@@ -91,7 +91,7 @@ SourceControlWindow::SourceControlWindow() : WorkspaceWindow("SourceController")
|
|||||||
min_width_(0.f), h_space_(0.f), v_space_(0.f), scrollbar_(0.f),
|
min_width_(0.f), h_space_(0.f), v_space_(0.f), scrollbar_(0.f),
|
||||||
timeline_height_(0.f), mediaplayer_height_(0.f), buttons_width_(0.f), buttons_height_(0.f),
|
timeline_height_(0.f), mediaplayer_height_(0.f), buttons_width_(0.f), buttons_height_(0.f),
|
||||||
play_toggle_request_(false), replay_request_(false), pending_(false),
|
play_toggle_request_(false), replay_request_(false), pending_(false),
|
||||||
active_label_(LABEL_AUTO_MEDIA_PLAYER), active_selection_(-1),
|
active_label_(LABEL_PLAYER_SELECTION), active_selection_(-1),
|
||||||
selection_context_menu_(false), selection_mediaplayer_(nullptr), selection_target_slower_(0), selection_target_faster_(0),
|
selection_context_menu_(false), selection_mediaplayer_(nullptr), selection_target_slower_(0), selection_target_faster_(0),
|
||||||
mediaplayer_active_(nullptr), mediaplayer_edit_fading_(false), mediaplayer_set_duration_(0),
|
mediaplayer_active_(nullptr), mediaplayer_edit_fading_(false), mediaplayer_set_duration_(0),
|
||||||
mediaplayer_edit_pipeline_(false), mediaplayer_mode_(false), mediaplayer_slider_pressed_(false), mediaplayer_timeline_zoom_(1.f),
|
mediaplayer_edit_pipeline_(false), mediaplayer_mode_(false), mediaplayer_slider_pressed_(false), mediaplayer_timeline_zoom_(1.f),
|
||||||
@@ -118,7 +118,7 @@ void SourceControlWindow::resetActiveSelection()
|
|||||||
{
|
{
|
||||||
info_.reset();
|
info_.reset();
|
||||||
active_selection_ = -1;
|
active_selection_ = -1;
|
||||||
active_label_ = LABEL_AUTO_MEDIA_PLAYER;
|
active_label_ = LABEL_PLAYER_SELECTION;
|
||||||
play_toggle_request_ = false;
|
play_toggle_request_ = false;
|
||||||
replay_request_ = false;
|
replay_request_ = false;
|
||||||
capture_request_ = false;
|
capture_request_ = false;
|
||||||
@@ -348,23 +348,14 @@ void SourceControlWindow::Render()
|
|||||||
bool enabled = !selection_.empty() && active_selection_ < 0;
|
bool enabled = !selection_.empty() && active_selection_ < 0;
|
||||||
|
|
||||||
// Menu : Dynamic selection
|
// Menu : Dynamic selection
|
||||||
if (ImGui::MenuItem(LABEL_AUTO_MEDIA_PLAYER))
|
if (ImGui::MenuItem(LABEL_PLAYER_SELECTION, NULL, active_selection_ < 0))
|
||||||
resetActiveSelection();
|
resetActiveSelection();
|
||||||
// Menu : store selection
|
|
||||||
if (ImGui::MenuItem(ICON_FA_PLUS_CIRCLE LABEL_STORE_SELECTION, NULL, false, enabled))
|
|
||||||
{
|
|
||||||
active_selection_ = N;
|
|
||||||
active_label_ = std::string(ICON_FA_CHECK_CIRCLE " Batch #") + std::to_string(active_selection_);
|
|
||||||
Mixer::manager().session()->addBatch( ids(selection_) );
|
|
||||||
info_.reset();
|
|
||||||
}
|
|
||||||
// Menu : list of selections
|
// Menu : list of selections
|
||||||
if (N>0) {
|
if (N>0) {
|
||||||
ImGui::Separator();
|
|
||||||
for (size_t i = 0 ; i < N; ++i)
|
for (size_t i = 0 ; i < N; ++i)
|
||||||
{
|
{
|
||||||
std::string label = std::string(ICON_FA_CHECK_CIRCLE " Batch #") + std::to_string(i);
|
std::string label = std::string(LABEL_PLAYER_BATCH) + std::to_string(i);
|
||||||
if (ImGui::MenuItem( label.c_str() ))
|
if (ImGui::MenuItem( label.c_str(), NULL, active_selection_ == (int) i ))
|
||||||
{
|
{
|
||||||
active_selection_ = i;
|
active_selection_ = i;
|
||||||
active_label_ = label;
|
active_label_ = label;
|
||||||
@@ -372,6 +363,15 @@ void SourceControlWindow::Render()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Menu : store selection
|
||||||
|
ImGui::Separator();
|
||||||
|
if (ImGui::MenuItem(ICON_FA_PLUS_CIRCLE LABEL_PLAYER_BATCH_ADD, NULL, false, enabled))
|
||||||
|
{
|
||||||
|
active_selection_ = N;
|
||||||
|
active_label_ = std::string(LABEL_PLAYER_BATCH) + std::to_string(active_selection_);
|
||||||
|
Mixer::manager().session()->addBatch( ids(selection_) );
|
||||||
|
info_.reset();
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
@@ -1650,7 +1650,7 @@ void SourceControlWindow::RenderSelectedSources()
|
|||||||
float width = buttons_height_;
|
float width = buttons_height_;
|
||||||
std::string label(ICON_FA_PLUS_CIRCLE);
|
std::string label(ICON_FA_PLUS_CIRCLE);
|
||||||
if (space > buttons_width_) { // enough space to show full button with label text
|
if (space > buttons_width_) { // enough space to show full button with label text
|
||||||
label += LABEL_STORE_SELECTION;
|
label += LABEL_PLAYER_BATCH_ADD;
|
||||||
width = buttons_width_ - ImGui::GetTextLineHeightWithSpacing();
|
width = buttons_width_ - ImGui::GetTextLineHeightWithSpacing();
|
||||||
}
|
}
|
||||||
ImGui::SameLine(0, space -width);
|
ImGui::SameLine(0, space -width);
|
||||||
@@ -1661,7 +1661,7 @@ void SourceControlWindow::RenderSelectedSources()
|
|||||||
Mixer::manager().session()->addBatch( ids(selection_) );
|
Mixer::manager().session()->addBatch( ids(selection_) );
|
||||||
}
|
}
|
||||||
if (space < buttons_width_ && ImGui::IsItemHovered())
|
if (space < buttons_width_ && ImGui::IsItemHovered())
|
||||||
ImGuiToolkit::ToolTip(LABEL_STORE_SELECTION);
|
ImGuiToolkit::ToolTip(LABEL_PLAYER_BATCH_ADD);
|
||||||
|
|
||||||
ImGui::PopStyleColor(2);
|
ImGui::PopStyleColor(2);
|
||||||
}
|
}
|
||||||
@@ -1770,7 +1770,7 @@ void SourceControlWindow::RenderSingleSource(Source *s)
|
|||||||
width = buttons_width_ - ImGui::GetTextLineHeightWithSpacing();
|
width = buttons_width_ - ImGui::GetTextLineHeightWithSpacing();
|
||||||
ImGui::SameLine(0, space -width);
|
ImGui::SameLine(0, space -width);
|
||||||
ImGui::SetNextItemWidth(width);
|
ImGui::SetNextItemWidth(width);
|
||||||
if (ImGuiToolkit::ButtonIcon( 0, 14, LABEL_ADD_TIMELINE, true, space > buttons_width_ )) {
|
if (ImGuiToolkit::ButtonIcon( 0, 14, LABEL_PLAYER_TIMELINE_ADD, true, space > buttons_width_ )) {
|
||||||
|
|
||||||
// activate mediaplayer
|
// activate mediaplayer
|
||||||
mediaplayer_active_ = ms->mediaplayer();
|
mediaplayer_active_ = ms->mediaplayer();
|
||||||
|
|||||||
@@ -256,13 +256,17 @@
|
|||||||
#define MENU_PLAY_BEGIN ICON_FA_FAST_BACKWARD " Go to Beginning"
|
#define MENU_PLAY_BEGIN ICON_FA_FAST_BACKWARD " Go to Beginning"
|
||||||
#define SHORTCUT_PLAY_BEGIN CTRL_MOD "B"
|
#define SHORTCUT_PLAY_BEGIN CTRL_MOD "B"
|
||||||
|
|
||||||
#define LABEL_AUTO_MEDIA_PLAYER ICON_FA_USER_CIRCLE " User selection"
|
#define LABEL_PLAYER_SELECTION ICON_FA_USER_CIRCLE " User selection"
|
||||||
#define LABEL_STORE_SELECTION " Create batch"
|
#define LABEL_PLAYER_BATCH ICON_FA_CHECK_CIRCLE " Batch #"
|
||||||
|
#define LABEL_PLAYER_BATCH_ADD " Add batch"
|
||||||
|
#define LABEL_PLAYER_TIMELINE_ADD "Add timeline"
|
||||||
#define LABEL_EDIT_FADING ICON_FA_RANDOM " Edit timeline fading"
|
#define LABEL_EDIT_FADING ICON_FA_RANDOM " Edit timeline fading"
|
||||||
#define LABEL_EDIT_GAPS ICON_FA_CUT " Cut timeline"
|
#define LABEL_EDIT_GAPS ICON_FA_CUT " Cut timeline"
|
||||||
#define LABEL_VIDEO_SEQUENCE " Encode an image sequence"
|
#define LABEL_VIDEO_SEQUENCE " Encode an image sequence"
|
||||||
#define LABEL_ADD_TIMELINE "Add timeline"
|
|
||||||
#define DIALOG_TIMELINE_DURATION ICON_FA_HOURGLASS_HALF " Set timeline duration"
|
#define DIALOG_TIMELINE_DURATION ICON_FA_HOURGLASS_HALF " Set timeline duration"
|
||||||
#define DIALOG_GST_EFFECT "Gstreamer Video effect"
|
#define DIALOG_GST_EFFECT "Gstreamer Video effect"
|
||||||
|
#define LABEL_SHADER_EMBEDDED ICON_FA_FILE_ALT " Embedded code"
|
||||||
|
#define LABEL_SHADER_SAVE ICON_FA_FILE_DOWNLOAD " Save as"
|
||||||
|
#define LABEL_SHADER_ADD ICON_FA_FILE_MEDICAL " Load"
|
||||||
|
|
||||||
#endif // VMIX_DEFINES_H
|
#endif // VMIX_DEFINES_H
|
||||||
|
|||||||
Reference in New Issue
Block a user