Fix compilation with older Glib.
authorDavid Robillard <d@drobilla.net>
Sat, 28 Jan 2012 18:19:19 +0000 (18:19 +0000)
committerDavid Robillard <d@drobilla.net>
Sat, 28 Jan 2012 18:19:19 +0000 (18:19 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@11378 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/lv2_plugin.h
libs/ardour/lv2_plugin.cc

index 6d68ca2674e279e9b21f9a4f4e95c25d961cb908..14fbefd51c7060d0291b57852187f533cd3c944b 100644 (file)
@@ -156,6 +156,7 @@ class LV2Plugin : public ARDOUR::Plugin
        static uint32_t _midi_event_type;
        static uint32_t _state_path_type;
 
+       const std::string plugin_dir () const;
        const std::string scratch_dir () const;
        const std::string file_dir () const;
        const std::string state_dir (unsigned num) const;
index 8ea874ace02b1cbd1f9b9754cd0e39a84e26fd7b..210aa04de04029b2febdbca2b2b6d61eb37e157e 100644 (file)
@@ -460,29 +460,32 @@ LV2Plugin::c_ui_type ()
        return (void*)_impl->ui_type;
 }
 
+/** Directory for all plugin state. */
+const std::string
+LV2Plugin::plugin_dir() const
+{
+       return Glib::build_filename(_session.plugins_dir(), _insert_id.to_s());
+}
+
 /** Directory for files created by the plugin (except during save). */
 const std::string
 LV2Plugin::scratch_dir() const
 {
-       return Glib::build_filename(
-               _session.plugins_dir(), _insert_id.to_s(), "scratch");
+       return Glib::build_filename(plugin_dir(), "scratch");
 }
 
 /** Directory for snapshots of files in the scratch directory. */
 const std::string
 LV2Plugin::file_dir() const
 {
-       return Glib::build_filename(
-               _session.plugins_dir(), _insert_id.to_s(), "files");
+       return Glib::build_filename(plugin_dir(), "files");
 }
 
 /** Directory to save state snapshot version @c num into. */
 const std::string
 LV2Plugin::state_dir(unsigned num) const
 {
-       return Glib::build_filename(_session.plugins_dir(),
-                                   _insert_id.to_s(),
-                                   string_compose("state%1", num));
+       return Glib::build_filename(plugin_dir(), string_compose("state%1", num));
 }
 
 /** Implementation of state:makePath for files created at instantiation time.
@@ -780,10 +783,9 @@ LV2Plugin::set_state(const XMLNode& node, int version)
                                prop->value()) << endmsg;
                }
 
-               std::string state_file = Glib::build_filename(_session.plugins_dir(),
-                                                             _insert_id.to_s(),
-                                                             prop->value(),
-                                                             "state.ttl");
+               std::string state_file = Glib::build_filename(
+                       plugin_dir(),
+                       Glib::build_filename(prop->value(), "state.ttl"));
 
                cout << "Loading LV2 state from " << state_file << endl;
                LilvState* state = lilv_state_new_from_file(