BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bseamplifier.genidl.hh
Go to the documentation of this file.
00001 
00002 /*-------- begin ../sfi/sfidl generated code --------*/
00003 
00004 
00005 
00006 #include <bse/bsecxxplugin.hh>
00007 
00008 
00009 /* enum prototypes */
00010 
00011 
00012 /* choice prototypes */
00013 
00014 
00015 /* record prototypes */
00016 
00017 
00018 /* sequence prototypes */
00019 
00020 
00021 /* class prototypes */
00022 namespace Bse {
00023 class AmplifierBase;
00024 class Amplifier;
00025 #define BSE_TYPE_AMPLIFIER              BSE_CXX_DECLARED_CLASS_TYPE (Bse, Amplifier)
00026 #define BSE_IS_AMPLIFIER(o) (::Bse::CxxBase::instance_is_a (o, BSE_TYPE_AMPLIFIER))
00027 
00028 
00029 /* enum definitions */
00030 
00031 
00032 /* sequence definitions */
00033 
00034 
00035 /* record definitions */
00036 
00037 
00038 /* enum declarations */
00039 
00040 
00041 /* sequence type declarations */
00042 
00043 
00044 /* record type declarations */
00045 
00046 
00047 /* procedure prototypes */
00048 
00049 
00050 /* class definitions */
00051 BSE_CXX_DECLARE_CLASS (Amplifier);
00052 class AmplifierBase : public ::Bse::Effect {
00053   template<bool> static inline const unsigned char* inlined_pixstream();
00054 public:
00055   static inline const unsigned char* pixstream () { return inlined_pixstream<true>(); }
00056   static void               class_init (::Bse::CxxBaseClass *klass);
00057   static inline const char* options   () { return ""; }
00058   static inline const char* category  () { static const char *c = NULL;
00059     return c ? c : c = sfi_category_concat ("/Modules",  ("/Routing/Amplifier")); }
00060   static inline const char* i18n_category  () { static const char *c = NULL;
00061     return c ? c : c = sfi_category_concat ("/Modules", _("/Routing/Amplifier")); }
00062   static inline const char* blurb     () { return _("BseAmplifier provides input signal controlled amplification or attenuation. It supports two control inputs and two audio inputs which are mixed together after balance and level adjustments. The gain setting controls preamplification of the mixed audio signal. The mixed control signal, weighted by a strength setting, determines additional amplification, allowing for external sources to modulate the overall volume (tremolo). The mixed control signal can influence the amplification linearly (to amplify other control signals) or exponentially (to amplify audio signals). Finally, the master volume controls amplification of the resulting output signal."); }
00063   static inline const char* authors   () { return "Tim Janik"; }
00064   static inline const char* license   () { return _("GNU Lesser General Public License"); }
00065   static inline const char* type_name () { return "BseAmplifier"; }
00066 public:
00067   enum {
00068     ICHANNEL_AUDIO_IN1,
00069     ICHANNEL_AUDIO_IN2,
00070     ICHANNEL_CTRL_IN1,
00071     ICHANNEL_CTRL_IN2,
00072     N_ICHANNELS
00073   };
00074 public:
00075   enum {
00076     OCHANNEL_AUDIO_OUT,
00077     N_OCHANNELS
00078   };
00079 protected:
00080   enum AmplifierPropertyID {
00081     PROP_ALEVEL1 = 1,
00082     PROP_ALEVEL2,
00083     PROP_ABALANCE,
00084     PROP_CLEVEL1,
00085     PROP_CLEVEL2,
00086     PROP_CBALANCE,
00087     PROP_CTRL_MUL,
00088     PROP_CTRL_EXP,
00089     PROP_OSTRENGTH,
00090     PROP_BASE_LEVEL,
00091     PROP_MASTER_VOLUME,
00092     PROP_AUDIO_BALANCE,
00093     PROP_CTRL_BALANCE,
00094     PROP_CTRL_STRENGTH_F,
00095     PROP_MASTER_GAIN_F,
00096     PROP_AUDIO_GAIN_F,
00097     PROP_OLEVEL,
00098   };
00099 public:
00100   /* "transport" structure to configure synthesis modules from properties */
00101   struct AmplifierProperties {
00102     typedef AmplifierPropertyID IDType;
00103     Sfi::Real alevel1;
00104     Sfi::Real alevel2;
00105     Sfi::Real abalance;
00106     Sfi::Real clevel1;
00107     Sfi::Real clevel2;
00108     Sfi::Real cbalance;
00109     bool ctrl_mul;
00110     bool ctrl_exp;
00111     Sfi::Real ostrength;
00112     Sfi::Real base_level;
00113     Sfi::Real master_volume;
00114     Sfi::Real audio_balance;
00115     Sfi::Real ctrl_balance;
00116     Sfi::Real ctrl_strength_f;
00117     Sfi::Real master_gain_f;
00118     Sfi::Real audio_gain_f;
00119     Sfi::Real olevel;
00120     explicit AmplifierProperties (AmplifierBase *p) :
00121       alevel1 (p->alevel1),
00122       alevel2 (p->alevel2),
00123       abalance (p->abalance),
00124       clevel1 (p->clevel1),
00125       clevel2 (p->clevel2),
00126       cbalance (p->cbalance),
00127       ctrl_mul (p->ctrl_mul),
00128       ctrl_exp (p->ctrl_exp),
00129       ostrength (p->ostrength),
00130       base_level (p->base_level),
00131       master_volume (p->master_volume),
00132       audio_balance (p->audio_balance),
00133       ctrl_balance (p->ctrl_balance),
00134       ctrl_strength_f (p->ctrl_strength_f),
00135       master_gain_f (p->master_gain_f),
00136       audio_gain_f (p->audio_gain_f),
00137       olevel (p->olevel)
00138     {
00139     }
00140   };
00141 protected:
00142   typedef void AutoUpdateCategory;
00143 protected:
00144   Sfi::Real alevel1;
00145   Sfi::Real alevel2;
00146   Sfi::Real abalance;
00147   Sfi::Real clevel1;
00148   Sfi::Real clevel2;
00149   Sfi::Real cbalance;
00150   bool ctrl_mul;
00151   bool ctrl_exp;
00152   Sfi::Real ostrength;
00153   Sfi::Real base_level;
00154   Sfi::Real master_volume;
00155   Sfi::Real audio_balance;
00156   Sfi::Real ctrl_balance;
00157   Sfi::Real ctrl_strength_f;
00158   Sfi::Real master_gain_f;
00159   Sfi::Real audio_gain_f;
00160   Sfi::Real olevel;
00161 public:
00162   void get_property (AmplifierPropertyID prop_id, ::Bse::Value &value, GParamSpec *pspec)
00163   {
00164     switch (prop_id) {
00165     case PROP_ALEVEL1:
00166       sfi_value_set_real (&value, alevel1);
00167     break;
00168     case PROP_ALEVEL2:
00169       sfi_value_set_real (&value, alevel2);
00170     break;
00171     case PROP_ABALANCE:
00172       sfi_value_set_real (&value, abalance);
00173     break;
00174     case PROP_CLEVEL1:
00175       sfi_value_set_real (&value, clevel1);
00176     break;
00177     case PROP_CLEVEL2:
00178       sfi_value_set_real (&value, clevel2);
00179     break;
00180     case PROP_CBALANCE:
00181       sfi_value_set_real (&value, cbalance);
00182     break;
00183     case PROP_CTRL_MUL:
00184       sfi_value_set_bool (&value, ctrl_mul);
00185     break;
00186     case PROP_CTRL_EXP:
00187       sfi_value_set_bool (&value, ctrl_exp);
00188     break;
00189     case PROP_OSTRENGTH:
00190       sfi_value_set_real (&value, ostrength);
00191     break;
00192     case PROP_BASE_LEVEL:
00193       sfi_value_set_real (&value, base_level);
00194     break;
00195     case PROP_MASTER_VOLUME:
00196       sfi_value_set_real (&value, master_volume);
00197     break;
00198     case PROP_AUDIO_BALANCE:
00199       sfi_value_set_real (&value, audio_balance);
00200     break;
00201     case PROP_CTRL_BALANCE:
00202       sfi_value_set_real (&value, ctrl_balance);
00203     break;
00204     case PROP_CTRL_STRENGTH_F:
00205       sfi_value_set_real (&value, ctrl_strength_f);
00206     break;
00207     case PROP_MASTER_GAIN_F:
00208       sfi_value_set_real (&value, master_gain_f);
00209     break;
00210     case PROP_AUDIO_GAIN_F:
00211       sfi_value_set_real (&value, audio_gain_f);
00212     break;
00213     case PROP_OLEVEL:
00214       sfi_value_set_real (&value, olevel);
00215     break;
00216     };
00217   }
00218   void set_property (AmplifierPropertyID prop_id, const ::Bse::Value &value, GParamSpec *pspec)
00219   {
00220     switch (prop_id) {
00221     case PROP_ALEVEL1:
00222       alevel1 = sfi_value_get_real (&value);
00223     break;
00224     case PROP_ALEVEL2:
00225       alevel2 = sfi_value_get_real (&value);
00226     break;
00227     case PROP_ABALANCE:
00228       abalance = sfi_value_get_real (&value);
00229     break;
00230     case PROP_CLEVEL1:
00231       clevel1 = sfi_value_get_real (&value);
00232     break;
00233     case PROP_CLEVEL2:
00234       clevel2 = sfi_value_get_real (&value);
00235     break;
00236     case PROP_CBALANCE:
00237       cbalance = sfi_value_get_real (&value);
00238     break;
00239     case PROP_CTRL_MUL:
00240       ctrl_mul = sfi_value_get_bool (&value);
00241     break;
00242     case PROP_CTRL_EXP:
00243       ctrl_exp = sfi_value_get_bool (&value);
00244     break;
00245     case PROP_OSTRENGTH:
00246       ostrength = sfi_value_get_real (&value);
00247     break;
00248     case PROP_BASE_LEVEL:
00249       base_level = sfi_value_get_real (&value);
00250     break;
00251     case PROP_MASTER_VOLUME:
00252       master_volume = sfi_value_get_real (&value);
00253     break;
00254     case PROP_AUDIO_BALANCE:
00255       audio_balance = sfi_value_get_real (&value);
00256     break;
00257     case PROP_CTRL_BALANCE:
00258       ctrl_balance = sfi_value_get_real (&value);
00259     break;
00260     case PROP_CTRL_STRENGTH_F:
00261       ctrl_strength_f = sfi_value_get_real (&value);
00262     break;
00263     case PROP_MASTER_GAIN_F:
00264       master_gain_f = sfi_value_get_real (&value);
00265     break;
00266     case PROP_AUDIO_GAIN_F:
00267       audio_gain_f = sfi_value_get_real (&value);
00268     break;
00269     case PROP_OLEVEL:
00270       olevel = sfi_value_get_real (&value);
00271     break;
00272     };
00273     property_changed (AmplifierPropertyID (prop_id));
00274     update_modules();
00275     switch (prop_id) {
00276     default: ;
00277     };
00278   }
00279   virtual bool editable_property (AmplifierPropertyID prop_id, GParamSpec *pspec)
00280   {
00281     return true;
00282   }
00283   virtual void get_candidates (AmplifierPropertyID prop_id, ::Bse::PropertyCandidatesHandle &pch, GParamSpec *pspec)
00284   {
00285   }
00286   void property_updated (AmplifierPropertyID prop_id, guint64 tick_stamp, double prop_value, GParamSpec *pspec)
00287   {
00288     bool seen_change = false;
00289     switch (prop_id) {
00290     default: ;
00291     };
00292     if (seen_change &&
00293         property_changed (AmplifierPropertyID (prop_id)))
00294       update_modules();
00295   }
00296 private:
00297   static struct StaticData {
00298     int dummy;
00299   } static_data;
00300 protected:
00301   virtual bool property_changed (AmplifierPropertyID) { return false; }
00302   virtual ~AmplifierBase ()
00303   {
00304   }
00305 public:
00306 };
00307 
00308 
00309 /* choice implementations */
00310 
00311 
00312 /* record implementations */
00313 
00314 
00315 /* sequence implementations */
00316 
00317 
00318 /* class implementations */
00319 void
00320 AmplifierBase::class_init (::Bse::CxxBaseClass *klass)
00321 {
00322   klass->set_accessors (::Bse::cxx_get_property_trampoline<AmplifierBase, AmplifierPropertyID>,
00323                         ::Bse::cxx_set_property_trampoline<AmplifierBase, AmplifierPropertyID>,
00324                         ::Bse::cxx_editable_property_trampoline<AmplifierBase, AmplifierPropertyID>,
00325                         ::Bse::cxx_get_candidates_trampoline<AmplifierBase, AmplifierPropertyID>,
00326                         NULL);
00327   klass->add_param (PROP_ALEVEL1, sfidl_pspec_Perc (_("Audio Input"),"/opt/src/beast/plugins/bseamplifier.idl",767,"alevel1",_ ( "Input 1 [%]" ) , _ ( "Attenuate the level of audio input 1" ) , 100LL , ":r:w:S:G:"));
00328   klass->add_param (PROP_ALEVEL2, sfidl_pspec_Perc (_("Audio Input"),"/opt/src/beast/plugins/bseamplifier.idl",768,"alevel2",_ ( "Input 2 [%]" ) , _ ( "Attenuate the level of audio input 2" ) , 100LL , ":r:w:S:G:"));
00329   klass->add_param (PROP_ABALANCE, sfidl_pspec_Balance (_("Audio Input"),"/opt/src/beast/plugins/bseamplifier.idl",769,"abalance",_ ( "Balance" ) , _ ( "Balance audio input levels" ) , 0LL , ":r:w:G:"));
00330   klass->add_param (PROP_CLEVEL1, sfidl_pspec_Perc (_("Control Input"),"/opt/src/beast/plugins/bseamplifier.idl",772,"clevel1",_ ( "Input 1 [%]" ) , _ ( "Attenuate the level of control input 1" ) , 100LL , ":r:w:S:G:"));
00331   klass->add_param (PROP_CLEVEL2, sfidl_pspec_Perc (_("Control Input"),"/opt/src/beast/plugins/bseamplifier.idl",773,"clevel2",_ ( "Input 2 [%]" ) , _ ( "Attenuate the level of control input 2" ) , 100LL , ":r:w:S:G:"));
00332   klass->add_param (PROP_CBALANCE, sfidl_pspec_Balance (_("Control Input"),"/opt/src/beast/plugins/bseamplifier.idl",774,"cbalance",_ ( "Balance" ) , _ ( "Balance control input levels" ) , 0LL , ":r:w:G:"));
00333   klass->add_param (PROP_CTRL_MUL, sfidl_pspec_Bool (_("Control Input"),"/opt/src/beast/plugins/bseamplifier.idl",775,"ctrl_mul",_ ( "Multiply Controls" ) , _ ( "Switch the two control inputs to work like a chain of gain " "controls, rather than mixing them together, weighted by balance." ) , TRUE , ":r:w:S:G:"));
00334   klass->add_param (PROP_CTRL_EXP, sfidl_pspec_Bool (_("Control Input"),"/opt/src/beast/plugins/bseamplifier.idl",779,"ctrl_exp",_ ( "Exponential Control" ) , _ ( "Toggle exponential and linear control response" ) , FALSE , ":r:w:S:G:"));
00335   klass->add_param (PROP_OSTRENGTH, sfidl_pspec_Perc (_("Output"),"/opt/src/beast/plugins/bseamplifier.idl",782,"ostrength",_ ( "Control Strength" ) , _ ( "Adjust how much the control signals affect the output volume" ) , 100LL , ":r:w:S:G:"));
00336   klass->add_param (PROP_BASE_LEVEL, sfidl_pspec_Perc (_("Output"),"/opt/src/beast/plugins/bseamplifier.idl",783,"base_level",_ ( "Base Volume" ) , _ ( "Base amplification (the control signal adds up to this)" ) , 0LL , ":r:w:S:G:"));
00337   klass->add_param (PROP_MASTER_VOLUME, sfidl_pspec_DBVolume (_("Output"),"/opt/src/beast/plugins/bseamplifier.idl",784,"master_volume",_ ( "Master Volume" ) , _ ( "Output stage amplification in decibel" ) , 0LL , -96LL , + 24LL , ":r:w:S:G:"));
00338   klass->add_param (PROP_AUDIO_BALANCE, sfidl_pspec_Balance ("compat","/opt/src/beast/plugins/bseamplifier.idl",787,"audio_balance","" , "" , 0LL , "w"));
00339   klass->add_param (PROP_CTRL_BALANCE, sfidl_pspec_Balance ("compat","/opt/src/beast/plugins/bseamplifier.idl",788,"ctrl_balance","" , "" , 0LL , "w"));
00340   klass->add_param (PROP_CTRL_STRENGTH_F, sfidl_pspec_SfiReal ("compat","/opt/src/beast/plugins/bseamplifier.idl",789,"ctrl_strength_f","" , "" , 1LL , 0LL , 1LL , 1.00000000000000006e-01 , "w"));
00341   klass->add_param (PROP_MASTER_GAIN_F, sfidl_pspec_SfiReal ("compat","/opt/src/beast/plugins/bseamplifier.idl",790,"master_gain_f","" , "" , 1LL , 0LL , 1LL , 1.00000000000000006e-01 , "w"));
00342   klass->add_param (PROP_AUDIO_GAIN_F, sfidl_pspec_SfiReal ("compat","/opt/src/beast/plugins/bseamplifier.idl",791,"audio_gain_f","" , "" , 0LL , 0LL , 1LL , 1.00000000000000006e-01 , "w"));
00343   klass->add_param (PROP_OLEVEL, sfidl_pspec_Perc ("compat","/opt/src/beast/plugins/bseamplifier.idl",792,"olevel","" , "" , 100LL , "w"));
00344   klass->add_ichannel ("audio_in1", _("Audio In1"), _("First audio input"), ICHANNEL_AUDIO_IN1);
00345   klass->add_ichannel ("audio_in2", _("Audio In2"), _("Second audio input"), ICHANNEL_AUDIO_IN2);
00346   klass->add_ichannel ("ctrl_in1", _("Ctrl In1"), _("First control input"), ICHANNEL_CTRL_IN1);
00347   klass->add_ichannel ("ctrl_in2", _("Ctrl In2"), _("Second control input"), ICHANNEL_CTRL_IN2);
00348   klass->add_ochannel ("audio_out", _("Audio Out"), _("Amplified audio output"), OCHANNEL_AUDIO_OUT);
00349 }
00350 
00351 
00352 /* procedure implementations */
00353 
00354 
00355 /* bseamplifier.idl type registrations */
00356 #define BSE_CXX_REGISTER_ALL_TYPES_FROM_BSEAMPLIFIER_IDL() \
00357   BSE_CXX_REGISTER_EFFECT (Amplifier); \
00358   /* bseamplifier.idl type registrations done */
00359 } // Bse
00360 template<bool> const unsigned char*
00361 ::Bse::AmplifierBase::inlined_pixstream()
00362 {
00363   /* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
00364 
00365 #ifdef __SUNPRO_C
00366 #pragma align 4 (local_pixstream)
00367 #endif
00368 #ifdef __GNUC__
00369 static const guint8 local_pixstream[] __attribute__ ((__aligned__ (4))) = 
00370 #else
00371 static const guint8 local_pixstream[] = 
00372 #endif
00373 { ""
00374   /* Pixbuf magic (0x47646b50) */
00375   "GdkP"
00376   /* length: header (24) + pixel_data (4687) */
00377   "\0\0\22g"
00378   /* pixdata_type (0x2010002) */
00379   "\2\1\0\2"
00380   /* rowstride (256) */
00381   "\0\0\1\0"
00382   /* width (64) */
00383   "\0\0\0@"
00384   /* height (64) */
00385   "\0\0\0@"
00386   /* pixel_data: */
00387   "\377\0\0\0\0\377\0\0\0\0\262\0\0\0\0\214Z\0\0\377\264\0\0\0\0\214]\0"
00388   "\0\377\264\0\0\0\0\214`\0\0\377\264\0\0\0\0\214c\0\0\377\264\0\0\0\0"
00389   "\214f\0\0\377\264\0\0\0\0\214i\0\0\377\204\0\0\0\0\1^k\353\311\257\0"
00390   "\0\0\0\214m\0\0\377\204\0\0\0\0\2Gd\367\377bp\353\311\256\0\0\0\0\214"
00391   "p\0\0\377\204\0\0\0\0\3Gd\367\377Qn\367\377ht\353\311\222\0\0\0\0\4^"
00392   "^^~]]]\177TTT\200MMM\200\202JJJ\200\3MMM\200SSS\177TTT~\222\0\0\0\0\214"
00393   "s\0\0\377\204\0\0\0\0\4Gd\367\377Qn\367\377\\w\367\377mx\353\311\216"
00394   "\0\0\0\0\17WWW\177\251\251\250\357\250\250\250\377\233\233\233\377\226"
00395   "\226\226\377\221\221\221\377\216\216\216\377\212\212\212\377\207\207"
00396   "\207\377\204\204\204\377\202\202\202\377\201\201\201\377\211\211\211"
00397   "\377\214\213\213\357LLL\177\217\0\0\0\0\214v\0\0\377\204\0\0\0\0\5Gd"
00398   "\366\377Qn\367\377\\w\367\377g\200\370\377r}\353\311\213\0\0\0\0\16}"
00399   "||\257\247\247\247\377\240\240\240\377\231\231\231\377\223\223\223\377"
00400   "\215\215\215\377\210\210\210\377\204\204\204\377\200\200\200\377|||\377"
00401   "yyy\377vvv\377ttt\377sss\377\202rrr\377\3sss\377}}}\377ccc\257\215\0"
00402   "\0\0\0\214y\0\0\377\204\0\0\0\0\6jo\345uPm\366\377\\w\367\377g\200\370"
00403   "\377r\211\370\377w\201\353\311\210\0\0\0\0\20UUU\177\251\251\251\377"
00404   "\242\242\242\377\232\232\232\377\223\223\223\377\215\215\215\377\206"
00405   "\206\206\377\200\200\200\377{{{\377vvv\377rrr\377nnn\377kkk\377hhh\377"
00406   "fff\377eee\377\203ddd\377\4eee\377ggg\377sss\377@@@\177\213\0\0\0\0\214"
00407   "|\0\0\377\205\0\0\0\0\6nr\345uZu\366\377g\200\370\377r\211\370\377}\222"
00408   "\371\377|\205\353\311\206\0\0\0\0\21\200\200\200\277\247\247\247\377"
00409   "\236\236\236\377\226\226\226\377\216\216\216\377\207\207\207\377\200"
00410   "\200\200\377yyy\377sss\377nnn\377iii\377ddd\377```\377]]]\377ZZZ\377"
00411   "XXX\377WWW\377\203VVV\377\5WWW\377YYY\377[[[\377___\377VVV\277\212\0"
00412   "\0\0\0\214\177\0\0\377\206\0\0\0\0\6rv\345uc}\367\377r\211\370\377}\222"
00413   "\371\377\207\233\371\377\202\211\354\311\203\0\0\0\0\22***\77\253\253"
00414   "\253\376\245\245\245\377\234\234\234\377\223\223\223\377\212\212\212"
00415   "\377\202\202\202\377{{{\377sss\377mmm\377fff\377aaa\377[[[\377WWW\377"
00416   "SSS\377OOO\377LLL\377JJJ\377\204HHH\377\7III\377KKK\377NNN\377QQQ\377"
00417   "UUU\377fff\376\36\36\36\77\210\0\0\0\0\214\202\0\0\377\207\0\0\0\0\33"
00418   "vy\345um\205\367\377}\222\371\377\207\233\371\377\222\244\372\377\207"
00419   "\216\354\311\0\0\0\0***\77\254\254\254\377\244\244\244\377\232\232\232"
00420   "\377\221\221\221\377\210\210\210\377\177\177\177\377vvv\377ooo\377gg"
00421   "g\377```\377ZZZ\377TTT\377NNN\377III\377EEE\377AAA\377>>>\377<<<\377"
00422   ":::\377\202999\377\11:::\377;;;\377===\377@@@\377CCC\377GGG\377KKK\377"
00423   "[[[\377\34\34\34\77\207\0\0\0\0\214\205\0\0\377\210\0\0\0\0\32z}\345"
00424   "uw\215\370\377\207\233\371\377\222\244\372\377\235\255\372\377\214\223"
00425   "\354\311\253\253\253\376\244\244\244\377\231\231\231\377\220\220\220"
00426   "\377\206\206\206\377|||\377sss\377kkk\377ccc\377[[[\377TTT\377MMM\377"
00427   "GGG\377AAA\377<<<\377777\377333\377000\377...\377,,,\377\203+++\377\10"
00428   "---\377///\377222\377555\377999\377>>>\377DDD\377WWW\376\207\0\0\0\0"
00429   "\214\210\0\0\377\211\0\0\0\0\31~\200\345u\200\224\370\377\222\244\372"
00430   "\377\235\255\372\377\211\214\236\377\245\245\245\377\232\232\232\377"
00431   "\220\220\220\377\205\205\205\377{{{\377rrr\377hhh\377___\377WWW\377O"
00432   "OO\377GGG\377@@@\377:::\377444\377...\377***\377&&&\377\"\"\"\377\37"
00433   "\37\37\377\36\36\36\377\203\35\35\35\377\11\36\36\36\377!!!\377$$$\377"
00434   "(((\377,,,\377111\377777\377===\377===\277\206\0\0\0\0\214\213\0\0\377"
00435   "\212\0\0\0\0\30\202\204\345u\211\234\371\377z\202\250\377\247\247\247"
00436   "\377\234\234\234\377\221\221\221\377\206\206\206\377{{{\377qqq\377gg"
00437   "g\377^^^\377TTT\377KKK\377CCC\377;;;\377444\377---\377'''\377!!!\377"
00438   "\34\34\34\377\30\30\30\377\24\24\24\377\21\21\21\377\20\20\20\377\203"
00439   "\17\17\17\377\12\20\20\20\377\23\23\23\377\26\26\26\377\32\32\32\377"
00440   "\36\36\36\377$$$\377***\377000\377888\377,,,\177\205\0\0\0\0\214\216"
00441   "\0\0\377\213\0\0\0\0\27\206\206\345u\255\255\255\377\236\236\236\377"
00442   "\223\223\223\377\210\210\210\377|||\377rrr\377ggg\377]]]\377SSS\377I"
00443   "II\377@@@\377777\377///\377(((\377\40\40\40\377\32\32\32\377\24\24\24"
00444   "\377\17\17\17\377\12\12\12\377\6\6\6\377\4\4\4\377\3\3\3\377\203\2\2"
00445   "\2\377\12\3\3\3\377\5\5\5\377\10\10\10\377\14\14\14\377\21\21\21\377"
00446   "\27\27\27\377\35\35\35\377$$$\377+++\377;;;\377\205\0\0\0\0\214\221\0"
00447   "\0\377\213\0\0\0\0\24\205\205\205\257\242\242\242\377\226\226\226\377"
00448   "\212\212\212\377\177\177\177\377sss\377hhh\377^^^\377SSS\377III\377\77"
00449   "\77\77\377555\377,,,\377$$$\377\33\33\33\377\24\24\24\377\15\15\15\377"
00450   "\7\7\7\377\3\3\3\377\1\1\1\377\211\0\0\0\377\10\1\1\1\377\4\4\4\377\12"
00451   "\12\12\377\20\20\20\377\30\30\30\377\37\37\37\377(((\377888\257\204\0"
00452   "\0\0\0\214\224\0\0\377\213\0\0\0\0\21\256\256\256\377\232\232\232\377"
00453   "\216\216\216\377\202\202\202\377vvv\377kkk\377___\377TTT\377III\377\77"
00454   "\77\77\377555\377+++\377!!!\377\30\30\30\377\20\20\20\377\10\10\10\377"
00455   "\2\2\2\377\216\0\0\0\377\6\1\1\1\377\5\5\5\377\14\14\14\377\24\24\24"
00456   "\377\35\35\35\377...\377\204\0\0\0\0\214\227\0\0\377\212\0\0\0\0\21^"
00457   "^^\177\240\240\240\377\223\223\223\377\207\207\207\377{{{\377ooo\377"
00458   "ccc\377WWW\377KKK\377@@@\377555\377+++\377\40\40\40\377\27\27\27\377"
00459   "\15\15\15\377\5\5\5\377\1\1\1\377\221\0\0\0\377\5\2\2\2\377\11\11\11"
00460   "\377\22\22\22\377\33\33\33\377\34\34\34\177\203\0\0\0\0\214\232\0\0\377"
00461   "\212\0\0\0\0\17\252\252\252\357\231\231\231\377\215\215\215\377\200\200"
00462   "\200\377sss\377ggg\377[[[\377OOO\377CCC\377777\377,,,\377!!!\377\27\27"
00463   "\27\377\14\14\14\377\3\3\3\377\224\0\0\0\377\4\1\1\1\377\7\7\7\377\21"
00464   "\21\21\377322\357\203\0\0\0\0\214\236\0\0\377\212\0\0\0\0\16\245\245"
00465   "\245\377\223\223\223\377\206\206\206\377yyy\377mmm\377```\377TTT\377"
00466   "GGG\377;;;\377///\377$$$\377\30\30\30\377\15\15\15\377\3\3\3\377\226"
00467   "\0\0\0\377\3\1\1\1\377\10\10\10\377\31\31\31\377\203\0\0\0\0\214\241"
00468   "\0\0\377\211\0\0\0\0\16YYY~\233\233\233\377\215\215\215\377\200\200\200"
00469   "\377sss\377fff\377ZZZ\377MMM\377@@@\377444\377(((\377\33\33\33\377\20"
00470   "\20\20\377\5\5\5\377\205\0\0\0\377\5<\323U\3776\277M\3770\250D\377)\220"
00471   ":\377\"w0\377\216\0\0\0\377\3\1\1\1\377\12\12\12\377\34\34\34~\202\0"
00472   "\0\0\0\214\244\0\0\377\211\0\0\0\0\16XXX\177\226\226\226\377\210\210"
00473   "\210\377{{{\377nnn\377aaa\377TTT\377GGG\377:::\377---\377\40\40\40\377"
00474   "\24\24\24\377\10\10\10\377\1\1\1\377\204\0\0\0\377\7G\367c\377\77\336"
00475   "Y\3778\305O\3771\254E\377*\223;\377#z1\377\33a'\377\216\0\0\0\377\2\3"
00476   "\3\3\377\16\16\16\177\202\0\0\0\0\214\247\0\0\377\211\0\0\0\0\15QQQ\200"
00477   "\221\221\221\377\204\204\204\377vvv\377iii\377[[[\377NNN\377AAA\3774"
00478   "44\377'''\377\32\32\32\377\15\15\15\377\2\2\2\377\204\0\0\0\377\11<\323"
00479   "U\377\77\336Y\377<\323U\3776\277M\3770\250D\377)\220:\377\"w0\377\33"
00480   "_&\377\24F\34\377\216\0\0\0\377\23""8D~\377s\211\370\377z\220\371\377"
00481   "\201\226\371\377\211\234\371\377\220\242\372\377\227\250\372\377\237"
00482   "\256\372\377\246\265\373\377\256\273\373\377\265\301\373\377\274\307"
00483   "\374\377\304\315\374\377\313\323\374\377\322\332\375\377\332\340\375"
00484   "\377\341\346\375\377\350\354\376\377\360\362\376\377\205\0\0\0\0\14L"
00485   "LL\200\216\216\216\377\200\200\200\377rrr\377ddd\377WWW\377III\377<<"
00486   "<\377...\377!!!\377\24\24\24\377\7\7\7\377\205\0\0\0\377\11""6\277M\377"
00487   "8\305O\3776\277M\3772\260G\377-\235\77\377&\2076\377\40p-\377\31Y$\377"
00488   "\22A\32\377\216\0\0\0\377\23""6B|\377s\211\370\377z\220\371\377\201\226"
00489   "\371\377\211\234\371\377\220\242\372\377\227\250\372\377\237\256\372"
00490   "\377\246\265\373\377\256\273\373\377\265\301\373\377\274\307\374\377"
00491   "\304\315\374\377\313\323\374\377\322\332\375\377\332\340\375\377\341"
00492   "\346\375\377\350\354\376\377\360\362\376\377\205\0\0\0\0\14JJJ\200\212"
00493   "\212\212\377|||\377nnn\377```\377SSS\377EEE\377777\377***\377\34\34\34"
00494   "\377\17\17\17\377\3\3\3\377\204\0\0\0\377\12F\206Q\3770\250D\3771\254"
00495   "E\3770\250D\377-\235\77\377(\2159\377#z1\377\35e)\377\26O\40\377\20""8"
00496   "\27\377\216\0\0\0\377\23""5A{\377s\211\370\377z\220\371\377\201\226\371"
00497   "\377\211\234\371\377\220\242\372\377\227\250\372\377\237\256\372\377"
00498   "\246\265\373\377\256\273\373\377\265\301\373\377\274\307\374\377\304"
00499   "\315\374\377\313\323\374\377\322\332\375\377\332\340\375\377\341\346"
00500   "\375\377\350\354\376\377\360\362\376\377\205\0\0\0\0\14III\200\207\207"
00501   "\207\377yyy\377kkk\377]]]\377OOO\377AAA\377333\377&&&\377\30\30\30\377"
00502   "\12\12\12\377\1\1\1\377\202\0\0\0\377\14\23&\27\377_\271n\377\203\370"
00503   "\226\377)\220:\377*\223;\377)\220:\377&\2076\377#z1\377\36i*\377\31W"
00504   "#\377\23C\33\377\15-\22\377\216\0\0\0\377\1\1\1\1\200\202\0\0\0\0\214"
00505   "\263\0\0\377\211\0\0\0\0\13JJJ\200\204\204\204\377vvv\377hhh\377ZZZ\377"
00506   "LLL\377>>>\377000\377\"\"\"\377\24\24\24\377\6\6\6\377\202\0\0\0\377"
00507   "\15-Z4\377w\354\212\377\200\370\223\377\201\370\225\377\"w0\377#z1\377"
00508   "\"w0\377\40p-\377\35e)\377\31W#\377\24F\34\377\16""4\25\377\11\40\15"
00509   "\377\216\0\0\0\377\1\3\3\3\200\202\0\0\0\0\214\266\0\0\377\211\0\0\0"
00510   "\0\31MMM\177\202\202\202\377ttt\377fff\377XXX\377JJJ\377<<<\377...\377"
00511   "\37\37\37\377\21\21\21\377\4\4\4\377\0\0\0\377E\215P\377{\370\217\377"
00512   "}\370\221\377~\370\222\377\200\370\223\3779oB\377\33a'\377\33_&\377\31"
00513   "Y$\377\26O\40\377\23C\33\377\16""4\25\377\12#\16\377\217\0\0\0\377\1"
00514   "\4\4\4\177\202\0\0\0\0\214\271\0\0\377\211\0\0\0\0\21OOO~\201\201\201"
00515   "\377sss\377eee\377WWW\377HHH\377:::\377,,,\377\36\36\36\377\20\20\20"
00516   "\377\27""0\33\377\\\300l\377x\370\215\377z\370\216\377{\370\220\377h"
00517   "\317x\377\36<#\377\202\0\0\0\377\5\24F\34\377\22A\32\377\20""8\27\377"
00518   "\15-\22\377\11\40\15\377\220\0\0\0\377\1\15\15\15~\202\0\0\0\0\214\274"
00519   "\0\0\377\212\0\0\0\0\17\204\204\204\377rrr\377ddd\377VVV\377HHH\3779"
00520   "99\377+++\377\35\35\35\3775j>\377q\364\206\377u\370\212\377w\370\214"
00521   "\377x\370\215\377L\234Y\377\4\10\5\377\227\0\0\0\377\1\2\2\2\377\203"
00522   "\0\0\0\0\214\277\0\0\377\212\0\0\0\0\15\207\207\207\357rrr\377ddd\377"
00523   "VVV\377HHH\377999\377+,+\377M\237[\377p\370\206\377r\370\210\377s\370"
00524   "\211\377u\370\212\3772i;\377\231\0\0\0\377\1\21\21\21\357\203\0\0\0\0"
00525   "\214\302\0\0\377\212\0\0\0\0\14EEE\177sss\377ddd\377VVV\377HHH\377Db"
00526   "I\377^\320q\377m\370\204\377o\370\205\377p\370\206\377\\\307m\377\31"
00527   "5\35\377\232\0\0\0\377\1\3\3\3\177\203\0\0\0\0\214\305\0\0\377\213\0"
00528   "\0\0\0\13www\377eee\377WWW\377U\222_\377h\367\200\377j\367\201\377l\370"
00529   "\202\377m\370\204\377\\\226W\377\362\12<\377\364\11<\377\231\0\0\0\377"
00530   "\1\1\1\1\377\204\0\0\0\0\214\310\0\0\377\213\0\0\0\0\10^^^\257flg\377"
00531   "_\274n\377e\367}\377g\367~\377i\367\200\377i\365\177\377XkE\377\203\364"
00532   "\11<\377\231\0\0\0\377\1\15\15\15\257\204\0\0\0\0\214\313\0\0\377\213"
00533   "\0\0\0\0\7`\367y>b\340w\377b\367z\377d\367|\377f\367}\377[\313n\377["
00534   "E:\377\203\364\11<\377\1=\2\17\377\230\0\0\0\377\1\1\1\1\377\205\0\0"
00535   "\0\0\214\317\0\0\377\212\0\0\0\0\7]\367vs]\367v\377_\367x\377a\367y\377"
00536   "c\367{\377U\252c\377e+7\377\203\364\11<\377\1>\3\20\377\231\0\0\0\377"
00537   "\1\5\5\5\177\205\0\0\0\0\214\322\0\0\377\210\0\0\0\0\10Z\367s\21Y\367"
00538   "r\250Z\367t\377\\\367u\377^\367w\377^\361v\374Y\220b\377s8E\377\203\364"
00539   "\11<\377\2\203\16'\377\4\4\4\377\230\0\0\0\377\1\1\1\1\277\206\0\0\0"
00540   "\0\214\325\0\0\377\207\0\0\0\0\10V\367pFV\367p\336W\367q\377Y\367s\377"
00541   "[\367t\377\\\367v\277`\367x(\201P[\376\203\364\11<\377\4W\35)\377\27"
00542   "\27\27\377\12\12\12\377\1\1\1\377\226\0\0\0\377\1\7\7\7\376\207\0\0\0"
00543   "\0\214\330\0\0\377\206\0\0\0\0\6R\367m{S\367m\377T\367o\377V\367p\377"
00544   "X\367r\377Z\367s\212\202\0\0\0\0\10!\27\31\77\316\37E\377\364\11<\377"
00545   "\224\36""8\377***\377\35\35\35\377\20\20\20\377\5\5\5\377\225\0\0\0\377"
00546   "\2\4\4\4\377\4\4\4\77\207\0\0\0\0\214\333\0\0\377\204\0\0\0\0\7O\367"
00547   "j\30N\367i\260P\367k\377Q\367l\377S\367n\377U\367o\355X\367rU\204\0\0"
00548   "\0\0\10\37\25\27\77uCN\376===\377000\377$$$\377\30\30\30\377\14\14\14"
00549   "\377\2\2\2\377\223\0\0\0\377\2\7\7\7\376\4\4\4\77\210\0\0\0\0\214\336"
00550   "\0\0\377\204\0\0\0\0\6K\367g\345M\367h\377N\367j\377P\367k\377R\367l"
00551   "\270V\367p\40\207\0\0\0\0\7""333\277777\377+++\377\37\37\37\377\24\24"
00552   "\24\377\11\11\11\377\1\1\1\377\221\0\0\0\377\1\1\1\1\277\212\0\0\0\0"
00553   "\214\341\0\0\377\204\0\0\0\0\4J\367f\377K\367g\377M\367h\377P\367k\203"
00554   "\212\0\0\0\0\7$$$\177444\377(((\377\35\35\35\377\22\22\22\377\7\7\7\377"
00555   "\1\1\1\377\216\0\0\0\377\2\1\1\1\377\5\5\5\177\213\0\0\0\0\214\344\0"
00556   "\0\377\204\0\0\0\0\3J\367f\377J\367f\345N\367iN\215\0\0\0\0\6""111\257"
00557   "&&&\377\33\33\33\377\21\21\21\377\10\10\10\377\1\1\1\377\214\0\0\0\377"
00558   "\1\14\14\14\257\215\0\0\0\0\214\347\0\0\377\204\0\0\0\0\2K\367gkM\367"
00559   "h\30\220\0\0\0\0\5\22\22\22\177+++\357\22\22\22\377\12\12\12\377\3\3"
00560   "\3\377\210\0\0\0\377\2\16\16\16\357\2\2\2\177\217\0\0\0\0\214\352\0\0"
00561   "\377\231\0\0\0\0\3\26\26\26~\6\6\6\177\2\2\2\200\204\0\0\0\200\2\0\0"
00562   "\0\177\12\12\12~\222\0\0\0\0\214\355\0\0\377\264\0\0\0\0\214\360\0\0"
00563   "\377\264\0\0\0\0\214\363\0\0\377\264\0\0\0\0\214\366\0\0\377\264\0\0"
00564   "\0\0\214\371\0\0\377\264\0\0\0\0\214\374\0\0\377\377\0\0\0\0\377\0\0"
00565   "\0\0\377\0\0\0\0\207\0\0\0\0"};
00566 
00567 
00568 
00569   return local_pixstream;
00570 }
00571 
00572 /*-------- end ../sfi/sfidl generated code --------*/
00573 
00574 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines