void InstrumentComponent::save_to( XMLNode* node, int component_id )
{
	XMLNode component_node;
	if( component_id == -1 ) {
		component_node = node->createNode( "instrumentComponent" );
		component_node.write_int( "component_id", __related_drumkit_componentID );
		component_node.write_float( "gain", __gain );
	}
	for ( int n = 0; n < maxLayers; n++ ) {
		InstrumentLayer* pLayer = get_layer( n );
		if( pLayer ) {
			if( component_id == -1 ) {
				pLayer->save_to( &component_node );
			} else {
				pLayer->save_to( node );
			}
		}
	}
}
void InstrumentComponent::save_to( XMLNode* node )
{
	XMLNode component_node = node->ownerDocument().createElement( "instrumentComponent" );
	component_node.write_int( "component_id", __related_drumkit_componentID );
	component_node.write_float( "gain", __gain );
	for ( int n = 0; n < MAX_LAYERS; n++ ) {
		InstrumentLayer* layer = get_layer( n );
		if( layer ) {
			layer->save_to( &component_node );
		}
	}
	node->appendChild( component_node );
}