summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.clant.json4
-rw-r--r--.includes.imp13
-rw-r--r--src/AlsaDriver.cpp8
-rw-r--r--src/AudioDriver.hpp1
-rw-r--r--src/Canvas.cpp19
-rw-r--r--src/Canvas.hpp17
-rw-r--r--src/CanvasModule.cpp22
-rw-r--r--src/CanvasModule.hpp9
-rw-r--r--src/CanvasPort.hpp18
-rw-r--r--src/Configuration.cpp1
-rw-r--r--src/Configuration.hpp2
-rw-r--r--src/Connector.cpp1
-rw-r--r--src/Driver.hpp2
-rw-r--r--src/Event.hpp2
-rw-r--r--src/JackLibDriver.cpp8
-rw-r--r--src/Legend.cpp7
-rw-r--r--src/Legend.hpp12
-rw-r--r--src/Metadata.cpp4
-rw-r--r--src/Metadata.hpp2
-rw-r--r--src/Patchage.cpp55
-rw-r--r--src/Patchage.hpp57
-rw-r--r--src/PortID.hpp2
-rw-r--r--src/PortInfo.hpp2
-rw-r--r--src/TextViewLog.cpp8
-rw-r--r--src/TextViewLog.hpp15
-rw-r--r--src/UIFile.hpp2
-rw-r--r--src/Widget.hpp3
-rw-r--r--src/event_to_string.cpp18
-rw-r--r--src/handle_event.cpp10
-rw-r--r--src/main.cpp5
-rw-r--r--src/make_jack_driver.hpp3
-rw-r--r--wscript2
32 files changed, 265 insertions, 69 deletions
diff --git a/.clant.json b/.clant.json
new file mode 100644
index 0000000..53ac5a9
--- /dev/null
+++ b/.clant.json
@@ -0,0 +1,4 @@
+{
+ "version": "1.0.0",
+ "mapping_files": ["boost-all.imp", ".includes.imp"]
+}
diff --git a/.includes.imp b/.includes.imp
new file mode 100644
index 0000000..2cce0cf
--- /dev/null
+++ b/.includes.imp
@@ -0,0 +1,13 @@
+[
+ { "symbol": [ "fmt::format", "private", "<fmt/core.h>", "public" ] },
+ { "symbol": [ "std::exception", "private", "<exception>", "public" ] },
+ { "symbol": [ "std::ifstream", "private", "<fstream>", "public" ] },
+ { "symbol": [ "std::ofstream", "private", "<fstream>", "public" ] },
+ { "symbol": [ "std::ostream", "private", "<ostream>", "public" ] },
+ { "symbol": [ "std::ostream", "private", "<iosfwd>", "public" ] },
+ { "symbol": [ "std::stringstream", "private", "<sstream>", "public" ] },
+ { "include": [ "<alsa/error.h>", "public", "<alsa/asoundlib.h>", "public", ] },
+ { "include": [ "<alsa/seq.h>", "public", "<alsa/asoundlib.h>", "public", ] },
+ { "include": [ "<alsa/seq_event.h>", "public", "<alsa/asoundlib.h>", "public", ] },
+ { "include": [ "<alsa/seqmid.h>", "public", "<alsa/asoundlib.h>", "public", ] }
+]
diff --git a/src/AlsaDriver.cpp b/src/AlsaDriver.cpp
index c471efe..c1d2531 100644
--- a/src/AlsaDriver.cpp
+++ b/src/AlsaDriver.cpp
@@ -20,7 +20,9 @@
#include "ClientInfo.hpp"
#include "ClientType.hpp"
#include "Driver.hpp"
+#include "Event.hpp"
#include "ILog.hpp"
+#include "PortID.hpp"
#include "PortInfo.hpp"
#include "PortType.hpp"
#include "SignalDirection.hpp"
@@ -34,8 +36,14 @@ PATCHAGE_RESTORE_WARNINGS
#include <alsa/asoundlib.h>
#include <pthread.h>
+#include <boost/optional/optional.hpp>
+
#include <cassert>
+#include <cstdint>
+#include <functional>
+#include <iosfwd>
#include <limits>
+#include <memory>
#include <set>
#include <string>
#include <utility>
diff --git a/src/AudioDriver.hpp b/src/AudioDriver.hpp
index a1e1a33..654b8bb 100644
--- a/src/AudioDriver.hpp
+++ b/src/AudioDriver.hpp
@@ -20,6 +20,7 @@
#include "Driver.hpp"
#include <cstdint>
+#include <utility>
namespace patchage {
diff --git a/src/Canvas.cpp b/src/Canvas.cpp
index a7d677a..8b5168f 100644
--- a/src/Canvas.cpp
+++ b/src/Canvas.cpp
@@ -16,20 +16,25 @@
#include "Canvas.hpp"
-#include "patchage_config.h"
-
#include "CanvasModule.hpp"
#include "CanvasPort.hpp"
+#include "ClientInfo.hpp"
+#include "Configuration.hpp"
#include "Connector.hpp"
+#include "ILog.hpp"
+#include "Metadata.hpp"
#include "Patchage.hpp"
+#include "PortInfo.hpp"
#include "PortNames.hpp"
#include "SignalDirection.hpp"
#include "warnings.hpp"
-#include <set>
-
PATCHAGE_DISABLE_GANV_WARNINGS
#include "ganv/Edge.hpp"
+#include "ganv/Module.hpp"
+#include "ganv/Node.hpp"
+#include "ganv/Port.hpp"
+#include "ganv/module.h"
PATCHAGE_RESTORE_WARNINGS
PATCHAGE_DISABLE_FMT_WARNINGS
@@ -37,6 +42,12 @@ PATCHAGE_DISABLE_FMT_WARNINGS
#include <fmt/ostream.h>
PATCHAGE_RESTORE_WARNINGS
+#include <cassert>
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <utility>
+
namespace patchage {
Canvas::Canvas(Connector& connector, int width, int height)
diff --git a/src/Canvas.hpp b/src/Canvas.hpp
index ff5d525..af9a0e0 100644
--- a/src/Canvas.hpp
+++ b/src/Canvas.hpp
@@ -17,23 +17,28 @@
#ifndef PATCHAGE_CANVAS_HPP
#define PATCHAGE_CANVAS_HPP
-#include "patchage_config.h"
-
-#include "CanvasModule.hpp"
-#include "Event.hpp"
+#include "ClientID.hpp"
#include "PortID.hpp"
+#include "SignalDirection.hpp"
#include "warnings.hpp"
PATCHAGE_DISABLE_GANV_WARNINGS
#include "ganv/Canvas.hpp"
+#include "ganv/types.h"
PATCHAGE_RESTORE_WARNINGS
+#include <gdkmm/event.h>
+
#include <map>
-#include <string>
-#include <utility>
+
+namespace Ganv {
+class Node;
+} // namespace Ganv
namespace patchage {
+struct PortInfo;
+
class Patchage;
class CanvasModule;
class CanvasPort;
diff --git a/src/CanvasModule.cpp b/src/CanvasModule.cpp
index c7b003f..0f32f14 100644
--- a/src/CanvasModule.cpp
+++ b/src/CanvasModule.cpp
@@ -16,12 +16,30 @@
#include "CanvasModule.hpp"
-#include <gtkmm/menu_elems.h>
-
#include "Canvas.hpp"
#include "CanvasPort.hpp"
+#include "Configuration.hpp"
#include "Patchage.hpp"
+#include "PortID.hpp"
#include "SignalDirection.hpp"
+#include "warnings.hpp"
+
+PATCHAGE_DISABLE_GANV_WARNINGS
+#include "ganv/Port.hpp"
+PATCHAGE_RESTORE_WARNINGS
+
+#include <glibmm/helperlist.h>
+#include <gtkmm/menu.h>
+#include <gtkmm/menu_elems.h>
+#include <gtkmm/menuitem.h>
+#include <gtkmm/menushell.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+
+#include <cassert>
+#include <cstdlib>
+#include <memory>
+#include <utility>
namespace patchage {
diff --git a/src/CanvasModule.hpp b/src/CanvasModule.hpp
index 904051a..605a746 100644
--- a/src/CanvasModule.hpp
+++ b/src/CanvasModule.hpp
@@ -23,14 +23,17 @@
PATCHAGE_DISABLE_GANV_WARNINGS
#include "ganv/Module.hpp"
-#include "ganv/Port.hpp"
PATCHAGE_RESTORE_WARNINGS
-#include <gtkmm/menu.h>
+#include <gdk/gdk.h>
+#include <gdkmm/event.h>
-#include <memory>
#include <string>
+namespace Gtk {
+class Menu;
+} // namespace Gtk
+
namespace patchage {
struct PortID;
diff --git a/src/CanvasPort.hpp b/src/CanvasPort.hpp
index 60695df..9a61846 100644
--- a/src/CanvasPort.hpp
+++ b/src/CanvasPort.hpp
@@ -17,21 +17,31 @@
#ifndef PATCHAGE_CANVASPORT_HPP
#define PATCHAGE_CANVASPORT_HPP
-#include "Canvas.hpp"
-#include "CanvasModule.hpp"
-#include "Configuration.hpp"
#include "PortID.hpp"
+#include "PortType.hpp"
#include "warnings.hpp"
PATCHAGE_DISABLE_GANV_WARNINGS
-#include "ganv/Module.hpp"
#include "ganv/Port.hpp"
PATCHAGE_RESTORE_WARNINGS
+#include <boost/optional/optional.hpp>
+#include <gdk/gdk.h>
+#include <gdkmm/event.h>
#include <gtkmm/menu.h>
+#include <gtkmm/menu_elems.h>
#include <gtkmm/menushell.h>
+#include <gtkmm/object.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+#include <cstdint>
#include <string>
+#include <utility>
+
+namespace Ganv {
+class Module;
+} // namespace Ganv
namespace patchage {
diff --git a/src/Configuration.cpp b/src/Configuration.cpp
index f667b1b..c2172f9 100644
--- a/src/Configuration.cpp
+++ b/src/Configuration.cpp
@@ -18,6 +18,7 @@
#include "PortType.hpp"
#include "SignalDirection.hpp"
+#include "patchage_config.h"
#include <cctype>
#include <cstdlib>
diff --git a/src/Configuration.hpp b/src/Configuration.hpp
index 0844de8..7e406ef 100644
--- a/src/Configuration.hpp
+++ b/src/Configuration.hpp
@@ -20,7 +20,7 @@
#include "PortType.hpp"
#include "SignalDirection.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
#include <cstdint>
#include <map>
diff --git a/src/Connector.cpp b/src/Connector.cpp
index 84aa6c2..8226f91 100644
--- a/src/Connector.cpp
+++ b/src/Connector.cpp
@@ -21,6 +21,7 @@
#include "PortID.hpp"
#include <unordered_map>
+#include <utility>
namespace patchage {
diff --git a/src/Driver.hpp b/src/Driver.hpp
index 231b7a2..1c62697 100644
--- a/src/Driver.hpp
+++ b/src/Driver.hpp
@@ -24,6 +24,8 @@
namespace patchage {
+struct PortID;
+
/// Base class for drivers that handle system clients and ports
class Driver
{
diff --git a/src/Event.hpp b/src/Event.hpp
index 406345d..e664399 100644
--- a/src/Event.hpp
+++ b/src/Event.hpp
@@ -25,8 +25,6 @@
#include <boost/variant/variant.hpp>
-#include <string>
-
namespace patchage {
struct DriverAttachmentEvent
diff --git a/src/JackLibDriver.cpp b/src/JackLibDriver.cpp
index ba87fe1..21c8f9b 100644
--- a/src/JackLibDriver.cpp
+++ b/src/JackLibDriver.cpp
@@ -18,8 +18,10 @@
#include "ClientID.hpp"
#include "ClientInfo.hpp"
#include "ClientType.hpp"
+#include "Driver.hpp"
#include "Event.hpp"
#include "ILog.hpp"
+#include "PortID.hpp"
#include "PortInfo.hpp"
#include "PortNames.hpp"
#include "PortType.hpp"
@@ -37,12 +39,14 @@ PATCHAGE_DISABLE_FMT_WARNINGS
#include <fmt/core.h>
PATCHAGE_RESTORE_WARNINGS
+#include <boost/optional/optional.hpp>
#include <jack/jack.h>
-#include <jack/statistics.h>
+#include <jack/types.h>
-#include <cassert>
#include <cstdint>
#include <cstring>
+#include <functional>
+#include <memory>
#include <mutex>
#include <set>
#include <string>
diff --git a/src/Legend.cpp b/src/Legend.cpp
index a97d7bd..ff9fe4b 100644
--- a/src/Legend.cpp
+++ b/src/Legend.cpp
@@ -18,11 +18,16 @@
#include "Configuration.hpp"
#include "PortType.hpp"
+#include "patchage_config.h"
+#include <gdkmm/color.h>
+#include <glibmm/signalproxy.h>
#include <gtkmm/box.h>
#include <gtkmm/colorbutton.h>
#include <gtkmm/label.h>
-#include <sigc++/sigc++.h>
+#include <gtkmm/object.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
#include <string>
diff --git a/src/Legend.hpp b/src/Legend.hpp
index 3030756..ab64d2f 100644
--- a/src/Legend.hpp
+++ b/src/Legend.hpp
@@ -17,16 +17,22 @@
#ifndef PATCHAGE_LEGEND_HPP
#define PATCHAGE_LEGEND_HPP
-#include "Configuration.hpp"
+#include "PortType.hpp"
#include <gtkmm/box.h>
-#include <gtkmm/colorbutton.h>
-#include <sigc++/sigc++.h>
+#include <sigc++/signal.h>
+#include <cstdint>
#include <string>
+namespace Gtk {
+class ColorButton;
+} // namespace Gtk
+
namespace patchage {
+class Configuration;
+
class Legend : public Gtk::HBox
{
public:
diff --git a/src/Metadata.cpp b/src/Metadata.cpp
index a275f9b..d1af31c 100644
--- a/src/Metadata.cpp
+++ b/src/Metadata.cpp
@@ -21,7 +21,9 @@
#include "PortID.hpp"
#include "PortInfo.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
+
+#include <utility>
namespace patchage {
diff --git a/src/Metadata.hpp b/src/Metadata.hpp
index 2bb8806..717971d 100644
--- a/src/Metadata.hpp
+++ b/src/Metadata.hpp
@@ -22,7 +22,7 @@
#include "PortID.hpp"
#include "PortInfo.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
#include <map>
diff --git a/src/Patchage.cpp b/src/Patchage.cpp
index f216f2f..4e51231 100644
--- a/src/Patchage.cpp
+++ b/src/Patchage.cpp
@@ -16,42 +16,89 @@
#include "Patchage.hpp"
+#include "AudioDriver.hpp"
#include "Canvas.hpp"
+#include "CanvasModule.hpp"
#include "CanvasPort.hpp"
#include "Configuration.hpp"
+#include "Driver.hpp"
#include "Event.hpp"
#include "Legend.hpp"
+#include "PortID.hpp"
#include "UIFile.hpp"
#include "event_to_string.hpp"
#include "handle_event.hpp"
#include "make_alsa_driver.hpp"
#include "make_jack_driver.hpp"
-#include "patchage_config.h"
+#include "patchage_config.h" // IWYU pragma: keep
#include "warnings.hpp"
PATCHAGE_DISABLE_GANV_WARNINGS
#include "ganv/Edge.hpp"
#include "ganv/Module.hpp"
+#include "ganv/Node.hpp"
+#include "ganv/Port.hpp"
+#include "ganv/module.h"
+#include "ganv/types.h"
PATCHAGE_RESTORE_WARNINGS
PATCHAGE_DISABLE_FMT_WARNINGS
#include <fmt/core.h>
PATCHAGE_RESTORE_WARNINGS
+#include <boost/optional/optional.hpp>
+#include <glib-object.h>
#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtkwindow.h>
-#include <gtkmm/button.h>
+#include <glibmm/fileutils.h>
+#include <glibmm/main.h>
+#include <glibmm/miscutils.h>
+#include <glibmm/propertyproxy.h>
+#include <glibmm/signalproxy.h>
+#include <glibmm/ustring.h>
+#include <gobject/gclosure.h>
+#include <gtk/gtk.h>
+#include <gtkmm/aboutdialog.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/alignment.h>
+#include <gtkmm/box.h>
+#include <gtkmm/builder.h>
+#include <gtkmm/celleditable.h>
+#include <gtkmm/checkbutton.h>
+#include <gtkmm/combobox.h>
+#include <gtkmm/dialog.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/filechooser.h>
#include <gtkmm/filechooserdialog.h>
+#include <gtkmm/filefilter.h>
+#include <gtkmm/imagemenuitem.h>
+#include <gtkmm/label.h>
+#include <gtkmm/layout.h>
#include <gtkmm/liststore.h>
+#include <gtkmm/menubar.h>
#include <gtkmm/menuitem.h>
#include <gtkmm/messagedialog.h>
+#include <gtkmm/object.h>
+#include <gtkmm/paned.h>
+#include <gtkmm/scrolledwindow.h>
#include <gtkmm/stock.h>
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/texttag.h>
+#include <gtkmm/textview.h>
+#include <gtkmm/toolbar.h>
+#include <gtkmm/toolbutton.h>
+#include <gtkmm/treeiter.h>
#include <gtkmm/treemodel.h>
+#include <gtkmm/window.h>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+#include <sigc++/signal.h>
+#include <algorithm>
#include <cmath>
#include <cstdint>
#include <cstdlib>
+#include <map>
+#include <utility>
#ifdef PATCHAGE_GTK_OSX
diff --git a/src/Patchage.hpp b/src/Patchage.hpp
index 746f32a..4496f12 100644
--- a/src/Patchage.hpp
+++ b/src/Patchage.hpp
@@ -17,47 +17,60 @@
#ifndef PATCHAGE_PATCHAGE_HPP
#define PATCHAGE_PATCHAGE_HPP
-#include <gtkmm/aboutdialog.h>
-#include <gtkmm/alignment.h>
-#include <gtkmm/builder.h>
-#include <gtkmm/button.h>
+#include <gdk/gdk.h>
+#include <glibmm/refptr.h>
#include <gtkmm/checkmenuitem.h>
-#include <gtkmm/combobox.h>
-#include <gtkmm/dialog.h>
-#include <gtkmm/imagemenuitem.h>
-#include <gtkmm/label.h>
-#include <gtkmm/main.h>
-#include <gtkmm/menubar.h>
-#include <gtkmm/menuitem.h>
-#include <gtkmm/paned.h>
-#include <gtkmm/scrolledwindow.h>
-#include <gtkmm/textview.h>
-#include <gtkmm/toolbar.h>
-#include <gtkmm/toolbutton.h>
-#include <gtkmm/viewport.h>
-#include <gtkmm/window.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treemodelcolumn.h>
+#include <gtkmm/widget.h>
#include "ClientType.hpp"
+#include "Configuration.hpp"
#include "Connector.hpp"
#include "Event.hpp"
-#include "ILog.hpp"
-#include "Legend.hpp"
#include "Metadata.hpp"
#include "Options.hpp"
+#include "PortType.hpp"
#include "TextViewLog.hpp"
#include "Widget.hpp"
-#include "patchage_config.h"
+#include <cstdint>
#include <memory>
#include <mutex>
#include <queue>
#include <string>
+namespace Glib {
+class ustring;
+} // namespace Glib
+
+namespace Gtk {
+class AboutDialog;
+class Alignment;
+class Builder;
+class ComboBox;
+class ImageMenuItem;
+class Label;
+class Main;
+class MenuBar;
+class MenuItem;
+class Paned;
+class ScrolledWindow;
+class TextTag;
+class TextView;
+class ToolButton;
+class Toolbar;
+class VBox;
+class Window;
+} // namespace Gtk
+
namespace patchage {
class AudioDriver;
class Canvas;
-class Configuration;
+class Driver;
+class ILog;
+class Legend;
/// Main application class
class Patchage
diff --git a/src/PortID.hpp b/src/PortID.hpp
index 51db1b0..a5b6109 100644
--- a/src/PortID.hpp
+++ b/src/PortID.hpp
@@ -22,6 +22,8 @@
#include "warnings.hpp"
#include <cassert>
+#include <cstdint>
+#include <functional>
#include <iostream>
#include <string>
#include <tuple>
diff --git a/src/PortInfo.hpp b/src/PortInfo.hpp
index 8b7eba9..a2e2b16 100644
--- a/src/PortInfo.hpp
+++ b/src/PortInfo.hpp
@@ -20,7 +20,7 @@
#include "PortType.hpp"
#include "SignalDirection.hpp"
-#include <boost/optional.hpp>
+#include <boost/optional/optional.hpp>
#include <string>
namespace patchage {
diff --git a/src/TextViewLog.cpp b/src/TextViewLog.cpp
index 360cae9..74f7bd0 100644
--- a/src/TextViewLog.cpp
+++ b/src/TextViewLog.cpp
@@ -16,7 +16,15 @@
#include "TextViewLog.hpp"
+#include "Widget.hpp"
+
+#include <gdkmm/color.h>
+#include <glibmm/propertyproxy.h>
#include <glibmm/refptr.h>
+#include <gtkmm/enums.h>
+#include <gtkmm/textbuffer.h>
+#include <gtkmm/texttag.h>
+#include <gtkmm/texttagtable.h>
#include <gtkmm/textview.h>
#include <string>
diff --git a/src/TextViewLog.hpp b/src/TextViewLog.hpp
index 913b527..52c1b2c 100644
--- a/src/TextViewLog.hpp
+++ b/src/TextViewLog.hpp
@@ -17,15 +17,24 @@
#ifndef PATCHAGE_TEXTVIEWLOG_HPP
#define PATCHAGE_TEXTVIEWLOG_HPP
+// IWYU pragma: no_include <gtkmm/texttag.h>
+
#include "ILog.hpp"
-#include "Widget.hpp"
#include <glibmm/refptr.h>
-#include <gtkmm/texttag.h>
-#include <gtkmm/textview.h>
+
+#include <string>
+
+namespace Gtk {
+class TextView;
+class TextTag; // IWYU pragma: keep
+} // namespace Gtk
namespace patchage {
+template<typename W>
+class Widget;
+
/// Log that writes colored messages to a Gtk TextView
class TextViewLog : public ILog
{
diff --git a/src/UIFile.hpp b/src/UIFile.hpp
index 760b6ea..08c2b42 100644
--- a/src/UIFile.hpp
+++ b/src/UIFile.hpp
@@ -23,11 +23,13 @@
# include "binary_location.h"
#endif
+#include <glibmm/refptr.h>
#include <gtkmm/builder.h>
#include <fstream>
#include <iostream>
#include <sstream>
+#include <stdexcept>
#include <string>
namespace patchage {
diff --git a/src/Widget.hpp b/src/Widget.hpp
index 14326e3..19f9816 100644
--- a/src/Widget.hpp
+++ b/src/Widget.hpp
@@ -17,7 +17,8 @@
#ifndef PATCHAGE_WIDGET_HPP
#define PATCHAGE_WIDGET_HPP
-#include <gtkmm/builder.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/builder.h> // IWYU pragma: keep
#include <string>
diff --git a/src/event_to_string.cpp b/src/event_to_string.cpp
index ef9d2c1..788f42e 100644
--- a/src/event_to_string.cpp
+++ b/src/event_to_string.cpp
@@ -16,8 +16,14 @@
#include "event_to_string.hpp"
+#include "ClientID.hpp"
+#include "ClientInfo.hpp"
#include "ClientType.hpp"
#include "Event.hpp"
+#include "PortID.hpp"
+#include "PortInfo.hpp"
+#include "PortType.hpp"
+#include "SignalDirection.hpp"
#include "warnings.hpp"
PATCHAGE_DISABLE_FMT_WARNINGS
@@ -25,8 +31,10 @@ PATCHAGE_DISABLE_FMT_WARNINGS
#include <fmt/ostream.h>
PATCHAGE_RESTORE_WARNINGS
-#include <cstdint>
-#include <iostream>
+#include <boost/optional/optional.hpp>
+#include <boost/variant/apply_visitor.hpp>
+
+#include <ostream> // IWYU pragma: keep
#include <string>
namespace patchage {
@@ -104,7 +112,7 @@ struct EventPrinter
std::string operator()(const PortCreationEvent& event)
{
- auto result = fmt::format("Add{} {} {} port \"{}\" (\"{}\")",
+ auto result = fmt::format(R"(Add{} {} {} port "{}" ("{}"))",
event.info.is_terminal ? " terminal" : "",
(*this)(event.info.type),
(*this)(event.info.direction),
@@ -120,12 +128,12 @@ struct EventPrinter
std::string operator()(const PortDestructionEvent& event)
{
- return fmt::format("Remove port \"{}\"", event.id);
+ return fmt::format(R"("Remove port "{}")", event.id);
}
std::string operator()(const ConnectionEvent& event)
{
- return fmt::format("Connect \"{}\" to \"{}\"", event.tail, event.head);
+ return fmt::format(R"(Connect "{}" to "{}")", event.tail, event.head);
}
std::string operator()(const DisconnectionEvent& event)
diff --git a/src/handle_event.cpp b/src/handle_event.cpp
index 40f6c22..4e77232 100644
--- a/src/handle_event.cpp
+++ b/src/handle_event.cpp
@@ -17,16 +17,24 @@
#include "handle_event.hpp"
#include "Canvas.hpp"
-#include "CanvasModule.hpp"
#include "CanvasPort.hpp"
#include "Event.hpp"
+#include "ILog.hpp"
+#include "Metadata.hpp"
#include "Patchage.hpp"
+#include "PortID.hpp"
+#include "warnings.hpp"
PATCHAGE_DISABLE_FMT_WARNINGS
#include <fmt/core.h>
#include <fmt/ostream.h>
PATCHAGE_RESTORE_WARNINGS
+#include <boost/variant/apply_visitor.hpp>
+
+#include <iosfwd>
+#include <memory>
+
namespace patchage {
namespace {
diff --git a/src/main.cpp b/src/main.cpp
index d5feb14..fb1744c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,7 +30,12 @@
#include "patchage_config.h"
#include <glibmm/exception.h>
+#include <glibmm/thread.h>
+#include <glibmm/ustring.h>
+#include <gtkmm/main.h>
+#include <cstring>
+#include <exception>
#include <iostream>
namespace {
diff --git a/src/make_jack_driver.hpp b/src/make_jack_driver.hpp
index 00019a6..c8420d3 100644
--- a/src/make_jack_driver.hpp
+++ b/src/make_jack_driver.hpp
@@ -17,13 +17,14 @@
#ifndef PATCHAGE_MAKE_JACK_DRIVER_HPP
#define PATCHAGE_MAKE_JACK_DRIVER_HPP
-#include "AudioDriver.hpp"
+#include "Driver.hpp"
#include "patchage_config.h"
#include <memory>
namespace patchage {
+class AudioDriver;
class ILog;
#if defined(PATCHAGE_LIBJACK) || defined(HAVE_JACK_DBUS)
diff --git a/wscript b/wscript
index 19afe0d..688ff3c 100644
--- a/wscript
+++ b/wscript
@@ -184,7 +184,7 @@ def configure(conf):
conf.define('PATCHAGE_USE_LIGHT_THEME', 1)
# Boost headers
- conf.check_cxx(header_name='boost/optional.hpp')
+ conf.check_cxx(header_name='boost/optional/optional.hpp')
conf.check_cxx(header_name='boost/variant.hpp')
# Check for system provided fmt