diff --git a/app/main.cpp b/app/main.cpp index 93b758815..e049b1415 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -26,6 +26,11 @@ * Use the navigation above to find documentation on classes or source files. */ +extern "C" { +#include +#include +} + #include #include @@ -51,6 +56,14 @@ int main(int argc, char *argv[]) { format.setProfile(QSurfaceFormat::CoreProfile); QSurfaceFormat::setDefaultFormat(format); + // Register FFmpeg codecs and filters (deprecated in 4.0+) +#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(58, 9, 100) + av_register_all(); +#endif +#if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(7, 14, 100) + avfilter_register_all(); +#endif + // Start core olive::core.Start(); diff --git a/app/tool/tool.h b/app/tool/tool.h index 01b189393..079a9839f 100644 --- a/app/tool/tool.h +++ b/app/tool/tool.h @@ -41,6 +41,9 @@ enum Tool { /// Ripple tool kRipple, + /// Rolling tool + kRolling, + /// Razor tool kRazor, diff --git a/app/ui/icons/icons.cpp b/app/ui/icons/icons.cpp index 9bb126603..3fe21f526 100644 --- a/app/ui/icons/icons.cpp +++ b/app/ui/icons/icons.cpp @@ -47,6 +47,7 @@ QIcon olive::icon::IconView; QIcon olive::icon::ToolPointer; QIcon olive::icon::ToolEdit; QIcon olive::icon::ToolRipple; +QIcon olive::icon::ToolRolling; QIcon olive::icon::ToolRazor; QIcon olive::icon::ToolSlip; QIcon olive::icon::ToolSlide; @@ -85,6 +86,7 @@ void olive::icon::LoadAll() ToolPointer = Create("arrow"); ToolEdit = Create("beam"); ToolRipple = Create("ripple"); + ToolRolling = Create("rolling"); ToolRazor = Create("razor"); ToolSlip = Create("slip"); ToolSlide = Create("slide"); diff --git a/app/ui/icons/icons.h b/app/ui/icons/icons.h index b8aedb780..df362e44d 100644 --- a/app/ui/icons/icons.h +++ b/app/ui/icons/icons.h @@ -48,6 +48,7 @@ extern QIcon IconView; extern QIcon ToolPointer; extern QIcon ToolEdit; extern QIcon ToolRipple; +extern QIcon ToolRolling; extern QIcon ToolRazor; extern QIcon ToolSlip; extern QIcon ToolSlide; diff --git a/app/widget/toolbar/toolbar.cpp b/app/widget/toolbar/toolbar.cpp index d26075872..6b46b7840 100644 --- a/app/widget/toolbar/toolbar.cpp +++ b/app/widget/toolbar/toolbar.cpp @@ -37,6 +37,7 @@ Toolbar::Toolbar(QWidget *parent) : btn_pointer_tool_ = CreateToolButton(olive::icon::ToolPointer, olive::tool::kPointer); btn_edit_tool_ = CreateToolButton(olive::icon::ToolEdit, olive::tool::kEdit); btn_ripple_tool_ = CreateToolButton(olive::icon::ToolRipple, olive::tool::kRipple); + btn_rolling_tool_ = CreateToolButton(olive::icon::ToolRolling, olive::tool::kRolling); btn_razor_tool_ = CreateToolButton(olive::icon::ToolRazor, olive::tool::kRazor); btn_slip_tool_ = CreateToolButton(olive::icon::ToolSlip, olive::tool::kSlip); btn_slide_tool_ = CreateToolButton(olive::icon::ToolSlide, olive::tool::kSlide); @@ -82,6 +83,7 @@ void Toolbar::Retranslate() btn_pointer_tool_->setToolTip(tr("Pointer Tool")); btn_edit_tool_->setToolTip(tr("Edit Tool")); btn_ripple_tool_->setToolTip(tr("Ripple Tool")); + btn_rolling_tool_->setToolTip(tr("Rolling Tool")); btn_razor_tool_->setToolTip(tr("Razor Tool")); btn_slip_tool_->setToolTip(tr("Slip Tool")); btn_slide_tool_->setToolTip(tr("Slide Tool")); diff --git a/app/widget/toolbar/toolbar.h b/app/widget/toolbar/toolbar.h index 2cd7ae997..5ef9d2fdd 100644 --- a/app/widget/toolbar/toolbar.h +++ b/app/widget/toolbar/toolbar.h @@ -156,6 +156,7 @@ private: ToolbarButton* btn_pointer_tool_; ToolbarButton* btn_edit_tool_; ToolbarButton* btn_ripple_tool_; + ToolbarButton* btn_rolling_tool_; ToolbarButton* btn_razor_tool_; ToolbarButton* btn_slip_tool_; ToolbarButton* btn_slide_tool_; diff --git a/app/window/mainwindow/mainmenu.cpp b/app/window/mainwindow/mainmenu.cpp index 837a9a9d0..85bd9fd66 100644 --- a/app/window/mainwindow/mainmenu.cpp +++ b/app/window/mainwindow/mainmenu.cpp @@ -222,6 +222,11 @@ MainMenu::MainMenu(QWidget *parent) : tools_ripple_item_->setData(olive::tool::kRipple); tools_group->addAction(tools_ripple_item_); + tools_rolling_item_ = tools_menu_->AddItem("rollingtool", this, SLOT(ToolItemTriggered()), "N"); + tools_rolling_item_->setCheckable(true); + tools_rolling_item_->setData(olive::tool::kRolling); + tools_group->addAction(tools_rolling_item_); + tools_razor_item_ = tools_menu_->AddItem("razortool", this, SLOT(ToolItemTriggered()), "C"); tools_razor_item_->setCheckable(true); tools_razor_item_->setData(olive::tool::kRazor); diff --git a/app/window/mainwindow/mainmenu.h b/app/window/mainwindow/mainmenu.h index 538ecbc14..373ea049e 100644 --- a/app/window/mainwindow/mainmenu.h +++ b/app/window/mainwindow/mainmenu.h @@ -130,6 +130,7 @@ private: QAction* tools_pointer_item_; QAction* tools_edit_item_; QAction* tools_ripple_item_; + QAction* tools_rolling_item_; QAction* tools_razor_item_; QAction* tools_slip_item_; QAction* tools_slide_item_;