diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f6589b..69405b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,6 +239,8 @@ set_target_properties(utf8proc PROPERTIES FOLDER lib)
# Define Rhubarb libraries
+include_directories("src")
+
# ... rhubarb-animation
add_library(rhubarb-animation
src/animation/animationRules.cpp
@@ -261,7 +263,7 @@ add_library(rhubarb-animation
src/animation/tweening.cpp
src/animation/tweening.h
)
-target_include_directories(rhubarb-animation PUBLIC "src/animation")
+target_include_directories(rhubarb-animation PRIVATE "src/animation")
target_link_libraries(rhubarb-animation
rhubarb-core
rhubarb-logging
@@ -288,7 +290,7 @@ add_library(rhubarb-audio
src/audio/waveFileWriting.cpp
src/audio/waveFileWriting.h
)
-target_include_directories(rhubarb-audio PUBLIC "src/audio")
+target_include_directories(rhubarb-audio PRIVATE "src/audio")
target_link_libraries(rhubarb-audio
webRtc
rhubarb-logging
@@ -306,7 +308,7 @@ add_library(rhubarb-core
src/core/Shape.cpp
src/core/Shape.h
)
-target_include_directories(rhubarb-core PUBLIC "src/core")
+target_include_directories(rhubarb-core PRIVATE "src/core")
target_link_libraries(rhubarb-core
rhubarb-tools
)
@@ -323,7 +325,7 @@ add_library(rhubarb-exporters
src/exporters/XmlExporter.cpp
src/exporters/XmlExporter.h
)
-target_include_directories(rhubarb-exporters PUBLIC "src/exporters")
+target_include_directories(rhubarb-exporters PRIVATE "src/exporters")
target_link_libraries(rhubarb-exporters
rhubarb-animation
rhubarb-core
@@ -335,7 +337,7 @@ add_library(rhubarb-lib
src/lib/rhubarbLib.cpp
src/lib/rhubarbLib.h
)
-target_include_directories(rhubarb-lib PUBLIC "src/lib")
+target_include_directories(rhubarb-lib PRIVATE "src/lib")
target_link_libraries(rhubarb-lib
rhubarb-animation
rhubarb-audio
@@ -347,10 +349,20 @@ target_link_libraries(rhubarb-lib
# ... rhubarb-logging
add_library(rhubarb-logging
+ src/logging/Entry.cpp
+ src/logging/Entry.h
+ src/logging/Formatter.h
+ src/logging/formatters.cpp
+ src/logging/formatters.h
+ src/logging/Level.cpp
+ src/logging/Level.h
src/logging/logging.cpp
src/logging/logging.h
+ src/logging/Sink.h
+ src/logging/sinks.cpp
+ src/logging/sinks.h
)
-target_include_directories(rhubarb-logging PUBLIC "src/logging")
+target_include_directories(rhubarb-logging PRIVATE "src/logging")
target_link_libraries(rhubarb-logging
rhubarb-tools
)
@@ -366,7 +378,7 @@ add_library(rhubarb-recognition
src/recognition/tokenization.cpp
src/recognition/tokenization.h
)
-target_include_directories(rhubarb-recognition PUBLIC "src/recognition")
+target_include_directories(rhubarb-recognition PRIVATE "src/recognition")
target_link_libraries(rhubarb-recognition
flite
pocketSphinx
@@ -387,7 +399,7 @@ add_library(rhubarb-time
src/time/TimeRange.cpp
src/time/TimeRange.h
)
-target_include_directories(rhubarb-time PUBLIC "src/time")
+target_include_directories(rhubarb-time PRIVATE "src/time")
target_link_libraries(rhubarb-time
cppFormat
rhubarb-logging
@@ -420,7 +432,7 @@ add_library(rhubarb-tools
src/tools/tools.h
src/tools/tupleHash.h
)
-target_include_directories(rhubarb-tools PUBLIC "src/tools")
+target_include_directories(rhubarb-tools PRIVATE "src/tools")
target_link_libraries(rhubarb-tools
cppFormat
whereami
@@ -430,11 +442,11 @@ target_link_libraries(rhubarb-tools
# Define Rhubarb executable
add_executable(rhubarb
- src/main.cpp
- src/ExportFormat.cpp
- src/ExportFormat.h
+ src/rhubarb/main.cpp
+ src/rhubarb/ExportFormat.cpp
+ src/rhubarb/ExportFormat.h
)
-target_include_directories(rhubarb PUBLIC "src")
+target_include_directories(rhubarb PUBLIC "src/rhubarb")
target_link_libraries(rhubarb
rhubarb-exporters
rhubarb-lib
diff --git a/resharper.DotSettings b/resharper.DotSettings
new file mode 100644
index 0000000..6af058d
--- /dev/null
+++ b/resharper.DotSettings
@@ -0,0 +1,87 @@
+
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ NONE
+ END_OF_LINE
+ NEXT_LINE
+ TOGETHER
+ True
+ END_OF_LINE
+ END_OF_LINE
+ END_OF_LINE
+ False
+ False
+ True
+ False
+ ON_SINGLE_LINE
+ True
+ False
+ END_OF_LINE
+ CHOP_ALWAYS
+ <NamingElement Priority="10"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="class field" /><type Name="struct field" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="_" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="9"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="member function" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="11"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="PUBLIC"><type Name="class field" /><type Name="struct field" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="1"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="__interface" /><type Name="class" /><type Name="struct" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <NamingElement Priority="13"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="enumerator" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <NamingElement Priority="2"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="enum" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <NamingElement Priority="15"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="True" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="global variable" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="8"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="global function" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="7"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="global variable" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="6"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="local variable" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="16"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="namespace" /><type Name="namespace alias" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="14"><Descriptor Static="True" Constexpr="Indeterminate" Const="True" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="class field" /><type Name="local variable" /><type Name="struct field" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="5"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="parameter" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="4"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="template parameter" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <NamingElement Priority="17"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="type alias" /><type Name="typedef" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <NamingElement Priority="12"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="union member" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /></NamingElement>
+ <NamingElement Priority="3"><Descriptor Static="Indeterminate" Constexpr="Indeterminate" Const="Indeterminate" Volatile="Indeterminate" Accessibility="NOT_APPLICABLE"><type Name="union" /></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /></NamingElement>
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ True
+ True
+
\ No newline at end of file
diff --git a/src/animation/ShapeRule.cpp b/src/animation/ShapeRule.cpp
index eec8cf3..e9b98c0 100644
--- a/src/animation/ShapeRule.cpp
+++ b/src/animation/ShapeRule.cpp
@@ -1,6 +1,6 @@
#include "ShapeRule.h"
#include
-#include "ContinuousTimeline.h"
+#include "time/ContinuousTimeline.h"
using boost::optional;
using boost::adaptors::transformed;
diff --git a/src/animation/ShapeRule.h b/src/animation/ShapeRule.h
index dc42fd3..acb0a08 100644
--- a/src/animation/ShapeRule.h
+++ b/src/animation/ShapeRule.h
@@ -1,9 +1,10 @@
#pragma once
-#include "Phone.h"
+#include "core/Phone.h"
#include "animationRules.h"
-#include "BoundedTimeline.h"
-#include "ContinuousTimeline.h"
+#include "time/BoundedTimeline.h"
+#include "time/ContinuousTimeline.h"
+#include "time/TimeRange.h"
struct ShapeRule {
ShapeSet shapeSet;
diff --git a/src/animation/animationRules.cpp b/src/animation/animationRules.cpp
index d9b77b5..4bef2e5 100644
--- a/src/animation/animationRules.cpp
+++ b/src/animation/animationRules.cpp
@@ -1,8 +1,8 @@
#include "animationRules.h"
#include
#include "shapeShorthands.h"
-#include "array.h"
-#include "ContinuousTimeline.h"
+#include "tools/array.h"
+#include "time/ContinuousTimeline.h"
using std::chrono::duration_cast;
using boost::algorithm::clamp;
diff --git a/src/animation/animationRules.h b/src/animation/animationRules.h
index c11ebab..e3a3b36 100644
--- a/src/animation/animationRules.h
+++ b/src/animation/animationRules.h
@@ -1,9 +1,9 @@
#pragma once
#include
-#include "Shape.h"
-#include "Timeline.h"
-#include "Phone.h"
+#include "core/Shape.h"
+#include "time/Timeline.h"
+#include "core/Phone.h"
// Returns the basic shape (A-F) that most closely resembles the specified shape.
Shape getBasicShape(Shape shape);
diff --git a/src/animation/mouthAnimation.cpp b/src/animation/mouthAnimation.cpp
index 5ff7855..30add4c 100644
--- a/src/animation/mouthAnimation.cpp
+++ b/src/animation/mouthAnimation.cpp
@@ -1,5 +1,5 @@
#include "mouthAnimation.h"
-#include "timedLogging.h"
+#include "time/timedLogging.h"
#include "ShapeRule.h"
#include "roughAnimation.h"
#include "pauseAnimation.h"
diff --git a/src/animation/mouthAnimation.h b/src/animation/mouthAnimation.h
index 07b0fce..f001d4a 100644
--- a/src/animation/mouthAnimation.h
+++ b/src/animation/mouthAnimation.h
@@ -1,8 +1,8 @@
#pragma once
-#include "Phone.h"
-#include "Shape.h"
-#include "ContinuousTimeline.h"
+#include "core/Phone.h"
+#include "core/Shape.h"
+#include "time/ContinuousTimeline.h"
#include "targetShapeSet.h"
JoiningContinuousTimeline animate(const BoundedTimeline& phones, const ShapeSet& targetShapeSet);
diff --git a/src/animation/pauseAnimation.h b/src/animation/pauseAnimation.h
index eb28bae..9fd6066 100644
--- a/src/animation/pauseAnimation.h
+++ b/src/animation/pauseAnimation.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Shape.h"
-#include "ContinuousTimeline.h"
+#include "core/Shape.h"
+#include "time/ContinuousTimeline.h"
// Takes an existing animation and modifies the pauses (X shapes) to look better.
JoiningContinuousTimeline animatePauses(const JoiningContinuousTimeline& animation);
diff --git a/src/animation/shapeShorthands.h b/src/animation/shapeShorthands.h
index 2758cf9..3ebd08c 100644
--- a/src/animation/shapeShorthands.h
+++ b/src/animation/shapeShorthands.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Shape.h"
+#include "core/Shape.h"
constexpr Shape A = Shape::A;
constexpr Shape B = Shape::B;
diff --git a/src/animation/staticSegments.cpp b/src/animation/staticSegments.cpp
index 2225612..33ca391 100644
--- a/src/animation/staticSegments.cpp
+++ b/src/animation/staticSegments.cpp
@@ -1,7 +1,7 @@
#include "staticSegments.h"
#include
#include
-#include "nextCombination.h"
+#include "tools/nextCombination.h"
using std::vector;
using boost::optional;
diff --git a/src/animation/staticSegments.h b/src/animation/staticSegments.h
index cd7f471..5b8ff68 100644
--- a/src/animation/staticSegments.h
+++ b/src/animation/staticSegments.h
@@ -1,7 +1,7 @@
#pragma once
-#include "Shape.h"
-#include "ContinuousTimeline.h"
+#include "core/Shape.h"
+#include "time/ContinuousTimeline.h"
#include "ShapeRule.h"
#include
diff --git a/src/animation/targetShapeSet.h b/src/animation/targetShapeSet.h
index 67bc65d..0725114 100644
--- a/src/animation/targetShapeSet.h
+++ b/src/animation/targetShapeSet.h
@@ -1,6 +1,6 @@
#pragma once
-#include "Shape.h"
+#include "core/Shape.h"
#include "ShapeRule.h"
// Returns the closest shape to the specified one that occurs in the target shape set.
diff --git a/src/animation/timingOptimization.cpp b/src/animation/timingOptimization.cpp
index 3df6ed5..b9ccd55 100644
--- a/src/animation/timingOptimization.cpp
+++ b/src/animation/timingOptimization.cpp
@@ -1,5 +1,5 @@
#include "timingOptimization.h"
-#include "timedLogging.h"
+#include "time/timedLogging.h"
#include
#include