Mercurial > audlegacy
comparison src/audacious/plugin.h @ 3760:8fdaccee8312
flows
| author | William Pitcock <nenolod@atheme.org> |
|---|---|
| date | Sun, 14 Oct 2007 21:48:19 -0500 |
| parents | 9e54690956a0 |
| children | a1039487bf3f |
comparison
equal
deleted
inserted
replaced
| 3759:9e54690956a0 | 3760:8fdaccee8312 |
|---|---|
| 87 typedef struct _DiscoveryPlugin DiscoveryPlugin; | 87 typedef struct _DiscoveryPlugin DiscoveryPlugin; |
| 88 typedef struct _LowlevelPlugin LowlevelPlugin; | 88 typedef struct _LowlevelPlugin LowlevelPlugin; |
| 89 | 89 |
| 90 typedef struct _InputPlayback InputPlayback; | 90 typedef struct _InputPlayback InputPlayback; |
| 91 | 91 |
| 92 typedef struct { | |
| 93 Tuple *tuple; | |
| 94 InputPlugin *ip; | |
| 95 } ProbeResult; | |
| 96 | |
| 92 typedef GHashTable INIFile; | 97 typedef GHashTable INIFile; |
| 93 | 98 |
| 94 #include "audacious/playlist.h" | 99 #include "audacious/playlist.h" |
| 95 #include "audacious/input.h" | 100 #include "audacious/input.h" |
| 96 #include "audacious/mime.h" | 101 #include "audacious/mime.h" |
| 97 #include "audacious/custom_uri.h" | 102 #include "audacious/custom_uri.h" |
| 98 #include "audacious/hook.h" | 103 #include "audacious/hook.h" |
| 99 #include "audacious/xconvert.h" | 104 #include "audacious/xconvert.h" |
| 100 #include "audacious/ui_plugin_menu.h" | 105 #include "audacious/ui_plugin_menu.h" |
| 101 #include "audacious/formatter.h" | 106 #include "audacious/formatter.h" |
| 107 #include "audacious/flow.h" | |
| 102 | 108 |
| 103 #define PLUGIN_COMMON_FIELDS \ | 109 #define PLUGIN_COMMON_FIELDS \ |
| 104 gpointer handle; \ | 110 gpointer handle; \ |
| 105 gchar *filename; \ | 111 gchar *filename; \ |
| 106 gchar *description; \ | 112 gchar *description; \ |
| 557 ProbeResult *(*input_check_file)(const gchar * filename, gboolean show_warning); | 563 ProbeResult *(*input_check_file)(const gchar * filename, gboolean show_warning); |
| 558 | 564 |
| 559 /* InputPlayback */ | 565 /* InputPlayback */ |
| 560 InputPlayback *(*playback_new)(void); | 566 InputPlayback *(*playback_new)(void); |
| 561 void (*playback_run)(InputPlayback *); | 567 void (*playback_run)(InputPlayback *); |
| 568 | |
| 569 /* Flows */ | |
| 570 gsize (*flow_execute)(Flow *flow, gint time, gpointer *data, gsize len, AFormat fmt, | |
| 571 gint srate, gint channels); | |
| 572 Flow *(*flow_new)(void); | |
| 573 void (*flow_link_element)(Flow *flow, FlowFunction func); | |
| 574 void (*flow_unlink_element)(Flow *flow, FlowFunction func); | |
| 575 void (*effect_flow)(FlowContext *context); | |
| 576 void (*iir_flow)(FlowContext *context); | |
| 577 void (*volumecontrol_flow)(FlowContext *context); | |
| 562 }; | 578 }; |
| 563 | 579 |
| 564 /* Convenience macros for accessing the public API. */ | 580 /* Convenience macros for accessing the public API. */ |
| 565 /* public name vtable mapping */ | 581 /* public name vtable mapping */ |
| 566 #define aud_vfs_fopen _audvt->vfs_fopen | 582 #define aud_vfs_fopen _audvt->vfs_fopen |
| 875 | 891 |
| 876 #define aud_playback_new _audvt->playback_new | 892 #define aud_playback_new _audvt->playback_new |
| 877 #define aud_playback_run _audvt->playback_run | 893 #define aud_playback_run _audvt->playback_run |
| 878 #define aud_playback_free(x) g_slice_free(InputPlayback, (x)) | 894 #define aud_playback_free(x) g_slice_free(InputPlayback, (x)) |
| 879 | 895 |
| 896 #define aud_flow_execute _audvt->flow_execute | |
| 897 #define aud_flow_new _audvt->flow_new | |
| 898 #define aud_flow_link_element _audvt->flow_link_element | |
| 899 #define aud_flow_unlink_element _audvt->flow_unlink_element | |
| 900 #define aud_effect_flow _audvt->effect_flow | |
| 901 #define aud_iir_flow _audvt->iir_flow | |
| 902 #define aud_volumecontrol_flow _audvt->volumecontrol_flow | |
| 903 #define aud_flow_destroy(flow) mowgli_object_unref(flow) | |
| 904 | |
| 880 #include "audacious/auddrct.h" | 905 #include "audacious/auddrct.h" |
| 881 | 906 |
| 882 /* for multi-file plugins :( */ | 907 /* for multi-file plugins :( */ |
| 883 extern struct _AudaciousFuncTableV1 *_audvt; | 908 extern struct _AudaciousFuncTableV1 *_audvt; |
| 884 | 909 |
