bool parameter_is_output (uint32_t) const;
bool parameter_is_toggled (uint32_t) const;
- boost::shared_ptr<Plugin::ScalePoints>
+ boost::shared_ptr<ScalePoints>
get_scale_points(uint32_t port_index) const;
- void set_insert_info(const PluginInsert* insert);
+ void set_insert_id(PBD::ID id);
int set_state (const XMLNode& node, int version);
bool save_preset (std::string uri);
uint32_t format,
const void* buffer);
- void enable_ui_emmission();
+ void enable_ui_emission();
void emit_to_ui(void* controller, UIMessageSink sink);
Worker* worker() { return _worker; }
- uint32_t patch_count() const { return _patch_count; }
- const char * patch_uri(const uint32_t p) const { if (p < _patch_count) return _patch_value_uri[p]; else return NULL; }
- const char * patch_key(const uint32_t p) const { if (p < _patch_count) return _patch_value_key[p]; else return NULL; }
- const char * patch_val(const uint32_t p) const { if (p < _patch_count) return _patch_value_cur[p]; else return NULL; }
- bool patch_set(const uint32_t p, const char * val);
- PBD::Signal1<void,const uint32_t> PatchChanged;
+ URIMap& uri_map() { return _uri_map; }
+ const URIMap& uri_map() const { return _uri_map; }
int work(uint32_t size, const void* data);
int work_response(uint32_t size, const void* data);
- static URIMap _uri_map;
-
- struct URIDs {
- uint32_t atom_Chunk;
- uint32_t atom_Path;
- uint32_t atom_Sequence;
- uint32_t atom_eventTransfer;
- uint32_t atom_URID;
- uint32_t atom_Blank;
- uint32_t log_Error;
- uint32_t log_Note;
- uint32_t log_Warning;
- uint32_t midi_MidiEvent;
- uint32_t time_Position;
- uint32_t time_bar;
- uint32_t time_barBeat;
- uint32_t time_beatUnit;
- uint32_t time_beatsPerBar;
- uint32_t time_beatsPerMinute;
- uint32_t time_frame;
- uint32_t time_speed;
- uint32_t patch_Set;
- uint32_t patch_property;
- uint32_t patch_value;
- };
-
- static URIDs urids;
+ void set_property(uint32_t key, const Variant& value);
+ const PropertyDescriptors& get_supported_properties() const { return _property_descriptors; }
+ const ParameterDescriptor& get_property_descriptor(uint32_t id) const;
+ void announce_property_values();
private:
struct Impl;
framepos_t _next_cycle_start; ///< Expected start frame of next run cycle
double _next_cycle_speed; ///< Expected start frame of next run cycle
PBD::ID _insert_id;
-
- uint32_t _patch_count;
- char ** _patch_value_uri;
- char ** _patch_value_key;
- char (*_patch_value_cur)[PATH_MAX]; ///< current value
- char (*_patch_value_set)[PATH_MAX]; ///< new value to set
- Glib::Threads::Mutex _patch_set_lock;
+ uint32_t _patch_port_in_index;
+ uint32_t _patch_port_out_index;
+ URIMap& _uri_map;
friend const void* lv2plugin_get_port_value(const char* port_symbol,
void* user_data,
std::vector<size_t> _port_minimumSize;
std::map<std::string,uint32_t> _port_indices;
+ PropertyDescriptors _property_descriptors;
+
/// Message send to/from UI via ports
struct UIMessage {
uint32_t index;
void allocate_atom_event_buffers ();
void run (pframes_t nsamples);
+ void load_supported_properties(PropertyDescriptors& descs);
+
void latency_compute_run ();
std::string do_save_preset (std::string);
void do_remove_preset (std::string);