BtIcLearn

BtIcLearn — interface for devices with learn function

Synopsis

#include <libbtic/ic.h>

                    BtIcLearn;
gboolean            btic_learn_start                    (const BtIcLearn *self);
gboolean            btic_learn_stop                     (const BtIcLearn *self);
BtIcControl *       btic_learn_register_learned_control (const BtIcLearn *self,
                                                         const gchar *name);
gboolean            btic_learn_load_controller_map      (const BtIcLearn *self);
gboolean            btic_learn_store_controller_map     (const BtIcLearn *self);
gboolean            (*btic_learn_virtual_start)         (gconstpointer self);
gboolean            (*btic_learn_virtual_stop)          (gconstpointer self);
BtIcControl *       (*btic_learn_virtual_register_learned_control)
                                                        (gconstpointer self,
                                                         const gchar *name);

Object Hierarchy

  GInterface
   +----BtIcLearn

Known Implementations

BtIcLearn is implemented by BtIcMidiDevice.

Properties

  "device-controlchange"     gchar*                : Read / Write

Description

An interface which all devices which support interactive learning of controls should implement.

The interface comes with an implementation for caching the learned controls. The implementor needs to call btic_learn_load_controller_map() after construction and btic_learn_store_controller_map() when a control got added.

Details

BtIcLearn

typedef struct _BtIcLearn BtIcLearn;

interface for devices which implement a learn-function


btic_learn_start ()

gboolean            btic_learn_start                    (const BtIcLearn *self);

Starts the device if needed and enables the learn function. Starts emission of notify::devide-controlchange signals.

self :

the device which implements the BtIcLearn interface

Returns :

TRUE for success

btic_learn_stop ()

gboolean            btic_learn_stop                     (const BtIcLearn *self);

Eventually stops the device and disables the learn function. Stops emission of notify::devide-controlchange signals.

self :

the device which implements the BtIcLearn interface

Returns :

TRUE for success

btic_learn_register_learned_control ()

BtIcControl *       btic_learn_register_learned_control (const BtIcLearn *self,
                                                         const gchar *name);

Registers the last detected control with name name.

self :

the device which implements the BtIcLearn interface

name :

the name under which to register the control

Returns :

TRUE for success

btic_learn_load_controller_map ()

gboolean            btic_learn_load_controller_map      (const BtIcLearn *self);

Create initial set of controls from a stored control map. Interface implementations should call this from their GObjectClass.constructed() function.

self :

the device

Returns :

TRUE for success

btic_learn_store_controller_map ()

gboolean            btic_learn_store_controller_map     (const BtIcLearn *self);

Store a map of all controls to disk. Interface implementations should call this from their btic_learn_register_learned_control() function after they registered a new control.

self :

the device

Returns :

TRUE for success

btic_learn_virtual_start ()

gboolean            (*btic_learn_virtual_start)         (gconstpointer self);

Subclasses will override this methods with a function which enables the learning mode on this device.

self :

device instance

Returns :

TRUE for success

btic_learn_virtual_stop ()

gboolean            (*btic_learn_virtual_stop)          (gconstpointer self);

Subclasses will override this methods with a function which disables the learning mode on this device.

self :

device instance

Returns :

TRUE for success

btic_learn_virtual_register_learned_control ()

BtIcControl *       (*btic_learn_virtual_register_learned_control)
                                                        (gconstpointer self,
                                                         const gchar *name);

Subclasses will override this methods with a function which registers the last control which was detected in learn mode.

self :

device instance

name :

the name under which to register the control

Returns :

TRUE for success

Property Details

The "device-controlchange" property

  "device-controlchange"     gchar*                : Read / Write

get the last detected control.

Default value: NULL