*/
#include <config.h>
+#include <libsigrokflow/legacy_output.hpp>
+#include <glib.h>
#include <iostream>
-#include <libsigrokflow/libsigrokflow.hpp>
+#include <map>
+#include <memory>
+#include <stdexcept>
+#include <string>
+#include <gstreamermm/private/basesink_p.h>
namespace Srf
{
Glib::RefPtr<LegacyOutput>LegacyOutput::create(
shared_ptr<sigrok::OutputFormat> libsigrok_output_format,
- shared_ptr<sigrok::Device> libsigrok_device,
map<string, Glib::VariantBase> options)
{
auto element = Gst::ElementFactory::create_element("sigrok_legacy_output");
throw runtime_error("Failed to create element - plugin not registered?");
auto output = Glib::RefPtr<LegacyOutput>::cast_static(element);
output->libsigrok_output_format_ = libsigrok_output_format;
- output->libsigrok_device_ = libsigrok_device;
+ auto context = libsigrok_output_format->parent();
+ output->libsigrok_device_ = context->create_user_device("Vendor", "Model", "Version");
+ for (int i = 0; i < 8; ++i) {
+ gchar *name = g_strdup_printf("D%d", i);
+ output->libsigrok_device_->add_channel(i, sigrok::ChannelType::LOGIC, name);
+ g_free(name);
+ }
output->options_ = options;
return output;