Changeset 8028

Show
Ignore:
Timestamp:
07/10/08 16:11:09 (5 years ago)
Author:
hvolos
Message:

added _metadata suffix, updated component ids

Location:
ossiedev/trunk/components/AutomaticGainControl-metadata
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • ossiedev/trunk/components/AutomaticGainControl-metadata/Makefile.am

    r4936 r8028  
    11AM_CXXFLAGS = -Wall  
    22 
    3 bin_PROGRAMS = AutomaticGainControl 
     3bin_PROGRAMS = AutomaticGainControl_metadata 
    44 
    5 AutomaticGainControl_SOURCES =          \ 
    6     src/AutomaticGainControl.cpp        \ 
    7     src/AutomaticGainControl.h          \ 
     5AutomaticGainControl_metadata_SOURCES =          \ 
     6    src/AutomaticGainControl_metadata.cpp        \ 
     7    src/AutomaticGainControl_metadata.h          \ 
    88    src/main.cpp 
    99 
    10 ossieName = AutomaticGainControl 
     10ossieName = AutomaticGainControl_metadata 
    1111xmldir = $(prefix)/xml/$(ossieName) 
    1212bindir = $(prefix)/bin 
    1313 
    1414dist_xml_DATA =                         \ 
    15     xml/AutomaticGainControl.prf.xml    \ 
    16     xml/AutomaticGainControl.scd.xml    \ 
    17     xml/AutomaticGainControl.spd.xml 
     15    xml/AutomaticGainControl_metadata.prf.xml    \ 
     16    xml/AutomaticGainControl_metadata.scd.xml    \ 
     17    xml/AutomaticGainControl_metadata.spd.xml 
    1818 
    1919# ---------- documentation --------- 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/configure.ac

    r4668 r8028  
    1 AC_INIT(AutomaticGainControl, 0.6.0) 
     1AC_INIT(AutomaticGainControl_metadata, 0.6.0) 
    22AM_INIT_AUTOMAKE 
    33 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/documentation.txt

    r4668 r8028  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE AutomaticGainControl. 
     5This file is part of the OSSIE AutomaticGainControl_metadata. 
    66 
    7 OSSIE AutomaticGainControl is free software; you can redistribute it and/or 
     7OSSIE AutomaticGainControl_metadata is free software; you can redistribute it and/or 
    88modify it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE AutomaticGainControl is distributed in the hope that it will be useful, 
     12OSSIE AutomaticGainControl_metadata is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE AutomaticGainControl; if not, write to the Free Software 
     18along with OSSIE AutomaticGainControl_metadata; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/src/AutomaticGainControl_metadata.cpp

    r8007 r8028  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE AutomaticGainControl. 
    6  
    7 OSSIE AutomaticGainControl is free software; you can redistribute it and/or modify 
     5This file is part of the OSSIE AutomaticGainControl_metadata. 
     6 
     7OSSIE AutomaticGainControl_metadata is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE AutomaticGainControl is distributed in the hope that it will be useful, 
     12OSSIE AutomaticGainControl_metadata is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE AutomaticGainControl; if not, write to the Free Software 
     18along with OSSIE AutomaticGainControl_metadata; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2525#include <iostream> 
    2626#include <math.h> 
    27 #include "AutomaticGainControl.h" 
    28  
    29 AutomaticGainControl_i::AutomaticGainControl_i(const char *uuid, omni_condition *condition) 
     27#include "AutomaticGainControl_metadata.h" 
     28 
     29AutomaticGainControl_metadata_i::AutomaticGainControl_metadata_i(const char *uuid, omni_condition *condition) 
    3030    : Resource_impl(uuid), component_running(condition)  
    3131{ 
     
    5151} 
    5252 
    53 AutomaticGainControl_i::~AutomaticGainControl_i(void) 
     53AutomaticGainControl_metadata_i::~AutomaticGainControl_metadata_i(void) 
    5454{    
    5555    delete dataOut_0; 
     
    5757} 
    5858 
    59 void AutomaticGainControl_i::run(void * data) 
    60 { 
    61     ((AutomaticGainControl_i*) data)->run_loop(); 
    62 } 
    63  
    64 CORBA::Object_ptr AutomaticGainControl_i::getPort( const char* portName ) throw (CORBA::SystemException, CF::PortSupplier::UnknownPort) 
    65 { 
    66     DEBUG(3, AutomaticGainControl, "getPort() invoked with : " << portName) 
     59void AutomaticGainControl_metadata_i::run(void * data) 
     60{ 
     61    ((AutomaticGainControl_metadata_i*) data)->run_loop(); 
     62} 
     63 
     64CORBA::Object_ptr AutomaticGainControl_metadata_i::getPort( const char* portName ) throw (CORBA::SystemException, CF::PortSupplier::UnknownPort) 
     65{ 
     66    DEBUG(3, AutomaticGainControl_metadata, "getPort() invoked with : " << portName) 
    6767     
    6868    CORBA::Object_var p; 
     
    8282} 
    8383 
    84 void AutomaticGainControl_i::start() throw (CORBA::SystemException, CF::Resource::StartError) 
    85 { 
    86     DEBUG(3, AutomaticGainControl, "start invoked()") 
    87 } 
    88  
    89 void AutomaticGainControl_i::stop() throw (CORBA::SystemException, CF::Resource::StopError)  
     84void AutomaticGainControl_metadata_i::start() throw (CORBA::SystemException, CF::Resource::StartError) 
     85{ 
     86    DEBUG(3, AutomaticGainControl_metadata, "start invoked()") 
     87} 
     88 
     89void AutomaticGainControl_metadata_i::stop() throw (CORBA::SystemException, CF::Resource::StopError)  
    9090 
    91     DEBUG(3, AutomaticGainControl, "stop invoked()") 
    92 } 
    93  
    94 void AutomaticGainControl_i::releaseObject() throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) 
    95 { 
    96     DEBUG(3, AutomaticGainControl, "releaseObject invoked()") 
     91    DEBUG(3, AutomaticGainControl_metadata, "stop invoked()") 
     92} 
     93 
     94void AutomaticGainControl_metadata_i::releaseObject() throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) 
     95{ 
     96    DEBUG(3, AutomaticGainControl_metadata, "releaseObject invoked()") 
    9797     
    9898    component_running->signal(); 
    9999} 
    100100 
    101 void AutomaticGainControl_i::initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException) 
    102 { 
    103     DEBUG(3, AutomaticGainControl, "initialize invoked()") 
    104 } 
    105  
    106 void AutomaticGainControl_i::configure(const CF::Properties& props) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration) 
     101void AutomaticGainControl_metadata_i::initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException) 
     102{ 
     103    DEBUG(3, AutomaticGainControl_metadata, "initialize invoked()") 
     104} 
     105 
     106void AutomaticGainControl_metadata_i::configure(const CF::Properties& props) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration) 
    107107{ 
    108108    CORBA::Float simple_temp; 
    109109 
    110     DEBUG(3, AutomaticGainControl, "configure() invoked") 
    111      
    112     DEBUG(3, AutomaticGainControl, "props length : " << props.length()) 
     110    DEBUG(3, AutomaticGainControl_metadata, "configure() invoked") 
     111     
     112    DEBUG(3, AutomaticGainControl_metadata, "props length : " << props.length()) 
    113113 
    114114    for (unsigned int i = 0; i <props.length(); i++) 
    115115    { 
    116         DEBUG(3, AutomaticGainControl, "Property id : " << props[i].id) 
    117  
    118         if (strcmp(props[i].id, "DCE:aaf97fa0-d184-4d88-9954-3a1334c73d6d") == 0) { 
     116        DEBUG(3, AutomaticGainControl_metadata, "Property id : " << props[i].id) 
     117 
     118        if (strcmp(props[i].id, "DCE:baf97fa0-d184-4d88-9954-3a1334c73d6d") == 0) { 
    119119            // energy_lo 
    120120            props[i].value >>= simple_temp; 
     
    122122            energy_lo = simple_temp; 
    123123 
    124             DEBUG(3, AutomaticGainControl, "prop (energy_lo): " << simple_temp) 
    125  
    126         } else if (strcmp(props[i].id, "DCE:346e17c9-6678-483a-bffb-1909c64bddc0") == 0) { 
     124            DEBUG(3, AutomaticGainControl_metadata, "prop (energy_lo): " << simple_temp) 
     125 
     126        } else if (strcmp(props[i].id, "DCE:446e17c9-6678-483a-bffb-1909c64bddc0") == 0) { 
    127127            // energy_hi 
    128128            props[i].value >>= simple_temp; 
     
    130130            energy_hi = simple_temp; 
    131131 
    132             DEBUG(3, AutomaticGainControl, "prop (energy_hi): " << simple_temp) 
    133  
    134         } else if (strcmp(props[i].id, "DCE:4608b943-4fe2-49df-91fb-afa287b609d4") == 0) { 
     132            DEBUG(3, AutomaticGainControl_metadata, "prop (energy_hi): " << simple_temp) 
     133 
     134        } else if (strcmp(props[i].id, "DCE:5608b943-4fe2-49df-91fb-afa287b609d4") == 0) { 
    135135            // k_attack 
    136136            props[i].value >>= simple_temp; 
     
    138138            k_attack = simple_temp; 
    139139 
    140             DEBUG(3, AutomaticGainControl, "prop (k_attack): " << simple_temp) 
    141  
    142         } else if (strcmp(props[i].id, "DCE:491ec3de-ed45-48af-a6fc-ca2d6465e136") == 0) { 
     140            DEBUG(3, AutomaticGainControl_metadata, "prop (k_attack): " << simple_temp) 
     141 
     142        } else if (strcmp(props[i].id, "DCE:591ec3de-ed45-48af-a6fc-ca2d6465e136") == 0) { 
    143143            // k_release 
    144144            props[i].value >>= simple_temp; 
     
    146146            k_release = simple_temp; 
    147147 
    148             DEBUG(3, AutomaticGainControl, "prop (k_release): " << simple_temp) 
    149  
    150         } else if (strcmp(props[i].id, "DCE:312f63fe-709a-4217-933b-c584c8d6a9bb") == 0) { 
     148            DEBUG(3, AutomaticGainControl_metadata, "prop (k_release): " << simple_temp) 
     149 
     150        } else if (strcmp(props[i].id, "DCE:412f63fe-709a-4217-933b-c584c8d6a9bb") == 0) { 
    151151            // g_min 
    152152            props[i].value >>= simple_temp; 
     
    154154            g_min = simple_temp; 
    155155 
    156             DEBUG(3, AutomaticGainControl, "prop (g_min): " << simple_temp) 
    157  
    158         } else if (strcmp(props[i].id, "DCE:8357ee0d-2417-46d9-8475-2e5778d797e4") == 0) { 
     156            DEBUG(3, AutomaticGainControl_metadata, "prop (g_min): " << simple_temp) 
     157 
     158        } else if (strcmp(props[i].id, "DCE:9357ee0d-2417-46d9-8475-2e5778d797e4") == 0) { 
    159159            // g_max 
    160160            props[i].value >>= simple_temp; 
     
    162162            g_max = simple_temp; 
    163163 
    164             DEBUG(3, AutomaticGainControl, "prop (g_max): " << simple_temp) 
    165  
    166         } else if (strcmp(props[i].id, "DCE:b9b72ec8-d0bd-4060-b356-dcc6b0809e65") == 0) { 
     164            DEBUG(3, AutomaticGainControl_metadata, "prop (g_max): " << simple_temp) 
     165 
     166        } else if (strcmp(props[i].id, "DCE:c9b72ec8-d0bd-4060-b356-dcc6b0809e65") == 0) { 
    167167            // rssi_pass 
    168168            props[i].value >>= simple_temp; 
     
    170170            rssi_pass = simple_temp; 
    171171 
    172             DEBUG(3, AutomaticGainControl, "prop (rssi_pass): " << simple_temp) 
     172            DEBUG(3, AutomaticGainControl_metadata, "prop (rssi_pass): " << simple_temp) 
    173173            std::cout << std::endl; 
    174174            std::cout << std::endl; 
     
    187187 
    188188 
    189 void AutomaticGainControl_i::run_loop() 
    190 { 
    191     DEBUG(3, AutomaticGainControl, "run_loop() thread started") 
     189void AutomaticGainControl_metadata_i::run_loop() 
     190{ 
     191    DEBUG(3, AutomaticGainControl_metadata, "run_loop() thread started") 
    192192 
    193193    PortTypes::ShortSequence I_out, Q_out; 
     
    250250        float gain(0.0f), energy(0.0f); 
    251251        agc->GetStatus(gain, energy); 
    252         DEBUG(3, AutomaticGainControl, "gain: " << gain << ", energy: " << energy) 
     252        DEBUG(3, AutomaticGainControl_metadata, "gain: " << gain << ", energy: " << energy) 
    253253        metadata->signal_strength = 20.0f*log10f(energy/gain); 
    254254        //printf("AGC: %f dB\n", metadata->signal_strength); 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/src/AutomaticGainControl_metadata.h

    r8007 r8028  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE AutomaticGainControl. 
     5This file is part of the OSSIE AutomaticGainControl_metadata. 
    66 
    7 OSSIE AutomaticGainControl is free software; you can redistribute it and/or modify 
     7OSSIE AutomaticGainControl_metadata is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE AutomaticGainControl is distributed in the hope that it will be useful, 
     12OSSIE AutomaticGainControl_metadata is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE AutomaticGainControl; if not, write to the Free Software 
     18along with OSSIE AutomaticGainControl_metadata; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2222 
    2323 
    24 #ifndef AUTOMATICGAINCONTROL_IMPL_H 
    25 #define AUTOMATICGAINCONTROL_IMPL_H 
     24#ifndef AUTOMATICGAINCONTROL_METADATA_IMPL_H 
     25#define AUTOMATICGAINCONTROL_METADATA_IMPL_H 
    2626 
    2727#include <stdlib.h> 
     
    3838/// \brief 
    3939/// 
    40 class AutomaticGainControl_i : public virtual Resource_impl 
     40class AutomaticGainControl_metadata_i : public virtual Resource_impl 
    4141{ 
    4242 
    4343    public: 
    4444        /// initializing constructor 
    45         AutomaticGainControl_i(const char *uuid, omni_condition *sem); 
     45        AutomaticGainControl_metadata_i(const char *uuid, omni_condition *sem); 
    4646 
    4747        /// destructor 
    48         ~AutomaticGainControl_i(void); 
     48        ~AutomaticGainControl_metadata_i(void); 
    4949 
    5050        /// 
     
    7272    private: 
    7373        /// disallow default constructor 
    74         AutomaticGainControl_i(); 
     74        AutomaticGainControl_metadata_i(); 
    7575 
    7676        /// disallow copy constructor 
    77         AutomaticGainControl_i(AutomaticGainControl_i&); 
     77        AutomaticGainControl_metadata_i(AutomaticGainControl_metadata_i&); 
    7878         
    7979        /// main signal processing method 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/src/main.cpp

    r5550 r8028  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE AutomaticGainControl. 
     5This file is part of the OSSIE AutomaticGainControl_metadata. 
    66 
    7 OSSIE AutomaticGainControl is free software; you can redistribute it and/or modify 
     7OSSIE AutomaticGainControl_metadata is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE AutomaticGainControl is distributed in the hope that it will be useful, 
     12OSSIE AutomaticGainControl_metadata is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE AutomaticGainControl; if not, write to the Free Software 
     18along with OSSIE AutomaticGainControl_metadata; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2525#include "ossie/debug.h" 
    2626 
    27 #include "AutomaticGainControl.h" 
     27#include "AutomaticGainControl_metadata.h" 
    2828 
    2929using namespace std; 
     
    4848    cout << "Identifier - " << uuid << "  Label - " << label << endl; 
    4949 
    50     AutomaticGainControl_i* agc_servant; 
     50    AutomaticGainControl_metadata_i* agc_servant; 
    5151    CF::Resource_var agc_var; 
    5252 
    5353    // Create the agc component servant and object reference 
    5454 
    55     agc_servant = new AutomaticGainControl_i(uuid, component_running); 
     55    agc_servant = new AutomaticGainControl_metadata_i(uuid, component_running); 
    5656    agc_var = agc_servant->_this(); 
    5757 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/xml/AutomaticGainControl_metadata.prf.xml

    r8007 r8028  
    44<!--Powered by Python--> 
    55<properties> 
    6     <simple type="float" id="DCE:aaf97fa0-d184-4d88-9954-3a1334c73d6d" name="energy_lo" mode="readwrite"> 
     6    <simple type="float" id="DCE:baf97fa0-d184-4d88-9954-3a1334c73d6d" name="energy_lo" mode="readwrite"> 
    77        <description>low energy threshold</description>  
    88        <value>4000</value>  
    99        <kind kindtype="configure"/> 
    1010    </simple> 
    11     <simple type="float" id="DCE:346e17c9-6678-483a-bffb-1909c64bddc0" name="energy_hi" mode="readwrite"> 
     11    <simple type="float" id="DCE:446e17c9-6678-483a-bffb-1909c64bddc0" name="energy_hi" mode="readwrite"> 
    1212        <description>high energy threshold</description>  
    1313        <value>4000</value>  
    1414        <kind kindtype="configure"/> 
    1515    </simple> 
    16     <simple type="float" id="DCE:4608b943-4fe2-49df-91fb-afa287b609d4" name="k_attack" mode="readwrite"> 
     16    <simple type="float" id="DCE:5608b943-4fe2-49df-91fb-afa287b609d4" name="k_attack" mode="readwrite"> 
    1717        <description>attack time constant</description>  
    1818        <value>0.002</value>  
    1919        <kind kindtype="configure"/> 
    2020    </simple> 
    21     <simple type="float" id="DCE:491ec3de-ed45-48af-a6fc-ca2d6465e136" name="k_release" mode="readwrite"> 
     21    <simple type="float" id="DCE:591ec3de-ed45-48af-a6fc-ca2d6465e136" name="k_release" mode="readwrite"> 
    2222        <description>release time constant</description>  
    2323        <value>0.0005</value>  
    2424        <kind kindtype="configure"/> 
    2525    </simple> 
    26     <simple type="float" id="DCE:312f63fe-709a-4217-933b-c584c8d6a9bb" name="g_min" mode="readwrite"> 
     26    <simple type="float" id="DCE:412f63fe-709a-4217-933b-c584c8d6a9bb" name="g_min" mode="readwrite"> 
    2727        <description>minimum gain value</description>  
    2828        <value>1</value>  
    2929        <kind kindtype="configure"/> 
    3030    </simple> 
    31     <simple type="float" id="DCE:8357ee0d-2417-46d9-8475-2e5778d797e4" name="g_max" mode="readwrite"> 
     31    <simple type="float" id="DCE:9357ee0d-2417-46d9-8475-2e5778d797e4" name="g_max" mode="readwrite"> 
    3232        <description>maximum gain value</description>  
    3333        <value>100.0</value>  
    3434        <kind kindtype="configure"/> 
    3535    </simple> 
    36     <simple type="float" id="DCE:b9b72ec8-d0bd-4060-b356-dcc6b0809e65" name="rssi_pass" mode="readwrite"> 
     36    <simple type="float" id="DCE:c9b72ec8-d0bd-4060-b356-dcc6b0809e65" name="rssi_pass" mode="readwrite"> 
    3737        <description>Received signal strength level above which data will be passed</description>  
    3838        <value>1000</value> 
  • ossiedev/trunk/components/AutomaticGainControl-metadata/xml/AutomaticGainControl_metadata.spd.xml

    r8007 r8028  
    33<!--Created with OSSIE WaveDev Beta Version 0.6.0b--> 
    44<!--Powered by Python--> 
    5 <softpkg type="sca_compliant" name="AutomaticGainControl" id="DCE:a04dc9e4-8fec-11db-a862-00123f63025f"> 
     5<softpkg type="sca_compliant" name="AutomaticGainControl_metadata" id="DCE:ed21fd52-af80-4c63-8303-6dd6c3c30dac"> 
    66    <title>Automatic gain control component</title> 
    77    <description>Automatically controls gain levels for RF and audio signals</description> 
     
    1212    </author> 
    1313    <propertyfile type="PRF"> 
    14         <localfile name="xml/AutomaticGainControl/AutomaticGainControl.prf.xml"/> 
     14        <localfile name="xml/AutomaticGainControl_metadata/AutomaticGainControl_metadata.prf.xml"/> 
    1515    </propertyfile> 
    1616    <descriptor> 
    17         <localfile name="xml/AutomaticGainControl/AutomaticGainControl.scd.xml"/> 
     17        <localfile name="xml/AutomaticGainControl_metadata/AutomaticGainControl_metadata.scd.xml"/> 
    1818    </descriptor> 
    19     <implementation id="DCE:a04e9590-8fec-11db-b300-00123f63025f" aepcompliance="aep_compliant"> 
     19    <implementation id="DCE:8f7b6acd-7c77-4911-b117-af036cbb8941" aepcompliance="aep_compliant"> 
    2020        <description>default implementation description</description>  
    2121        <code type="Executable"> 
    22             <localfile name="bin/AutomaticGainControl"/> 
     22            <localfile name="bin/AutomaticGainControl_metadata"/> 
    2323        </code> 
    2424        <processor name="x86"/>