Mercurial > hg > vamp-plugin-sdk
comparison vamp-sdk/Plugin.h @ 27:44ec6c633113
* Permit plugins to vary the number of values per output based on the number
of channels, step size, and block size passed to initialise().
author | cannam |
---|---|
date | Wed, 10 May 2006 16:30:39 +0000 |
parents | 68b8b32a2070 |
children | 154f86cb8c99 |
comparison
equal
deleted
inserted
replaced
26:c29eccb892f1 | 27:44ec6c633113 |
---|---|
77 * some or all of them. Parameters that are not explicitly set should | 77 * some or all of them. Parameters that are not explicitly set should |
78 * take their default values as specified in the parameter descriptor. | 78 * take their default values as specified in the parameter descriptor. |
79 * When a program is set, the parameter values may change and the host | 79 * When a program is set, the parameter values may change and the host |
80 * will re-query them to check. | 80 * will re-query them to check. |
81 * | 81 * |
82 * 4. Host queries the preferred step size, block size, number of | 82 * 4. Host queries the preferred step size, block size and number of |
83 * channels, and the number of values per feature for the plugin's | 83 * channels. These may all vary depending on the parameter values. |
84 * outputs. These may all vary depending on the parameter values. | |
85 * (Note however that you cannot make the number of distinct outputs | 84 * (Note however that you cannot make the number of distinct outputs |
86 * dependent on parameter values; nor can you make any of these depend | 85 * dependent on parameter values.) |
87 * on the number of input channels.) | |
88 * | 86 * |
89 * 5. Plugin is properly initialised with a call to initialise. This | 87 * 5. Plugin is properly initialised with a call to initialise. This |
90 * fixes the step size, block size, and number of channels, as well as | 88 * fixes the step size, block size, and number of channels, as well as |
91 * all of the parameter and program settings. If the values passed in | 89 * all of the parameter and program settings. If the values passed in |
92 * to initialise do not match the plugin's advertised preferred values | 90 * to initialise do not match the plugin's advertised preferred values |
93 * from step 4, the plugin may refuse to initialise and return false | 91 * from step 4, the plugin may refuse to initialise and return false |
94 * (although if possible it should accept the new values). | 92 * (although if possible it should accept the new values). |
95 * | 93 * |
96 * 6. Host will repeatedly call the process method to pass in blocks | 94 * 6. Host finally checks the number of values per output (which may |
95 * vary depending on the number of channels, step size and block size | |
96 * as well as the parameter values). | |
97 * | |
98 * 7. Host will repeatedly call the process method to pass in blocks | |
97 * of input data. This method may return features extracted from that | 99 * of input data. This method may return features extracted from that |
98 * data (if the plugin is causal). | 100 * data (if the plugin is causal). |
99 * | 101 * |
100 * 7. Host will call getRemainingFeatures exactly once, after all the | 102 * 8. Host will call getRemainingFeatures exactly once, after all the |
101 * input data has been processed. This may return any non-causal or | 103 * input data has been processed. This may return any non-causal or |
102 * leftover features. | 104 * leftover features. |
103 * | 105 * |
104 * 8. At any point after initialise was called, the host may | 106 * 9. At any point after initialise was called, the host may |
105 * optionally call the reset method and restart processing. (This | 107 * optionally call the reset method and restart processing. (This |
106 * does not mean it can change the parameters, which are fixed from | 108 * does not mean it can change the parameters, which are fixed from |
107 * initialise until destruction.) | 109 * initialise until destruction.) |
108 * | 110 * |
109 * A plugin does not need to handle the case where setParameter or | 111 * A plugin does not need to handle the case where setParameter or |