diff options
author | Len Ovens <len@ovenwerks.net> | 2017-04-29 15:37:31 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-04-29 15:37:31 -0700 |
commit | 73e80b4429c0d6c187acaa270659adc44620e53c (patch) | |
tree | 923bd997ecadc4d453ca1c736abbe8cdd12aac05 /gtk2_ardour | |
parent | a283784cce0c7666f52d92bbbae5bc1c393fcd05 (diff) |
Set -b to open in browser.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 738898d2ef..c45bc08166 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -694,7 +694,41 @@ ARDOUR_UI::post_engine () if (sstr.str().empty()) { return; } - cout << sstr.str().c_str(); + gchar* file_name; + GError *err = NULL; + gint fd; + + if ((fd = g_file_open_tmp ("akprintXXXXXX.html", &file_name, &err)) < 0) { + if (err) { + error << string_compose (_("Could not open temporary file to print bindings (%1)"), err->message) << endmsg; + g_error_free (err); + } + return; + } + +#ifdef PLATFORM_WINDOWS + ::close (fd); +#endif + + err = NULL; + + if (!g_file_set_contents (file_name, sstr.str().c_str(), sstr.str().size(), &err)) { +#ifndef PLATFORM_WINDOWS + ::close (fd); +#endif + g_unlink (file_name); + if (err) { + error << string_compose (_("Could not save bindings to file (%1)"), err->message) << endmsg; + g_error_free (err); + } + return; + } + +#ifndef PLATFORM_WINDOWS + ::close (fd); +#endif + + PBD::open_uri (string_compose ("file:///%1", file_name)); halt_connection.disconnect (); AudioEngine::instance()->stop (); |