diff options
Diffstat (limited to 'src/LashDriver.cpp')
-rw-r--r-- | src/LashDriver.cpp | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/src/LashDriver.cpp b/src/LashDriver.cpp deleted file mode 100644 index 856ea2d..0000000 --- a/src/LashDriver.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* This file is part of Patchage. - * Copyright (C) 2007 Dave Robillard <http://drobilla.net> - * - * Patchage is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Patchage is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include <iostream> -#include <string> -#include CONFIG_H_PATH -#include "LashDriver.hpp" -#include "Patchage.hpp" -#include "StateManager.hpp" - -using namespace std; - - -LashDriver::LashDriver(Patchage* app, int argc, char** argv) - : Driver(2) - , _app(app) - , _args(NULL) -{ - _args = lash_extract_args(&argc, &argv); -} - - -LashDriver::~LashDriver() -{ - if (_args) - lash_args_destroy(_args); -} - - -void -LashDriver::attach(bool launch_daemon) -{ - // Already connected - if (_server_interface && _server_interface->enabled()) - return; - - int lash_flags = LASH_Server_Interface | LASH_Config_File; - if (!launch_daemon) - lash_flags |= LASH_No_Start_Server; - - _server_interface = Raul::LashServerInterface::create( - _args, PACKAGE_NAME, lash_flags); - - if (_server_interface) { - _server_interface->signal_project_add.connect(sigc::mem_fun(this, &LashDriver::on_project_add)); - _server_interface->signal_quit.connect(sigc::mem_fun(this, &LashDriver::on_quit)); - signal_attached.emit(); - _app->status_message("[LASH] Attached"); - } else { - _app->status_message("[LASH] Unable to attach to server"); - } -} - - -void -LashDriver::detach() -{ - _server_interface.reset(); - _app->status_message("[LASH] Detached"); - signal_detached.emit(); -} - - -void -LashDriver::on_project_add(const SharedPtr<Raul::LashProject> project) -{ - cout << "[LashDriver] Add project - " << project->name() << endl; - _project_name = project->name(); - project->signal_save_file.connect(sigc::mem_fun(this, &LashDriver::on_save_file)); - project->signal_restore_file.connect(sigc::mem_fun(this, &LashDriver::on_restore_file)); -} - - -void -LashDriver::on_save_file(const string& directory) -{ - cout << "[LashDriver] Save File - " << directory << endl; - _app->store_window_location(); - _app->state_manager()->save(directory + "/locations"); -} - - -void -LashDriver::on_restore_file(const string& directory) -{ - cout << "[LashDriver] Restore File - " << directory << endl; - _app->state_manager()->load(directory + "/locations"); - _app->update_state(); -} - - -void -LashDriver::on_quit() -{ - cout << "[LashDriver] Quit" << endl; -} - - -void -LashDriver::handle_config(lash_config_t* conf) -{ - const char* key = NULL; - const void* val = NULL; - size_t val_size = 0; - - cout << "[LashDriver] LASH Config. Key = " << key << endl; - - key = lash_config_get_key(conf); - val = lash_config_get_value(conf); - val_size = lash_config_get_value_size(conf); -} - - -void -LashDriver::restore_project(const std::string& directory) -{ - _project_name = ""; - _server_interface->restore_project(directory); -} - - -void -LashDriver::set_project_directory(const std::string& directory) -{ - SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); - - if (project) - project->set_directory(directory); - else - cerr << "[LashDriver] No project \'" << _project_name << "\' to set directory!" << endl; -} - - -void -LashDriver::save_project() -{ - SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); - - if (project) - project->save(); - else - cerr << "[LashDriver] No project \'" << _project_name << "\' to save!" << endl; -} - - -void -LashDriver::close_project() -{ - SharedPtr<Raul::LashProject> project = _server_interface->project(_project_name); - - if (project) - project->close(); - else - cerr << "[LashDriver] No project \'" << _project_name << "\' to close!" << endl; -} - |