slackbuilds_ponce/audio/guitarix/patches/0002-set-wscript-to-versio-0.34.0git.patch
2015-11-14 07:07:23 +07:00

153 lines
6.8 KiB
Diff

From 6b161fa314ee5948a7ebde5d4320d669041e831e Mon Sep 17 00:00:00 2001
From: Hermann Meyer <brummer-@web.de>
Date: Mon, 9 Nov 2015 09:46:54 +0100
Subject: [PATCH 2/3] * set wscript to versio 0.34.0git * make webkit
optional * add filebrowser for upload preset banks
---
trunk/src/gx_head/gui/gx_preset_window.cpp | 34 +++++++++++++++++++++++++++++-
trunk/src/headers/gx_preset_window.h | 8 ++++++-
trunk/wscript | 5 +++--
3 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/trunk/src/gx_head/gui/gx_preset_window.cpp b/trunk/src/gx_head/gui/gx_preset_window.cpp
index ead8c93..1050a9d 100644
--- a/trunk/src/gx_head/gui/gx_preset_window.cpp
+++ b/trunk/src/gx_head/gui/gx_preset_window.cpp
@@ -81,10 +81,13 @@ PresetWindow::PresetWindow(Glib::RefPtr<gx_gui::GxBuilder> bld, gx_engine::GxMac
//actiongroup->add(act, sigc::mem_fun(*this, &PresetWindow::on_presets_close));
//gtk_activatable_set_related_action(GTK_ACTIVATABLE(close_preset->gobj()), act->gobj());
close_preset->hide(); // disable (maybe remove later)
+#ifdef HAVE_WEBKIT
actions.online_preset_bank = Gtk::Action::create("OnlineBank");
actions.group->add(actions.online_preset_bank, sigc::mem_fun(*this, &PresetWindow::on_online_preset));
gtk_activatable_set_related_action(GTK_ACTIVATABLE(online_preset->gobj()), actions.online_preset_bank->gobj());
-
+#else
+ online_preset->set_sensitive(false);
+#endif
bank_treeview->set_model(Gtk::ListStore::create(bank_col));
bank_treeview->set_name("PresetView");
bank_treeview->get_selection()->set_select_function(
@@ -686,6 +689,7 @@ void PresetWindow::on_new_bank() {
start_edit(m->get_path(edit_iter), *bank_treeview->get_column(1), *bank_cellrenderer);
}
+#ifdef HAVE_WEBKIT
bool PresetWindow::insertRequested(const char *ur, gpointer data)
{
@@ -748,6 +752,31 @@ bool PresetWindow::downloadRequested(WebKitWebView* webView, WebKitDownload *dow
return TRUE;
}
+bool PresetWindow::uploadRequested(WebKitWebView* webView, WebKitFileChooserRequest *request,gpointer data )
+{
+ Gtk::FileChooserDialog d( "Select upload file");
+ d.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+ d.add_button(Gtk::Stock::OK, Gtk::RESPONSE_OK);
+ d.add_shortcut_folder(string(getenv("HOME")) + string("/.config/guitarix/bamks"));
+ Gtk::FileFilter banks;
+ banks.set_name("Bank Files");
+ banks.add_pattern("*.gx");
+ d.add_filter(banks);
+ Gtk::FileFilter all;
+ all.add_pattern("*");
+ all.set_name("All Files");
+ d.add_filter(all);
+ d.set_current_folder(string(getenv("HOME")) + string("/.config/guitarix/banks"));
+
+ if (d.run() != Gtk::RESPONSE_OK) {
+ return FALSE;
+ }
+ Glib::ustring filename = d.get_filename();
+ const gchar* f[2] = {filename.c_str(),0};
+ webkit_file_chooser_request_select_files (request, f);
+ return TRUE;
+}
+
void PresetWindow::show_online_preset() {
Gtk::Window *window = new Gtk::Window();
@@ -760,6 +789,7 @@ void PresetWindow::show_online_preset() {
window->add(*Gtk::manage(scrollbox));
webkit_web_view_load_uri(web_view, "https://musical-artifacts.com/?apps=guitarix");
g_signal_connect(G_OBJECT (web_view), "download-requested", G_CALLBACK(downloadRequested), this);
+ g_signal_connect(G_OBJECT (web_view), "run-file-chooser", G_CALLBACK(uploadRequested), this);
window->show_all();
}
@@ -767,6 +797,8 @@ void PresetWindow::on_online_preset() {
Glib::signal_idle().connect_once(sigc::mem_fun(*this, &PresetWindow::show_online_preset));
}
+#endif
+
bool PresetWindow::on_bank_drag_motion(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint timestamp) {
Gtk::Widget *source_widget = Gtk::Widget::drag_get_source_widget(context);
if (!source_widget) {
diff --git a/trunk/src/headers/gx_preset_window.h b/trunk/src/headers/gx_preset_window.h
index a009670..48a9801 100644
--- a/trunk/src/headers/gx_preset_window.h
+++ b/trunk/src/headers/gx_preset_window.h
@@ -24,7 +24,10 @@
/****************************************************************
** class PresetWindow
*/
+
+#ifdef HAVE_WEBKIT
#include <webkit/webkit.h>
+#endif
class PresetStore: public Gtk::ListStore {
public:
@@ -141,12 +144,15 @@ private:
bool is_row_separator(const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter);
void on_new_bank();
void on_preset_save();
+ const std::string pdir() { return options.get_preset_dir();}
+#ifdef HAVE_WEBKIT
void on_online_preset();
void show_online_preset();
- const std::string pdir() { return options.get_preset_dir();}
static bool downloadRequested(WebKitWebView* webView, WebKitDownload *download,gpointer data );
+ static bool uploadRequested(WebKitWebView* webView, WebKitFileChooserRequest *request,gpointer data );
static bool insertRequested(const char* uri, gpointer data );
static void download_status(GObject* object, GParamSpec* pspec, gpointer data);
+#endif
bool on_bank_drag_motion(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint timestamp);
void on_bank_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const Gtk::SelectionData& data, guint info, guint timestamp);
void on_bank_drag_data_get(const Glib::RefPtr<Gdk::DragContext>& context, Gtk::SelectionData& selection, int info, int timestamp);
diff --git a/trunk/wscript b/trunk/wscript
index 9c0e41b..99cab29 100644
--- a/trunk/wscript
+++ b/trunk/wscript
@@ -24,7 +24,7 @@ blddir = 'build'
use_2to3 = True
# used by waf dist and waf build
-VERSION='0.34.0'
+VERSION='0.34.0git'
APPNAME='guitarix'
good_faust_versions = ['0.9.58','0.9.65']
@@ -649,7 +649,7 @@ def configure(conf):
conf.check_cfg(package='lrdf', args='--cflags --libs', uselib_store='LRDF', mandatory=1)
conf.check(header_name='ladspa.h', mandatory=1)
conf.check_cfg(package='lilv-0', args='--cflags --libs', uselib_store='LILV', mandatory=1)
- conf.check_cfg(package='webkit-1.0', args='--cflags --libs', uselib_store='WEBKIT', mandatory=1)
+ conf.check_cfg(package='webkit-1.0', args='--cflags --libs', uselib_store='WEBKIT', mandatory=0, define_name='HAVE_WEBKIT')
check_boost(conf)
conf.check_cfg(package='lv2', atleast_version='1.2.0',args='--cflags --libs', uselib_store='LV2CORE', mandatory=1)
@@ -811,6 +811,7 @@ def configure(conf):
display_feature("Use prebuild gperf files", not conf.env["HAVE_GPERF"])
display_feature("Avahi service discovery", conf.env["HAVE_AVAHI"])
display_feature("Bluetooth rfcomm", conf.env["HAVE_BLUEZ"])
+ display_feature("Use Webkit", conf.env["HAVE_WEBKIT"])
display_feature("Use internal zita-resampler", not conf.env['ZITA_RESAMPLER'])
if conf.env['CONVOLVER_FFMPEG']:
display_feature("Use zita-convolver-ffmpeg", True)
--
1.8.4