diff options
author | David Robillard <d@drobilla.net> | 2020-12-14 22:14:40 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-12-15 00:44:01 +0100 |
commit | 8c854bd336b45db17b48c2101fb2846f84726cdc (patch) | |
tree | f36e7f2f6c0f1785545360e3b0fcadcc97b55a3d /src/server | |
parent | 760035180c1adeb060f1b68a211ba5dd683caddf (diff) | |
download | ingen-8c854bd336b45db17b48c2101fb2846f84726cdc.tar.gz ingen-8c854bd336b45db17b48c2101fb2846f84726cdc.tar.bz2 ingen-8c854bd336b45db17b48c2101fb2846f84726cdc.zip |
Clean up includes in core and server
Diffstat (limited to 'src/server')
64 files changed, 263 insertions, 72 deletions
diff --git a/src/server/ArcImpl.hpp b/src/server/ArcImpl.hpp index f54e806d..3545a177 100644 --- a/src/server/ArcImpl.hpp +++ b/src/server/ArcImpl.hpp @@ -17,16 +17,21 @@ #ifndef INGEN_ENGINE_ARC_IMPL_HPP #define INGEN_ENGINE_ARC_IMPL_HPP +// IWYU pragma: no_include "raul/Path.hpp" + #include "BufferRef.hpp" #include "ingen/Arc.hpp" #include "raul/Noncopyable.hpp" -#include "raul/Path.hpp" #include <boost/intrusive/slist_hook.hpp> #include <cstdint> +namespace Raul { +class Path; // IWYU pragma: keep +} // namespace Raul + namespace ingen { namespace server { diff --git a/src/server/BlockImpl.cpp b/src/server/BlockImpl.cpp index a723547c..cea69976 100644 --- a/src/server/BlockImpl.cpp +++ b/src/server/BlockImpl.cpp @@ -33,9 +33,6 @@ #include <string> namespace ingen { - -class Resource; - namespace server { BlockImpl::BlockImpl(PluginImpl* plugin, diff --git a/src/server/BlockImpl.hpp b/src/server/BlockImpl.hpp index f6c72c8e..293c98c0 100644 --- a/src/server/BlockImpl.hpp +++ b/src/server/BlockImpl.hpp @@ -25,6 +25,7 @@ #include "ingen/Node.hpp" #include "ingen/Properties.hpp" +#include "ingen/Resource.hpp" #include "ingen/URI.hpp" #include "lilv/lilv.h" #include "lv2/urid/urid.h" @@ -43,9 +44,6 @@ class Symbol; } // namespace Raul namespace ingen { - -class Resource; - namespace server { class BufferFactory; diff --git a/src/server/Broadcaster.cpp b/src/server/Broadcaster.cpp index 04fbdba0..6d32db84 100644 --- a/src/server/Broadcaster.cpp +++ b/src/server/Broadcaster.cpp @@ -22,6 +22,7 @@ #include "ingen/Interface.hpp" #include <cstddef> +#include <map> #include <memory> #include <utility> diff --git a/src/server/BufferRef.hpp b/src/server/BufferRef.hpp index 64eab668..958fcb06 100644 --- a/src/server/BufferRef.hpp +++ b/src/server/BufferRef.hpp @@ -19,7 +19,7 @@ #include "ingen/ingen.h" -#include <boost/intrusive_ptr.hpp> +#include <boost/smart_ptr/intrusive_ptr.hpp> // IWYU pragma: export namespace ingen { namespace server { diff --git a/src/server/ClientUpdate.cpp b/src/server/ClientUpdate.cpp index 41a4cd2e..5034257b 100644 --- a/src/server/ClientUpdate.cpp +++ b/src/server/ClientUpdate.cpp @@ -29,9 +29,12 @@ #include "ingen/Node.hpp" #include "ingen/URIs.hpp" +#include <boost/intrusive/slist.hpp> + #include <algorithm> #include <cstddef> #include <cstdint> +#include <map> #include <memory> #include <utility> diff --git a/src/server/CompiledGraph.cpp b/src/server/CompiledGraph.cpp index c353859e..d80780ff 100644 --- a/src/server/CompiledGraph.cpp +++ b/src/server/CompiledGraph.cpp @@ -29,10 +29,13 @@ #include "raul/Maid.hpp" #include "raul/Path.hpp" +#include <boost/intrusive/slist.hpp> + #include <algorithm> #include <cassert> #include <cstdint> #include <cstdio> +#include <exception> #include <limits> #include <utility> diff --git a/src/server/ControlBindings.cpp b/src/server/ControlBindings.cpp index d3425534..8989c90f 100644 --- a/src/server/ControlBindings.cpp +++ b/src/server/ControlBindings.cpp @@ -36,6 +36,8 @@ #include "lv2/urid/urid.h" #include "raul/Path.hpp" +#include <boost/intrusive/bstree.hpp> + #include <algorithm> #include <cmath> #include <cstring> diff --git a/src/server/ControlBindings.hpp b/src/server/ControlBindings.hpp index 26563749..325ca20e 100644 --- a/src/server/ControlBindings.hpp +++ b/src/server/ControlBindings.hpp @@ -22,7 +22,6 @@ #include "lv2/atom/forge.h" #include "raul/Maid.hpp" -#include <boost/intrusive/options.hpp> #include <boost/intrusive/set.hpp> #include <boost/intrusive/set_hook.hpp> @@ -33,6 +32,14 @@ namespace Raul { class Path; } +namespace boost { +namespace intrusive { + +template <class Compare> struct compare; + +} // namespace intrusive +} // namespace boost + namespace ingen { class Atom; diff --git a/src/server/DirectDriver.hpp b/src/server/DirectDriver.hpp index e52b6555..c95912d0 100644 --- a/src/server/DirectDriver.hpp +++ b/src/server/DirectDriver.hpp @@ -18,13 +18,36 @@ #define INGEN_ENGINE_DIRECT_DRIVER_HPP #include "Driver.hpp" +#include "DuplexPort.hpp" #include "Engine.hpp" +#include "EnginePort.hpp" +#include "RunContext.hpp" +#include "types.hpp" + +#include "raul/Path.hpp" #include <boost/intrusive/slist.hpp> +#include <cstddef> +#include <string> + +namespace boost { +namespace intrusive { + +template <bool Enabled> struct cache_last; + +} // namespace intrusive +} // namespace boost + namespace ingen { + +class Atom; +class URI; + namespace server { +class Buffer; + /** Driver for running Ingen directly as a library. * \ingroup engine */ diff --git a/src/server/Driver.hpp b/src/server/Driver.hpp index 92867021..59720882 100644 --- a/src/server/Driver.hpp +++ b/src/server/Driver.hpp @@ -17,18 +17,25 @@ #ifndef INGEN_ENGINE_DRIVER_HPP #define INGEN_ENGINE_DRIVER_HPP -#include "DuplexPort.hpp" -#include "EnginePort.hpp" +#include "types.hpp" +#include "ingen/URI.hpp" #include "raul/Noncopyable.hpp" +#include <cstddef> + namespace Raul { class Path; } namespace ingen { + +class Atom; + namespace server { +class Buffer; class DuplexPort; class EnginePort; +class RunContext; /** Engine driver base class. * diff --git a/src/server/DuplexPort.cpp b/src/server/DuplexPort.cpp index 8c6c72c8..64160954 100644 --- a/src/server/DuplexPort.cpp +++ b/src/server/DuplexPort.cpp @@ -35,6 +35,7 @@ #include <algorithm> #include <map> +#include <memory> #include <utility> namespace ingen { diff --git a/src/server/DuplexPort.hpp b/src/server/DuplexPort.hpp index 9bd88c1e..7f39ae89 100644 --- a/src/server/DuplexPort.hpp +++ b/src/server/DuplexPort.hpp @@ -31,7 +31,6 @@ #include <cstddef> #include <cstdint> -#include <memory> namespace Raul { class Symbol; } diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp index 8cbb8bbf..46d70f25 100644 --- a/src/server/Engine.cpp +++ b/src/server/Engine.cpp @@ -70,6 +70,7 @@ #include <cstdint> #include <cstdio> #include <limits> +#include <map> #include <memory> #include <thread> #include <utility> diff --git a/src/server/EnginePort.hpp b/src/server/EnginePort.hpp index 33e0e29c..c0ec11d2 100644 --- a/src/server/EnginePort.hpp +++ b/src/server/EnginePort.hpp @@ -22,7 +22,9 @@ #include "raul/Deletable.hpp" #include "raul/Noncopyable.hpp" -#include <boost/intrusive/slist.hpp> +#include <boost/intrusive/slist_hook.hpp> + +#include <cstdint> namespace ingen { namespace server { diff --git a/src/server/Event.hpp b/src/server/Event.hpp index 89e6ec1a..d8b3de9b 100644 --- a/src/server/Event.hpp +++ b/src/server/Event.hpp @@ -20,14 +20,21 @@ #include "types.hpp" #include "ingen/Interface.hpp" -#include "ingen/Node.hpp" #include "ingen/Status.hpp" +#include "ingen/URI.hpp" +#include "ingen/paths.hpp" #include "raul/Deletable.hpp" #include "raul/Noncopyable.hpp" -#include "raul/Path.hpp" #include <atomic> +#include <cstdint> #include <memory> +#include <string> +#include <utility> + +namespace Raul { +class Path; +} // namespace Raul namespace ingen { namespace server { diff --git a/src/server/FrameTimer.hpp b/src/server/FrameTimer.hpp index d4ab91f1..8a155777 100644 --- a/src/server/FrameTimer.hpp +++ b/src/server/FrameTimer.hpp @@ -17,7 +17,6 @@ #ifndef INGEN_ENGINE_FRAMETIMER_HPP #define INGEN_ENGINE_FRAMETIMER_HPP -#include <chrono> #include <cmath> #include <cstdint> diff --git a/src/server/GraphImpl.cpp b/src/server/GraphImpl.cpp index 6281681f..15a41a9d 100644 --- a/src/server/GraphImpl.cpp +++ b/src/server/GraphImpl.cpp @@ -41,6 +41,7 @@ #include <cstddef> #include <map> #include <memory> +#include <type_traits> #include <unordered_map> namespace ingen { diff --git a/src/server/GraphImpl.hpp b/src/server/GraphImpl.hpp index 48357f97..e085155f 100644 --- a/src/server/GraphImpl.hpp +++ b/src/server/GraphImpl.hpp @@ -26,16 +26,25 @@ #include "lv2/urid/urid.h" #include "raul/Maid.hpp" +#include <boost/intrusive/slist.hpp> + #include <cassert> #include <cstdint> #include <memory> #include <utility> namespace Raul { -class Maid; class Symbol; } // namespace Raul +namespace boost { +namespace intrusive { + +template <bool Enabled> struct constant_time_size; + +} // namespace intrusive +} // namespace boost + namespace ingen { namespace server { diff --git a/src/server/GraphPlugin.hpp b/src/server/GraphPlugin.hpp index 3ac8ec30..0bd00a65 100644 --- a/src/server/GraphPlugin.hpp +++ b/src/server/GraphPlugin.hpp @@ -19,12 +19,20 @@ #include "PluginImpl.hpp" +#include "ingen/URI.hpp" +#include "ingen/URIs.hpp" +#include "lilv/lilv.h" +#include "raul/Symbol.hpp" + #include <string> namespace ingen { namespace server { class BlockImpl; +class BufferFactory; +class Engine; +class GraphImpl; /** Implementation of a Graph plugin. * diff --git a/src/server/InputPort.cpp b/src/server/InputPort.cpp index 10cc9dd4..d3a1eea1 100644 --- a/src/server/InputPort.cpp +++ b/src/server/InputPort.cpp @@ -35,6 +35,7 @@ #include <cassert> #include <cstdlib> +#include <memory> namespace ingen { namespace server { diff --git a/src/server/InputPort.hpp b/src/server/InputPort.hpp index 20fa84e2..e39c22a5 100644 --- a/src/server/InputPort.hpp +++ b/src/server/InputPort.hpp @@ -17,7 +17,7 @@ #ifndef INGEN_ENGINE_INPUTPORT_HPP #define INGEN_ENGINE_INPUTPORT_HPP -#include "ArcImpl.hpp" +#include "ArcImpl.hpp" // IWYU pragma: keep #include "PortImpl.hpp" #include "PortType.hpp" #include "types.hpp" @@ -25,15 +25,21 @@ #include "lv2/urid/urid.h" #include "raul/Maid.hpp" -#include <boost/intrusive/options.hpp> #include <boost/intrusive/slist.hpp> #include <cstdint> #include <cstdlib> -#include <memory> namespace Raul { class Symbol; } +namespace boost { +namespace intrusive { + +template <bool Enabled> struct constant_time_size; + +} // namespace intrusive +} // namespace boost + namespace ingen { class Atom; diff --git a/src/server/InternalBlock.cpp b/src/server/InternalBlock.cpp index f7072184..7afac475 100644 --- a/src/server/InternalBlock.cpp +++ b/src/server/InternalBlock.cpp @@ -26,6 +26,8 @@ #include "ingen/URIs.hpp" #include "raul/Array.hpp" +#include <boost/smart_ptr/intrusive_ptr.hpp> + #include <cstddef> #include <cstdint> #include <memory> diff --git a/src/server/JackDriver.cpp b/src/server/JackDriver.cpp index 098b0418..434b09c7 100644 --- a/src/server/JackDriver.cpp +++ b/src/server/JackDriver.cpp @@ -36,14 +36,13 @@ #include "ingen/URIMap.hpp" #include "ingen/URIs.hpp" #include "ingen/World.hpp" -#include "ingen/fmt.hpp" -#include "ingen/memory.hpp" #include "lv2/atom/atom.h" #include "lv2/atom/forge.h" #include "lv2/atom/util.h" #include "raul/Path.hpp" #include <jack/midiport.h> +#include <jack/transport.h> #ifdef HAVE_JACK_METADATA #include "jackey.h" @@ -52,18 +51,13 @@ #include <cassert> #include <chrono> -#include <cstdlib> -#include <cstring> -#include <mutex> +#include <map> #include <string> #include <utility> using jack_sample_t = jack_default_audio_sample_t; namespace ingen { - -class Node; - namespace server { JackDriver::JackDriver(Engine& engine) diff --git a/src/server/JackDriver.hpp b/src/server/JackDriver.hpp index 25b666ab..c94cb790 100644 --- a/src/server/JackDriver.hpp +++ b/src/server/JackDriver.hpp @@ -18,23 +18,23 @@ #define INGEN_ENGINE_JACKAUDIODRIVER_HPP #include "Driver.hpp" -#include "EnginePort.hpp" -#include "ingen_config.h" +#include "EnginePort.hpp" // IWYU pragma: keep #include "types.hpp" #include "ingen/URI.hpp" -#include "ingen/memory.hpp" +#include "ingen/memory.hpp" // IWYU pragma: keep #include "lv2/atom/forge.h" #include "raul/Semaphore.hpp" +#include <boost/intrusive/slist.hpp> #include <jack/jack.h> #include <jack/thread.h> -#include <jack/transport.h> #include <jack/types.h> #include <atomic> #include <cstddef> #include <cstdint> +#include <exception> #include <memory> #include <string> @@ -42,6 +42,14 @@ namespace Raul { class Path; } // namespace Raul +namespace boost { +namespace intrusive { + +template <bool Enabled> struct cache_last; + +} // namespace intrusive +} // namespace boost + namespace ingen { class Atom; diff --git a/src/server/LV2Block.cpp b/src/server/LV2Block.cpp index 787488d5..02e0a407 100644 --- a/src/server/LV2Block.cpp +++ b/src/server/LV2Block.cpp @@ -50,6 +50,7 @@ #include <cassert> #include <cmath> #include <cstdint> +#include <map> #include <memory> #include <string> #include <utility> diff --git a/src/server/LV2Block.hpp b/src/server/LV2Block.hpp index ec9c5ac3..0e3e5995 100644 --- a/src/server/LV2Block.hpp +++ b/src/server/LV2Block.hpp @@ -19,6 +19,7 @@ #include "BlockImpl.hpp" #include "BufferRef.hpp" +#include "State.hpp" #include "types.hpp" #include "ingen/LV2Features.hpp" @@ -44,6 +45,18 @@ namespace Raul { class Symbol; } // namespace Raul +namespace boost { +namespace intrusive { + +template <bool Enabled> +struct cache_last; + +template <bool Enabled> +struct constant_time_size; + +} // namespace intrusive +} // namespace boost + namespace ingen { class FilePath; diff --git a/src/server/LV2Options.hpp b/src/server/LV2Options.hpp index d7493276..2ae1c6d7 100644 --- a/src/server/LV2Options.hpp +++ b/src/server/LV2Options.hpp @@ -19,11 +19,19 @@ #include "ingen/LV2Features.hpp" #include "ingen/URIs.hpp" +#include "lv2/core/lv2.h" #include "lv2/options/options.h" +#include <cstdint> +#include <cstdlib> +#include <cstring> #include <memory> namespace ingen { + +class Node; +class World; + namespace server { class LV2Options : public ingen::LV2Features::Feature { diff --git a/src/server/OutputPort.hpp b/src/server/OutputPort.hpp index 0437c367..775e3093 100644 --- a/src/server/OutputPort.hpp +++ b/src/server/OutputPort.hpp @@ -18,10 +18,26 @@ #define INGEN_ENGINE_OUTPUTPORT_HPP #include "PortImpl.hpp" +#include "PortType.hpp" + +#include "lv2/urid/urid.h" + +#include <cstddef> +#include <cstdint> + +namespace Raul { +class Symbol; +} // namespace Raul namespace ingen { + +class Atom; + namespace server { +class BlockImpl; +class BufferFactory; + /** An output port. * * Output ports always have a locally allocated buffer, and buffer() will diff --git a/src/server/PluginImpl.hpp b/src/server/PluginImpl.hpp index e209dbc9..b9e42366 100644 --- a/src/server/PluginImpl.hpp +++ b/src/server/PluginImpl.hpp @@ -17,10 +17,15 @@ #ifndef INGEN_ENGINE_PLUGINIMPL_HPP #define INGEN_ENGINE_PLUGINIMPL_HPP +#include "ingen/Atom.hpp" #include "ingen/Resource.hpp" +#include "ingen/URI.hpp" +#include "lilv/lilv.h" #include "raul/Symbol.hpp" -#include <cstdlib> +#include <map> +#include <string> +#include <utility> namespace ingen { diff --git a/src/server/PortAudioDriver.hpp b/src/server/PortAudioDriver.hpp index 6b259703..971f022a 100644 --- a/src/server/PortAudioDriver.hpp +++ b/src/server/PortAudioDriver.hpp @@ -18,12 +18,13 @@ #define INGEN_ENGINE_PORTAUDIODRIVER_HPP #include "Driver.hpp" -#include "EnginePort.hpp" +#include "EnginePort.hpp" // IWYU pragma: keep #include "types.hpp" #include "ingen/URI.hpp" #include "raul/Semaphore.hpp" +#include <boost/intrusive/slist.hpp> #include <portaudio.h> #include <atomic> @@ -33,6 +34,15 @@ namespace Raul { class Path; } +namespace boost { +namespace intrusive { + +template <bool Enabled> +struct cache_last; + +} // namespace intrusive +} // namespace boost + namespace ingen { class Atom; diff --git a/src/server/PortImpl.cpp b/src/server/PortImpl.cpp index 6ca7b88f..987b6cf7 100644 --- a/src/server/PortImpl.cpp +++ b/src/server/PortImpl.cpp @@ -36,6 +36,7 @@ #include <algorithm> #include <cassert> #include <cstdio> +#include <memory> #include <utility> namespace ingen { diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp index b5e81c5c..954db09c 100644 --- a/src/server/PortImpl.hpp +++ b/src/server/PortImpl.hpp @@ -17,6 +17,7 @@ #ifndef INGEN_ENGINE_PORTIMPL_HPP #define INGEN_ENGINE_PORTIMPL_HPP +#include "BufferFactory.hpp" #include "BufferRef.hpp" #include "NodeImpl.hpp" #include "PortType.hpp" @@ -34,7 +35,6 @@ #include <atomic> #include <cstdint> #include <cstdlib> -#include <memory> #include <utility> namespace Raul { @@ -48,7 +48,6 @@ class Properties; namespace server { class BlockImpl; -class BufferFactory; /** A port (input or output) on a Block. * diff --git a/src/server/PortType.hpp b/src/server/PortType.hpp index c711ad79..f84c271f 100644 --- a/src/server/PortType.hpp +++ b/src/server/PortType.hpp @@ -17,6 +17,8 @@ #ifndef INGEN_INTERFACE_PORTTYPE_HPP #define INGEN_INTERFACE_PORTTYPE_HPP +#include "ingen/URI.hpp" + #include "lv2/atom/atom.h" #include "lv2/core/lv2.h" diff --git a/src/server/PreProcessContext.hpp b/src/server/PreProcessContext.hpp index 2e717c55..dba6cf9d 100644 --- a/src/server/PreProcessContext.hpp +++ b/src/server/PreProcessContext.hpp @@ -24,8 +24,6 @@ #include <unordered_set> -namespace Raul { class Maid; } - namespace ingen { namespace server { @@ -65,7 +63,7 @@ public: * This may return null when an atomic bundle is deferring compilation, in * which case the graph is flagged as dirty for later compilation. */ - Raul::managed_ptr<CompiledGraph> + Raul::Maid::managed_ptr<CompiledGraph> maybe_compile(Raul::Maid& maid, GraphImpl& graph) { if (must_compile(graph)) { diff --git a/src/server/SocketServer.hpp b/src/server/SocketServer.hpp index 76cfa76a..464ef657 100644 --- a/src/server/SocketServer.hpp +++ b/src/server/SocketServer.hpp @@ -21,14 +21,20 @@ #include "Engine.hpp" +#include "ingen/Atom.hpp" +#include "ingen/ColorContext.hpp" #include "ingen/Configuration.hpp" +#include "ingen/Interface.hpp" #include "ingen/SocketReader.hpp" #include "ingen/SocketWriter.hpp" #include "ingen/StreamWriter.hpp" #include "ingen/Tee.hpp" +#include "ingen/URI.hpp" #include "ingen/World.hpp" #include "raul/Socket.hpp" +#include <cstdint> +#include <cstdio> #include <memory> namespace ingen { diff --git a/src/server/State.hpp b/src/server/State.hpp index 8fffabfc..b5a3f7c0 100644 --- a/src/server/State.hpp +++ b/src/server/State.hpp @@ -17,6 +17,10 @@ #ifndef INGEN_ENGINE_STATE_HPP #define INGEN_ENGINE_STATE_HPP +#include "lilv/lilv.h" + +#include <memory> + namespace ingen { namespace server { diff --git a/src/server/Task.hpp b/src/server/Task.hpp index c76f33da..a7657499 100644 --- a/src/server/Task.hpp +++ b/src/server/Task.hpp @@ -17,6 +17,7 @@ #ifndef INGEN_ENGINE_TASK_HPP #define INGEN_ENGINE_TASK_HPP +#include <algorithm> #include <atomic> #include <cassert> #include <deque> diff --git a/src/server/ThreadManager.hpp b/src/server/ThreadManager.hpp index 3619933f..81fb15cb 100644 --- a/src/server/ThreadManager.hpp +++ b/src/server/ThreadManager.hpp @@ -17,8 +17,6 @@ #ifndef INGEN_ENGINE_THREADMANAGER_HPP #define INGEN_ENGINE_THREADMANAGER_HPP -#include "util.hpp" - #include "ingen/ingen.h" #include <cassert> diff --git a/src/server/UndoStack.hpp b/src/server/UndoStack.hpp index 74cb6cfe..7749b8fb 100644 --- a/src/server/UndoStack.hpp +++ b/src/server/UndoStack.hpp @@ -24,6 +24,7 @@ #include "serd/serd.h" #include "sratom/sratom.h" +#include <algorithm> #include <cstdint> #include <cstdio> #include <cstdlib> diff --git a/src/server/events/Connect.cpp b/src/server/events/Connect.cpp index 60c1ce24..234bc550 100644 --- a/src/server/events/Connect.cpp +++ b/src/server/events/Connect.cpp @@ -20,6 +20,7 @@ #include "BlockImpl.hpp" #include "Broadcaster.hpp" #include "BufferFactory.hpp" +#include "CompiledGraph.hpp" #include "Engine.hpp" #include "GraphImpl.hpp" #include "InputPort.hpp" @@ -38,6 +39,7 @@ #include <cassert> #include <memory> #include <mutex> +#include <set> #include <utility> namespace ingen { @@ -55,6 +57,8 @@ Connect::Connect(Engine& engine, { } +Connect::~Connect() = default; + bool Connect::pre_process(PreProcessContext& ctx) { diff --git a/src/server/events/Connect.hpp b/src/server/events/Connect.hpp index ba53b8d3..e9eadff0 100644 --- a/src/server/events/Connect.hpp +++ b/src/server/events/Connect.hpp @@ -17,7 +17,6 @@ #ifndef INGEN_EVENTS_CONNECT_HPP #define INGEN_EVENTS_CONNECT_HPP -#include "CompiledGraph.hpp" #include "Event.hpp" #include "PortImpl.hpp" #include "types.hpp" @@ -35,6 +34,7 @@ class Interface; namespace server { class ArcImpl; +class CompiledGraph; class Engine; class GraphImpl; class InputPort; @@ -55,6 +55,8 @@ public: SampleCount timestamp, const ingen::Connect& msg); + ~Connect() override; + bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; void post_process() override; diff --git a/src/server/events/Copy.cpp b/src/server/events/Copy.cpp index 37211ee8..3f7fa52e 100644 --- a/src/server/events/Copy.cpp +++ b/src/server/events/Copy.cpp @@ -18,6 +18,7 @@ #include "BlockImpl.hpp" #include "Broadcaster.hpp" +#include "CompiledGraph.hpp" #include "Engine.hpp" #include "GraphImpl.hpp" #include "PreProcessContext.hpp" @@ -33,6 +34,9 @@ #include "raul/Path.hpp" #include "raul/Symbol.hpp" +#include <boost/optional/optional.hpp> + +#include <map> #include <memory> #include <mutex> #include <string> @@ -53,6 +57,8 @@ Copy::Copy(Engine& engine, , _block(nullptr) {} +Copy::~Copy() = default; + bool Copy::pre_process(PreProcessContext& ctx) { diff --git a/src/server/events/Copy.hpp b/src/server/events/Copy.hpp index 5cff71c3..b133a6d6 100644 --- a/src/server/events/Copy.hpp +++ b/src/server/events/Copy.hpp @@ -17,7 +17,6 @@ #ifndef INGEN_EVENTS_COPY_HPP #define INGEN_EVENTS_COPY_HPP -#include "CompiledGraph.hpp" #include "Event.hpp" #include "types.hpp" @@ -33,6 +32,7 @@ class Interface; namespace server { class BlockImpl; +class CompiledGraph; class Engine; class GraphImpl; class PreProcessContext; @@ -51,6 +51,8 @@ public: SampleCount timestamp, const ingen::Copy& msg); + ~Copy() override; + bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; void post_process() override; diff --git a/src/server/events/CreateBlock.cpp b/src/server/events/CreateBlock.cpp index 4dc64bdc..4c675f2f 100644 --- a/src/server/events/CreateBlock.cpp +++ b/src/server/events/CreateBlock.cpp @@ -19,11 +19,13 @@ #include "BlockFactory.hpp" #include "BlockImpl.hpp" #include "Broadcaster.hpp" +#include "CompiledGraph.hpp" #include "Engine.hpp" #include "GraphImpl.hpp" #include "LV2Block.hpp" #include "PluginImpl.hpp" #include "PreProcessContext.hpp" +#include "State.hpp" #include "types.hpp" #include "ingen/FilePath.hpp" @@ -38,11 +40,11 @@ #include "ingen/URIs.hpp" #include "ingen/World.hpp" #include "ingen/paths.hpp" -#include "lilv/lilv.h" #include "raul/Maid.hpp" #include "raul/Path.hpp" #include "raul/Symbol.hpp" +#include <map> #include <memory> #include <utility> @@ -66,6 +68,8 @@ CreateBlock::CreateBlock(Engine& engine, , _block(nullptr) {} +CreateBlock::~CreateBlock() = default; + bool CreateBlock::pre_process(PreProcessContext& ctx) { diff --git a/src/server/events/CreateBlock.hpp b/src/server/events/CreateBlock.hpp index 872e4612..3da589c7 100644 --- a/src/server/events/CreateBlock.hpp +++ b/src/server/events/CreateBlock.hpp @@ -18,7 +18,6 @@ #define INGEN_EVENTS_CREATEBLOCK_HPP #include "ClientUpdate.hpp" -#include "CompiledGraph.hpp" #include "Event.hpp" #include "types.hpp" @@ -36,6 +35,7 @@ class Properties; namespace server { class BlockImpl; +class CompiledGraph; class Engine; class GraphImpl; class PreProcessContext; @@ -57,6 +57,8 @@ public: const Raul::Path& path, Properties& properties); + ~CreateBlock() override; + bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; void post_process() override; diff --git a/src/server/events/CreateGraph.cpp b/src/server/events/CreateGraph.cpp index db90c433..e5dbb55b 100644 --- a/src/server/events/CreateGraph.cpp +++ b/src/server/events/CreateGraph.cpp @@ -18,6 +18,7 @@ #include "BlockImpl.hpp" #include "Broadcaster.hpp" +#include "CompiledGraph.hpp" #include "Engine.hpp" #include "GraphImpl.hpp" #include "PreProcessContext.hpp" @@ -39,6 +40,9 @@ #include "raul/Path.hpp" #include "raul/Symbol.hpp" +#include <boost/intrusive/slist.hpp> + +#include <map> #include <memory> #include <utility> @@ -59,6 +63,8 @@ CreateGraph::CreateGraph(Engine& engine, , _parent(nullptr) {} +CreateGraph::~CreateGraph() = default; + void CreateGraph::build_child_events() { diff --git a/src/server/events/CreateGraph.hpp b/src/server/events/CreateGraph.hpp index 2523e4b8..6c49feda 100644 --- a/src/server/events/CreateGraph.hpp +++ b/src/server/events/CreateGraph.hpp @@ -18,7 +18,6 @@ #define INGEN_EVENTS_CREATEGRAPH_HPP #include "ClientUpdate.hpp" -#include "CompiledGraph.hpp" #include "Event.hpp" #include "types.hpp" @@ -36,6 +35,7 @@ class Interface; namespace server { +class CompiledGraph; class Engine; class GraphImpl; class PreProcessContext; @@ -57,6 +57,8 @@ public: const Raul::Path& path, const Properties& properties); + ~CreateGraph() override; + bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; void post_process() override; diff --git a/src/server/events/CreatePort.cpp b/src/server/events/CreatePort.cpp index 7c3b08f3..2b0c00a5 100644 --- a/src/server/events/CreatePort.cpp +++ b/src/server/events/CreatePort.cpp @@ -41,6 +41,7 @@ #include "raul/Symbol.hpp" #include <cassert> +#include <map> #include <memory> #include <utility> diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp index 911ace66..e441f2fe 100644 --- a/src/server/events/Delta.cpp +++ b/src/server/events/Delta.cpp @@ -19,6 +19,7 @@ #include "BlockFactory.hpp" #include "BlockImpl.hpp" #include "Broadcaster.hpp" +#include "CompiledGraph.hpp" #include "ControlBindings.hpp" #include "CreateBlock.hpp" #include "CreateGraph.hpp" @@ -44,9 +45,12 @@ #include "ingen/World.hpp" #include "ingen/memory.hpp" #include "ingen/paths.hpp" +#include "lilv/lilv.h" #include "raul/Maid.hpp" #include "raul/Path.hpp" +#include <algorithm> +#include <map> #include <memory> #include <mutex> #include <set> diff --git a/src/server/events/Delta.hpp b/src/server/events/Delta.hpp index fc4716f2..f28832a2 100644 --- a/src/server/events/Delta.hpp +++ b/src/server/events/Delta.hpp @@ -17,17 +17,15 @@ #ifndef INGEN_EVENTS_DELTA_HPP #define INGEN_EVENTS_DELTA_HPP -#include "BlockImpl.hpp" #include "ClientUpdate.hpp" -#include "CompiledGraph.hpp" #include "ControlBindings.hpp" #include "Event.hpp" +#include "State.hpp" #include "types.hpp" #include "ingen/Properties.hpp" #include "ingen/Resource.hpp" #include "ingen/URI.hpp" -#include "lilv/lilv.h" #include "raul/Maid.hpp" #include <boost/optional/optional.hpp> @@ -45,6 +43,7 @@ struct SetProperty; namespace server { +class CompiledGraph; class Engine; class GraphImpl; class PreProcessContext; diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp index 57a20628..93e271af 100644 --- a/src/server/events/Disconnect.cpp +++ b/src/server/events/Disconnect.cpp @@ -21,6 +21,7 @@ #include "Buffer.hpp" #include "BufferFactory.hpp" #include "BufferRef.hpp" +#include "CompiledGraph.hpp" #include "Engine.hpp" #include "GraphImpl.hpp" #include "InputPort.hpp" @@ -63,6 +64,8 @@ Disconnect::Disconnect(Engine& engine, { } +Disconnect::~Disconnect() = default; + Disconnect::Impl::Impl(Engine& e, GraphImpl* graph, PortImpl* t, diff --git a/src/server/events/Disconnect.hpp b/src/server/events/Disconnect.hpp index 681f1df0..7f8a1594 100644 --- a/src/server/events/Disconnect.hpp +++ b/src/server/events/Disconnect.hpp @@ -17,7 +17,6 @@ #ifndef INGEN_EVENTS_DISCONNECT_HPP #define INGEN_EVENTS_DISCONNECT_HPP -#include "CompiledGraph.hpp" #include "Event.hpp" #include "PortImpl.hpp" #include "types.hpp" @@ -34,6 +33,7 @@ class Interface; namespace server { class ArcImpl; +class CompiledGraph; class Engine; class GraphImpl; class InputPort; @@ -54,6 +54,8 @@ public: SampleCount timestamp, const ingen::Disconnect& msg); + ~Disconnect() override; + bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; void post_process() override; diff --git a/src/server/events/DisconnectAll.cpp b/src/server/events/DisconnectAll.cpp index 43836611..86a38d7b 100644 --- a/src/server/events/DisconnectAll.cpp +++ b/src/server/events/DisconnectAll.cpp @@ -34,6 +34,7 @@ #include "ingen/Store.hpp" #include "raul/Maid.hpp" +#include <map> #include <memory> #include <mutex> #include <set> diff --git a/src/server/events/Mark.cpp b/src/server/events/Mark.cpp index 520f57e9..27ca6630 100644 --- a/src/server/events/Mark.cpp +++ b/src/server/events/Mark.cpp @@ -27,6 +27,7 @@ #include <cassert> #include <memory> +#include <unordered_set> #include <utility> namespace ingen { @@ -51,6 +52,8 @@ Mark::Mark(Engine& engine, , _depth(-1) {} +Mark::~Mark() = default; + void Mark::mark(PreProcessContext&) { diff --git a/src/server/events/Mark.hpp b/src/server/events/Mark.hpp index ffbf9062..e651b1e7 100644 --- a/src/server/events/Mark.hpp +++ b/src/server/events/Mark.hpp @@ -61,6 +61,8 @@ public: SampleCount timestamp, const ingen::BundleEnd& msg); + ~Mark() override; + void mark(PreProcessContext& ctx) override; bool pre_process(PreProcessContext& ctx) override; void execute(RunContext& ctx) override; diff --git a/src/server/events/Move.cpp b/src/server/events/Move.cpp index b79dde2a..d85451c8 100644 --- a/src/server/events/Move.cpp +++ b/src/server/events/Move.cpp @@ -24,6 +24,7 @@ #include "ingen/Store.hpp" #include "raul/Path.hpp" +#include <map> #include <memory> #include <mutex> diff --git a/src/server/ingen_engine.cpp b/src/server/ingen_engine.cpp index dbcc2597..a5735f33 100644 --- a/src/server/ingen_engine.cpp +++ b/src/server/ingen_engine.cpp @@ -14,6 +14,8 @@ along with Ingen. If not, see <http://www.gnu.org/licenses/>. */ +// IWYU pragma: no_include "ingen/Atom.hpp" + #include "Engine.hpp" #include "util.hpp" diff --git a/src/server/ingen_jack.cpp b/src/server/ingen_jack.cpp index ebdb96ae..97d72919 100644 --- a/src/server/ingen_jack.cpp +++ b/src/server/ingen_jack.cpp @@ -14,7 +14,6 @@ along with Ingen. If not, see <http://www.gnu.org/licenses/>. */ -#include "BufferRef.hpp" #include "Engine.hpp" #include "JackDriver.hpp" diff --git a/src/server/ingen_lv2.cpp b/src/server/ingen_lv2.cpp index faff3a1c..97b6a18c 100644 --- a/src/server/ingen_lv2.cpp +++ b/src/server/ingen_lv2.cpp @@ -75,9 +75,12 @@ #include <vector> namespace ingen { + +class Atom; + namespace server { -class LV2Driver; +class GraphImpl; /** Record of a graph in this bundle. */ struct LV2Graph : public Parser::ResourceRecord { @@ -563,7 +566,7 @@ ingen_instantiate(const LV2_Descriptor* descriptor, "queue-size", plugin->world->forge().make(std::max(block_length, seq_size) * 4)); - auto engine = std::make_shared<server::Engine>(*plugin->world); + auto engine = std::make_shared<Engine>(*plugin->world); plugin->engine = engine; plugin->world->set_engine(engine); @@ -571,14 +574,14 @@ ingen_instantiate(const LV2_Descriptor* descriptor, plugin->world->set_interface(interface); - server::ThreadManager::set_flag(server::THREAD_PRE_PROCESS); - server::ThreadManager::single_threaded = true; + ThreadManager::set_flag(THREAD_PRE_PROCESS); + ThreadManager::single_threaded = true; auto* driver = new LV2Driver(*engine, block_length, seq_size, rate); - engine->set_driver(std::shared_ptr<ingen::server::Driver>(driver)); + engine->set_driver(std::shared_ptr<Driver>(driver)); engine->activate(); - server::ThreadManager::single_threaded = true; + ThreadManager::single_threaded = true; std::lock_guard<std::mutex> lock(plugin->world->rdf_mutex()); @@ -613,9 +616,9 @@ ingen_instantiate(const LV2_Descriptor* descriptor, static void ingen_connect_port(LV2_Handle instance, uint32_t port, void* data) { - auto* me = static_cast<IngenPlugin*>(instance); - server::Engine* engine = static_cast<server::Engine*>(me->world->engine().get()); - const auto driver = std::static_pointer_cast<LV2Driver>(engine->driver()); + auto* me = static_cast<IngenPlugin*>(instance); + Engine* engine = static_cast<Engine*>(me->world->engine().get()); + const auto driver = std::static_pointer_cast<LV2Driver>(engine->driver()); if (port < driver->ports().size()) { driver->ports().at(port)->set_buffer(data); } else { @@ -627,7 +630,7 @@ static void ingen_activate(LV2_Handle instance) { auto* me = static_cast<IngenPlugin*>(instance); - auto engine = std::static_pointer_cast<server::Engine>(me->world->engine()); + auto engine = std::static_pointer_cast<Engine>(me->world->engine()); const auto driver = std::static_pointer_cast<LV2Driver>(engine->driver()); engine->activate(); me->main = make_unique<std::thread>(ingen_lv2_main, engine, driver); @@ -637,11 +640,11 @@ static void ingen_run(LV2_Handle instance, uint32_t sample_count) { auto* me = static_cast<IngenPlugin*>(instance); - auto engine = std::static_pointer_cast<server::Engine>(me->world->engine()); + auto engine = std::static_pointer_cast<Engine>(me->world->engine()); const auto driver = std::static_pointer_cast<LV2Driver>(engine->driver()); - server::ThreadManager::set_flag(ingen::server::THREAD_PROCESS); - server::ThreadManager::set_flag(ingen::server::THREAD_IS_REAL_TIME); + ThreadManager::set_flag(THREAD_PROCESS); + ThreadManager::set_flag(THREAD_IS_REAL_TIME); driver->run(sample_count); } diff --git a/src/server/ingen_portaudio.cpp b/src/server/ingen_portaudio.cpp index d27d26c3..991470e4 100644 --- a/src/server/ingen_portaudio.cpp +++ b/src/server/ingen_portaudio.cpp @@ -14,6 +14,8 @@ along with Ingen. If not, see <http://www.gnu.org/licenses/>. */ +// IWYU pragma: no_include "ingen/FilePath.hpp" + #include "PortAudioDriver.hpp" #include "Engine.hpp" diff --git a/src/server/internals/Note.cpp b/src/server/internals/Note.cpp index d2e03a56..317e7951 100644 --- a/src/server/internals/Note.cpp +++ b/src/server/internals/Note.cpp @@ -39,6 +39,7 @@ #include <cassert> #include <cmath> +#include <memory> #include <utility> // #define NOTE_DEBUG 1 diff --git a/src/server/internals/Note.hpp b/src/server/internals/Note.hpp index 945ae99c..d0e9341a 100644 --- a/src/server/internals/Note.hpp +++ b/src/server/internals/Note.hpp @@ -24,7 +24,6 @@ #include "raul/Maid.hpp" #include <cstdint> -#include <memory> namespace Raul { class Symbol; diff --git a/src/server/util.hpp b/src/server/util.hpp index 8c181023..3c8d2058 100644 --- a/src/server/util.hpp +++ b/src/server/util.hpp @@ -17,18 +17,12 @@ #ifndef INGEN_ENGINE_UTIL_HPP #define INGEN_ENGINE_UTIL_HPP -#include "ingen_config.h" - #include "ingen/Log.hpp" -#include "raul/Path.hpp" #ifdef __SSE__ -#include <xmmintrin.h> +#include <xmmintrin.h> // IWYU pragma: keep #endif -#include <cfenv> -#include <cstdlib> - #ifdef __clang__ # define REALTIME __attribute__((annotate("realtime"))) #else |