//-----------------------------------------------------------------------------
//
//-----------------------------------------------------------------------------
uint CVstSmdIOCmd::GetExportType(
	const MArgDatabase &mArgDatabase )
{
	uint retVal( 0 );

	if ( mArgDatabase.isFlagSet( kOptExportType ) )
	{
		MString optExportType;
		MArgList tmpArgList;
		const uint etEnd( mArgDatabase.numberOfFlagUses( kOptExportType ) );
		for ( uint eti( 0 ); eti != etEnd; ++eti )
		{
			mArgDatabase.getFlagArgumentList( kOptExportType, eti, tmpArgList );
			optExportType = tmpArgList.asString( 0 );

			if ( strnicmp( optExportType.asChar(), "r", 1 ) == 0 || strnicmp( optExportType.asChar(), "m", 1 ) == 0 )
			{
				retVal |= CSmdExport::kReference;
			}
			else if ( strnicmp( optExportType.asChar(), "p", 1 ) == 0 )
			{
				retVal |= CSmdExport::kPhysModel;
			}
			else if ( strnicmp( optExportType.asChar(), "a", 1 ) == 0 || strnicmp( optExportType.asChar(), "s", 1 ) == 0 )
			{
				retVal |= CSmdExport::kAnimation;
			}
			else if ( strnicmp( optExportType.asChar(), "v", 1 ) == 0 )
			{
				retVal |= CSmdExport::kVTA;
			}
			else
			{
				MGlobal::displayWarning( MString( "Cannot determine the type of export from -et " ) + optExportType + ", assume reference/model" );
			}
		}
	}

	if ( retVal == 0 )
	{
		retVal = CSmdExport::kReference;
	}

	return retVal;
}
bool readMultiUseFlag(const char flagName[], MArgDatabase &args, MSelectionList &sel){
	if (!args.isFlagSet(flagName))
		return false;
	MStatus status;

    for(unsigned int i=0,numUses = args.numberOfFlagUses(flagName); i<numUses; i++ )
    {
            MArgList argList;
            status = args.getFlagArgumentList( flagName, i, argList );
			CHECK_STATUS("problem reading multi flag",status);

            MString name = argList.asString( 0, &status );

			CHECK_STATUS("problem reading multi flag (2)",status);

			status = sel.add(name);
			CHECK_STATUS("problem adding item to selection",status);
	}

	return true;
}