'gtk2_ardour (msvc)' - Some changes needed before anything at all will compile
authorJohn Emmas <johne53@tiscali.co.uk>
Thu, 26 Sep 2013 09:58:07 +0000 (10:58 +0100)
committerJohn Emmas <johne53@tiscali.co.uk>
Thu, 26 Sep 2013 09:58:07 +0000 (10:58 +0100)
For the most part, the compilation problems are caused by lines such as:-

      WM::Proxy<ThemeManager> theme_manager;

Before MSVC will compile the above it needs to know that the specified object type contains an appropriate (i.e. publicly available) default c'tor. Therefore the corresponding header file needs to get #included, rather than just declaring that type to be a class (whilst all classes have a default c'tor, it needn't necessarily be public). The remaining changes are mostly minor.

This commit should be tested ASAP to make sure it doesn't upset the other compilers.

gtk2_ardour/ardour_ui.h
gtk2_ardour/option_editor.h
gtk2_ardour/rc_option_editor.h

index bdc34d35b9e6a2e96b268acedb588580f4352329..2f609076b6391ec61a662bc9f2f479be1ca41dca 100644 (file)
@@ -66,6 +66,7 @@
 
 #include "video_timeline.h"
 
+#include "about.h"
 #include "ardour_button.h"
 #include "ardour_dialog.h"
 #include "ardour_window.h"
 #include "visibility_group.h"
 #include "window_manager.h"
 
-class About;
-class AddRouteDialog;
-class AddVideoDialog;
+#include "add_route_dialog.h"
+#include "add_video_dialog.h"
+#include "big_clock_window.h"
+#include "bundle_manager.h"
+#include "global_port_matrix.h"
+#include "keyeditor.h"
+#include "location_ui.h"
+#include "rc_option_editor.h"
+#include "route_params_ui.h"
+#include "session_option_editor.h"
+#include "speaker_dialog.h"
+#include "theme_manager.h"
+
 class VideoTimeLine;
 class SystemExec;
 class ArdourStartup;
 class ArdourKeyboard;
 class AudioClock;
-class BigClockWindow;
-class BundleManager;
 class ButtonJoiner;
 class ConnectionEditor;
 class EngineControl;
-class KeyEditor;
-class LocationUIWindow;
 class MainClock;
 class Mixer_UI;
 class PublicEditor;
-class RCOptionEditor;
-class RouteParams_UI;
-class SessionOptionEditor;
 class ShuttleControl;
 class Splash;
-class SpeakerDialog;
-class ThemeManager;
 class TimeInfoBox;
 class MidiTracer;
 class LevelMeterHBox;
-class GlobalPortMatrixWindow;
 class GUIObjectState;
 
 namespace Gtkmm2ext {
index 2073da530dabf5aca073b7e62b82d5647ef678a9..223fd8edbf25463a1744a4815bcf97ff3973892a 100644 (file)
@@ -30,6 +30,9 @@
 #include "audio_clock.h"
 #include "ardour/types.h"
 
+using namespace Glib;
+using namespace Gtk;
+
 /** @file option_editor.h
  *  @brief Base class for option editing dialog boxes.
  *
index 7b9b29c3ffb17fb1c18ac6e4fc1e087aa61f201c..879a9c44646cdd9ac3363cb0be643261064a4c48 100644 (file)
@@ -17,6 +17,9 @@
 
 */
 
+#ifndef __gtk_ardour_rc_option_editor_h__
+#define __gtk_ardour_rc_option_editor_h__
+
 #include "option_editor.h"
 #include "visibility_group.h"
 
@@ -54,3 +57,5 @@ private:
 
         PBD::ScopedConnection parameter_change_connection;
 };
+
+#endif /* __gtk_ardour_rc_option_editor_h__ */