+/** Spacing to use between buttons in a vertical/horizontal line */
+#if defined(DCPOMATIC_OSX) || defined(__WXGTK3__)
+#define DCPOMATIC_BUTTON_STACK_GAP 2
+#else
+#define DCPOMATIC_BUTTON_STACK_GAP 0
+#endif
+
+#ifdef DCPOMATIC_LINUX
+#define DCPOMATIC_RTAUDIO_API RtAudio::LINUX_PULSE
+#endif
+#ifdef DCPOMATIC_WINDOWS
+#define DCPOMATIC_RTAUDIO_API RtAudio::UNSPECIFIED
+#endif
+#ifdef DCPOMATIC_OSX
+#define DCPOMATIC_RTAUDIO_API RtAudio::MACOSX_CORE
+#endif
+
+
+/** i18n macro to support strings like Context|String
+ * so that `String' can be translated to different things
+ * in different contexts.
+ */
+#define S_(x) context_translation(x)
+
+
+extern void error_dialog (wxWindow *, wxString, boost::optional<wxString> e = boost::optional<wxString>());
+extern void message_dialog (wxWindow *, wxString);