diff --git a/app/panel/CMakeLists.txt b/app/panel/CMakeLists.txt
index b9c212e66..aa33c11c6 100644
--- a/app/panel/CMakeLists.txt
+++ b/app/panel/CMakeLists.txt
@@ -15,6 +15,7 @@
# along with this program. If not, see .
add_subdirectory(audiomonitor)
+add_subdirectory(curve)
add_subdirectory(node)
add_subdirectory(param)
add_subdirectory(project)
diff --git a/app/panel/curve/CMakeLists.txt b/app/panel/curve/CMakeLists.txt
new file mode 100644
index 000000000..0831df991
--- /dev/null
+++ b/app/panel/curve/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Olive - Non-Linear Video Editor
+# Copyright (C) 2019 Olive Team
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+set(OLIVE_SOURCES
+ ${OLIVE_SOURCES}
+ panel/curve/curve.h
+ panel/curve/curve.cpp
+ PARENT_SCOPE
+)
diff --git a/app/panel/curve/curve.cpp b/app/panel/curve/curve.cpp
new file mode 100644
index 000000000..48223f277
--- /dev/null
+++ b/app/panel/curve/curve.cpp
@@ -0,0 +1,24 @@
+#include "curve.h"
+
+CurvePanel::CurvePanel(QWidget *parent) :
+ PanelWidget(parent)
+{
+ // FIXME: This won't work if there's ever more than one of this panel
+ setObjectName("CurvePanel");
+
+ // Set strings
+ Retranslate();
+}
+
+void CurvePanel::changeEvent(QEvent *e)
+{
+ if (e->type() == QEvent::LanguageChange) {
+ Retranslate();
+ }
+ PanelWidget::changeEvent(e);
+}
+
+void CurvePanel::Retranslate()
+{
+ SetTitle(tr("Curve Editor"));
+}
diff --git a/app/panel/curve/curve.h b/app/panel/curve/curve.h
new file mode 100644
index 000000000..d793b610d
--- /dev/null
+++ b/app/panel/curve/curve.h
@@ -0,0 +1,19 @@
+#ifndef CURVEPANEL_H
+#define CURVEPANEL_H
+
+#include "widget/panel/panel.h"
+
+class CurvePanel : public PanelWidget
+{
+public:
+ CurvePanel(QWidget* parent);
+
+protected:
+ virtual void changeEvent(QEvent* e) override;
+
+private:
+ void Retranslate();
+
+};
+
+#endif // CURVEPANEL_H
diff --git a/app/widget/curveview/curveview.cpp b/app/widget/curveview/curveview.cpp
new file mode 100644
index 000000000..dfa49d5c3
--- /dev/null
+++ b/app/widget/curveview/curveview.cpp
@@ -0,0 +1,6 @@
+#include "curveview.h"
+
+CurveView::CurveView()
+{
+
+}
diff --git a/app/widget/curveview/curveview.h b/app/widget/curveview/curveview.h
new file mode 100644
index 000000000..757b240dd
--- /dev/null
+++ b/app/widget/curveview/curveview.h
@@ -0,0 +1,11 @@
+#ifndef CURVEVIEW_H
+#define CURVEVIEW_H
+
+
+class CurveView
+{
+public:
+ CurveView();
+};
+
+#endif // CURVEVIEW_H
diff --git a/app/widget/curvewidget/curveview.cpp b/app/widget/curvewidget/curveview.cpp
new file mode 100644
index 000000000..dfa49d5c3
--- /dev/null
+++ b/app/widget/curvewidget/curveview.cpp
@@ -0,0 +1,6 @@
+#include "curveview.h"
+
+CurveView::CurveView()
+{
+
+}
diff --git a/app/widget/curvewidget/curveview.h b/app/widget/curvewidget/curveview.h
new file mode 100644
index 000000000..757b240dd
--- /dev/null
+++ b/app/widget/curvewidget/curveview.h
@@ -0,0 +1,11 @@
+#ifndef CURVEVIEW_H
+#define CURVEVIEW_H
+
+
+class CurveView
+{
+public:
+ CurveView();
+};
+
+#endif // CURVEVIEW_H