[SCM] calf/master: Remove obsolete file.

js at users.alioth.debian.org js at users.alioth.debian.org
Tue May 7 15:40:45 UTC 2013


The following commit has been merged in the master branch:
commit 90d725a4d3b2b5afba2bb893b38d97329cd60ad2
Author: Krzysztof Foltman <wdev at foltman.com>
Date:   Fri Dec 16 23:02:15 2011 +0000

    Remove obsolete file.

diff --git a/src/dssigui.cpp b/src/dssigui.cpp
deleted file mode 100644
index cbab396..0000000
--- a/src/dssigui.cpp
+++ /dev/null
@@ -1,678 +0,0 @@
-/* Calf DSP Library utility application.
- * DSSI GUI application.
- * Copyright (C) 2007 Krzysztof Foltman
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this program; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
- * Boston, MA  02110-1301  USA
- */
-#include <calf/giface.h>
-#include <calf/gui.h>
-#include <calf/osctl_glib.h>
-#include <calf/preset.h>
-#include <getopt.h>
-
-using namespace std;
-using namespace dsp;
-using namespace calf_plugins;
-using namespace osctl;
-
-#define debug_printf(...)
-
-struct cairo_params
-{
-    enum { HAS_COLOR = 1, HAS_WIDTH = 2 };
-    uint32_t flags;
-    float r, g, b, a;
-    float line_width;
-    
-    cairo_params()
-    : flags(0)
-    , r(0.f)
-    , g(0.f)
-    , b(0.f)
-    , a(1.f)
-    , line_width(1)
-    {
-    }
-};
-
-struct graph_item: public cairo_params
-{
-    float data[128];
-};
-
-struct dot_item: public cairo_params
-{
-    float x, y;
-    int32_t size;
-};
-
-struct gridline_item: public cairo_params
-{
-    float pos;
-    int32_t vertical;
-    std::string text;
-};
-
-struct param_line_graphs
-{
-    vector<graph_item *> graphs;
-    vector<dot_item *> dots;
-    vector<gridline_item *> gridlines;
-    
-    void clear();
-};
-
-void param_line_graphs::clear()
-{
-    for (size_t i = 0; i < graphs.size(); i++)
-        delete graphs[i];
-    graphs.clear();
-
-    for (size_t i = 0; i < dots.size(); i++)
-        delete dots[i];
-    dots.clear();
-
-    for (size_t i = 0; i < gridlines.size(); i++)
-        delete gridlines[i];
-    gridlines.clear();
-
-}
-
-struct plugin_proxy: public plugin_ctl_iface, public line_graph_iface
-{
-    osc_client *client;
-    bool send_osc;
-    plugin_gui *gui;
-    map<string, string> cfg_vars;
-    int param_count;
-    float *params;
-    map<int, param_line_graphs> graphs;
-    bool update_graphs;
-    const plugin_metadata_iface *metadata;
-    vector<string> new_status;
-    uint32_t new_status_serial;
-    bool is_lv2;
-
-    plugin_proxy(const plugin_metadata_iface *md, bool _is_lv2)
-    {
-        new_status_serial = 0;
-        metadata = md;
-        client = NULL;
-        send_osc = false;
-        update_graphs = true;
-        gui = NULL;
-        param_count = md->get_param_count();
-        params = new float[param_count];
-        for (int i = 0; i < param_count; i++)
-            params[i] = metadata->get_param_props(i)->def_value;
-        is_lv2 = _is_lv2;
-    }
-    virtual float get_param_value(int param_no) {
-        if (param_no < 0 || param_no >= param_count)
-            return 0;
-        return params[param_no];
-    }
-    virtual void set_param_value(int param_no, float value) {
-        if (param_no < 0 || param_no >= param_count)
-            return;
-        update_graphs = true;
-        params[param_no] = value;
-        if (send_osc)
-        {
-            osc_inline_typed_strstream str;
-            str << (uint32_t)(param_no + metadata->get_param_port_offset()) << value;
-            client->send("/control", str);
-        }
-    }
-    virtual bool activate_preset(int bank, int program) { 
-        if (send_osc) {
-            osc_inline_typed_strstream str;
-            str << (uint32_t)(bank) << (uint32_t)(program);
-            client->send("/program", str);
-            return false;
-        }
-        return false;
-    }
-    virtual float get_level(unsigned int port) { return 0.f; }
-    virtual void execute(int command_no) { 
-        if (send_osc) {
-            stringstream ss;
-            ss << command_no;
-            
-            osc_inline_typed_strstream str;
-            str << "ExecCommand" << ss.str();
-            client->send("/configure", str);
-            
-            str.clear();
-            str << "ExecCommand" << "";
-            client->send("/configure", str);
-        }
-    }
-    char *configure(const char *key, const char *value) { 
-        // do not store temporary vars in presets
-        osc_inline_typed_strstream str;
-        if (value)
-        {
-            if (strncmp(key, "OSC:", 4))
-                cfg_vars[key] = value;
-            str << key << value;
-        }
-        else
-            str << key;
-        client->send("/configure", str);
-        return NULL;
-    }
-    void send_configures(send_configure_iface *sci) { 
-        for (map<string, string>::iterator i = cfg_vars.begin(); i != cfg_vars.end(); i++)
-            sci->send_configure(i->first.c_str(), i->second.c_str());
-    }
-    virtual int send_status_updates(send_updates_iface *sui, int last_serial)
-    {
-        if ((int)new_status_serial != last_serial)
-        {
-            for (size_t i = 0; i < (new_status.size() & ~1); i += 2)
-            {
-                sui->send_status(new_status[i].c_str(), new_status[i + 1].c_str());
-            }
-            return new_status_serial;
-        }
-        if (!is_lv2)
-        {
-            osc_inline_typed_strstream str;
-            str << "OSC:SEND_STATUS" << calf_utils::i2s(last_serial);
-            client->send("/configure", str);
-            return last_serial;
-        }
-        else
-        {
-            osc_inline_typed_strstream str;
-            str << (uint32_t)last_serial;
-            client->send("/send_status", str);
-            return last_serial;
-        }
-    }
-    virtual const line_graph_iface *get_line_graph_iface() const { return this; }
-    virtual bool get_graph(int index, int subindex, float *data, int points, cairo_iface *context) const;
-    virtual bool get_dot(int index, int subindex, float &x, float &y, int &size, cairo_iface *context) const;
-    virtual bool get_gridline(int index, int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
-    void update_cairo_context(cairo_iface *context, cairo_params &item) const;
-    virtual const plugin_metadata_iface *get_metadata_iface() const { return metadata; }
-};
-
-bool plugin_proxy::get_graph(int index, int subindex, float *data, int points, cairo_iface *context) const
-{
-    if (!graphs.count(index))
-        return false;
-    const param_line_graphs &g = graphs.find(index)->second;
-    if (subindex < (int)g.graphs.size())
-    {
-        float *sdata = g.graphs[subindex]->data;
-        for (int i = 0; i < points; i++) {
-            float pos = i * 127.0 / points;
-            int ipos = i * 127 / points;
-            data[i] = sdata[ipos] + (sdata[ipos + 1] - sdata[ipos]) * (pos-ipos);
-        }
-        update_cairo_context(context, *g.graphs[subindex]);
-        return true;
-    }
-    return false;
-}
-
-bool plugin_proxy::get_dot(int index, int subindex, float &x, float &y, int &size, cairo_iface *context) const
-{
-    if (!graphs.count(index))
-        return false;
-    const param_line_graphs &g = graphs.find(index)->second;
-    if (subindex < (int)g.dots.size())
-    {
-        dot_item &item = *g.dots[subindex];
-        x = item.x;
-        y = item.y;
-        size = item.size;
-        update_cairo_context(context, item);
-        return true;
-    }
-    return false;
-}
-
-bool plugin_proxy::get_gridline(int index, int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
-{
-    if (!graphs.count(index))
-        return false;
-    const param_line_graphs &g = graphs.find(index)->second;
-    if (subindex < (int)g.gridlines.size())
-    {
-        gridline_item &item = *g.gridlines[subindex];
-        pos = item.pos;
-        vertical = item.vertical != 0;
-        legend = item.text;
-        update_cairo_context(context, item);
-        return true;
-    }
-    return false;
-}
-
-void plugin_proxy::update_cairo_context(cairo_iface *context, cairo_params &item) const
-{
-    if (item.flags & cairo_params::HAS_COLOR)
-        context->set_source_rgba(item.r, item.g, item.b, item.a);
-    if (item.flags & cairo_params::HAS_WIDTH)
-        context->set_line_width(item.line_width);
-}
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-GMainLoop *mainloop;
-
-static bool osc_debug = false;
-
-struct dssi_osc_server: public osc_glib_server, public osc_message_sink<osc_strstream>, public gui_environment
-{
-    plugin_proxy *plugin;
-    plugin_gui_window *window;
-    string effect_name, title;
-    osc_client cli;
-    bool in_program, enable_dump;
-    vector<plugin_preset> presets;
-    /// Timeout callback source ID
-    int source_id;
-    bool osc_link_active;
-    /// If we're communicating with the LV2 external UI bridge, use a slightly different protocol
-    bool is_lv2;
-    
-    dssi_osc_server()
-    : plugin(NULL)
-    , window(new plugin_gui_window(this, NULL))
-    {
-        sink = this;
-        source_id = 0;
-        osc_link_active = false;
-        is_lv2 = false;
-    }
-    
-    void set_plugin(const char *arg)
-    {
-        const plugin_metadata_iface *pmi = plugin_registry::instance().get_by_id(arg);
-        if (!pmi)
-        {
-            pmi = plugin_registry::instance().get_by_uri(arg);
-            if (pmi)
-                is_lv2 = true;
-        }
-        if (!pmi)
-        {
-            fprintf(stderr, "Unknown plugin: %s\n", arg);
-            exit(1);
-        }
-        effect_name = pmi->get_id();
-        plugin = new plugin_proxy(pmi, is_lv2);
-    }
-    
-    static void on_destroy(GtkWindow *window, dssi_osc_server *self)
-    {
-        debug_printf("on_destroy, have to send \"exiting\"\n");
-        bool result = self->cli.send("/exiting");
-        debug_printf("result = %d\n", result ? 1 : 0);
-        g_main_loop_quit(mainloop);
-        // eliminate a warning with empty debug_printf
-        result = false;
-    }
-    
-    void create_window()
-    {
-        plugin->client = &cli;
-        plugin->send_osc = true;
-        conditions.insert("dssi");
-        conditions.insert("configure");
-        conditions.insert("directlink");
-        window->create(plugin, title.c_str(), effect_name.c_str());
-        plugin->gui = window->gui;
-        gtk_signal_connect(GTK_OBJECT(window->toplevel), "destroy", G_CALLBACK(on_destroy), this);
-        vector<plugin_preset> tmp_presets;
-        get_builtin_presets().get_for_plugin(presets, effect_name.c_str());
-        get_user_presets().get_for_plugin(tmp_presets, effect_name.c_str());
-        presets.insert(presets.end(), tmp_presets.begin(), tmp_presets.end());
-        source_id = g_timeout_add_full(G_PRIORITY_LOW, 1000/30, on_idle, this, NULL);
-    }
-    
-    static gboolean on_idle(void *self)
-    {
-        dssi_osc_server *self_ptr = (dssi_osc_server *)(self);
-        if (self_ptr->osc_link_active)
-            self_ptr->send_osc_update();
-        return TRUE;
-    }
-    
-    void set_osc_update(bool enabled);
-    void send_osc_update();
-    
-    virtual void receive_osc_message(std::string address, std::string args, osc_strstream &buffer);
-    void unmarshal_line_graph(osc_strstream &buffer);
-};
-
-void dssi_osc_server::set_osc_update(bool enabled)
-{
-    if (is_lv2)
-    {
-        osc_inline_typed_strstream data;
-        data << ((uint32_t)(enabled ? 1 : 0));
-        cli.send("/enable_updates", data);
-    }
-    else
-    {
-        osc_link_active = enabled;
-        osc_inline_typed_strstream data;
-        data << "OSC:FEEDBACK_URI";
-        data << (enabled ? get_url() : "");
-        cli.send("/configure", data);
-    }
-}
-
-void dssi_osc_server::send_osc_update()
-{
-    // LV2 is updating via run() callback in the external UI library, so this is not needed
-    if (is_lv2)
-        return;
-    
-    static int serial_no = 0;
-    osc_inline_typed_strstream data;
-    data << "OSC:UPDATE";
-    data << calf_utils::i2s(serial_no++);
-    cli.send("/configure", data);
-}
-
-void dssi_osc_server::unmarshal_line_graph(osc_strstream &buffer)
-{
-    uint32_t cmd;
-    
-    do {
-        buffer >> cmd;
-        if (cmd == LGI_GRAPH)
-        {
-            uint32_t param;
-            buffer >> param;
-            param_line_graphs &graphs = plugin->graphs[param];
-            
-            graphs.clear();
-            cairo_params params;
-
-            do {
-                buffer >> cmd;
-                if (cmd == LGI_SET_RGBA)
-                {
-                    params.flags |= cairo_params::HAS_COLOR;
-                    buffer >> params.r >> params.g >> params.b >> params.a;
-                }
-                else
-                if (cmd == LGI_SET_WIDTH)
-                {
-                    params.flags |= cairo_params::HAS_WIDTH;
-                    buffer >> params.line_width;
-                }
-                else
-                if (cmd == LGI_SUBGRAPH)
-                {
-                    buffer >> param; // ignore number of points
-                    graph_item *gi = new graph_item;
-                    (cairo_params &)*gi = params;
-                    for (int i = 0; i < 128; i++)
-                        buffer >> gi->data[i];
-                    graphs.graphs.push_back(gi);
-                    params.flags = 0;
-                }
-                else
-                if (cmd == LGI_DOT)
-                {
-                    dot_item *di = new dot_item;
-                    (cairo_params &)*di = params;
-                    buffer >> di->x >> di->y >> di->size;
-                    graphs.dots.push_back(di);
-                    params.flags = 0;
-                }
-                else
-                if (cmd == LGI_LEGEND)
-                {
-                    gridline_item *li = new gridline_item;
-                    (cairo_params &)*li = params;
-                    buffer >> li->pos >> li->vertical >> li->text;
-                    graphs.gridlines.push_back(li);
-                    params.flags = 0;
-                }
-                else
-                    break;
-            } while(1);
-            
-        }
-        else
-            break;
-    } while(1);
-}
-
-void dssi_osc_server::receive_osc_message(std::string address, std::string args, osc_strstream &buffer)
-{
-    if (osc_debug)
-        dump.receive_osc_message(address, args, buffer);
-    if (address == prefix + "/update" && args == "s")
-    {
-        string str;
-        buffer >> str;
-        debug_printf("UPDATE: %s\n", str.c_str());
-        set_osc_update(true);
-        send_osc_update();
-        return;
-    }
-    else if (address == prefix + "/quit")
-    {
-        set_osc_update(false);
-        debug_printf("QUIT\n");
-        g_main_loop_quit(mainloop);
-        return;
-    }
-    else if (address == prefix + "/configure"&& args == "ss")
-    {
-        string key, value;
-        buffer >> key >> value;
-        // do not store temporary vars in presets
-        if (strncmp(key.c_str(), "OSC:", 4))
-            plugin->cfg_vars[key] = value;
-        // XXXKF perhaps this should be queued !
-        window->gui->refresh();
-        return;
-    }
-    else if (address == prefix + "/program"&& args == "ii")
-    {
-        uint32_t bank, program;
-        
-        buffer >> bank >> program;
-        
-        unsigned int nr = bank * 128 + program;
-        debug_printf("PROGRAM %d\n", nr);
-        if (nr == 0)
-        {
-            bool sosc = plugin->send_osc;
-            plugin->send_osc = false;
-            int count = plugin->metadata->get_param_count();
-            for (int i =0 ; i < count; i++)
-                plugin->set_param_value(i, plugin->metadata->get_param_props(i)->def_value);
-            plugin->send_osc = sosc;
-            window->gui->refresh();
-            // special handling for default preset
-            return;
-        }
-        nr--;
-        if (nr >= presets.size())
-            return;
-        bool sosc = plugin->send_osc;
-        plugin->send_osc = false;
-        presets[nr].activate(plugin);
-        plugin->send_osc = sosc;
-        window->gui->refresh();
-        
-        // cli.send("/update", data);
-        return;
-    }
-    else if (address == prefix + "/control" && args == "if")
-    {
-        uint32_t port;
-        float val;
-        
-        buffer >> port >> val;
-        
-        int idx = port - plugin->metadata->get_param_port_offset();
-        debug_printf("CONTROL %d %f\n", idx, val);
-        bool sosc = plugin->send_osc;
-        plugin->send_osc = false;
-        window->gui->set_param_value(idx, val);
-        plugin->send_osc = sosc;
-        if (plugin->metadata->get_param_props(idx)->flags & PF_PROP_GRAPH)
-            plugin->update_graphs = true;
-        return;
-    }
-    else if (address == prefix + "/show")
-    {
-        set_osc_update(true);
-
-        gtk_widget_show(GTK_WIDGET(window->toplevel));
-        return;
-    }
-    else if (address == prefix + "/hide")
-    {
-        set_osc_update(false);
-
-        gtk_widget_hide(GTK_WIDGET(window->toplevel));
-        return;
-    }
-    else if (address == prefix + "/lineGraph")
-    {
-        unmarshal_line_graph(buffer);
-        if (plugin->update_graphs) {
-            // updates graphs that are only redrawn on startup and parameter changes
-            // (the OSC message may come a while after the parameter has been changed,
-            // so the redraw triggered by parameter change usually shows stale values)
-            window->gui->refresh();
-            plugin->update_graphs = false;
-        }
-        return;
-    }
-    else if (address == prefix + "/status_data" && (args.length() & 1) && args[args.length() - 1] == 'i')
-    {
-        int len = (int)args.length();
-        plugin->new_status.clear();
-        
-        for (int pos = 0; pos < len - 2; pos += 2)
-        {
-            if (args[pos] == 's' && args[pos+1] == 's')
-            {
-                string key, value;
-                buffer >> key >> value;
-                plugin->new_status.push_back(key);
-                plugin->new_status.push_back(value);
-            }
-        }
-        buffer >> plugin->new_status_serial;
-        return;
-    }
-    else
-        printf("Unknown OSC address: %s\n", address.c_str());
-}
-
-//////////////////////////////////////////////////////////////////////////////////
-
-void help(char *argv[])
-{
-    printf("GTK+ user interface for Calf DSSI plugins\nSyntax: %s [--help] [--version] <osc-url> <so-file> <plugin-label> <instance-name>\n", argv[0]);
-}
-
-static struct option long_options[] = {
-    {"help", 0, 0, 'h'},
-    {"version", 0, 0, 'v'},
-    {"debug", 0, 0, 'd'},
-    {0,0,0,0},
-};
-
-int main(int argc, char *argv[])
-{
-    char *debug_var = getenv("OSC_DEBUG");
-    if (debug_var && atoi(debug_var))
-        osc_debug = true;
-    
-    gtk_rc_add_default_file(PKGLIBDIR "calf.rc");
-    gtk_init(&argc, &argv);
-    while(1) {
-        int option_index;
-        int c = getopt_long(argc, argv, "dhv", long_options, &option_index);
-        if (c == -1)
-            break;
-        switch(c) {
-            case 'd':
-                osc_debug = true;
-                break;
-            case 'h':
-                help(argv);
-                return 0;
-            case 'v':
-                printf("%s\n", PACKAGE_STRING);
-                return 0;
-        }
-    }
-    if (argc - optind != 4)
-    {
-        help(argv);
-        exit(0);
-    }
-
-    try {
-        get_builtin_presets().load_defaults(true);
-        get_user_presets().load_defaults(false);
-    }
-    catch(calf_plugins::preset_exception &e)
-    {
-        fprintf(stderr, "Error while loading presets: %s\n", e.what());
-        exit(1);
-    }
-
-    dssi_osc_server srv;
-    srv.set_plugin(argv[optind + 2]);
-    srv.prefix = "/dssi/"+string(argv[optind + 1]) + "/" + srv.effect_name;
-    srv.title = argv[optind + 3];
-    
-    srv.bind();
-    srv.create_window();
-    
-    mainloop = g_main_loop_new(NULL, FALSE);
-
-    srv.cli.bind();
-    srv.cli.set_url(argv[optind]);
-    
-    debug_printf("URI = %s\n", srv.get_url().c_str());
-    
-    osc_inline_typed_strstream data;
-    data << srv.get_url();
-    if (!srv.cli.send("/update", data))
-    {
-        g_error("Could not send the initial update message via OSC to %s", argv[optind]);
-        return 1;
-    }
-    
-    g_main_loop_run(mainloop);
-    if (srv.source_id)
-        g_source_remove(srv.source_id);
-
-    srv.set_osc_update(false);
-    debug_printf("exited\n");
-    
-    return 0;
-}

-- 
calf audio plugins packaging



More information about the pkg-multimedia-commits mailing list