Exemple #1
0
bool Lametus::initialize()
{
    Settings *settings = new Settings(this);
    connect(settings, SIGNAL(sourceFound(QString,uint,int,QString)),
            this, SLOT(sourceFound(QString,uint,int,QString)));
    connect(settings, SIGNAL(encoderFound(QString,QString,QString,QString,QString,int,uint,int,int)),
            this, SLOT(encoderFound(QString,QString,QString,QString,QString,int,uint,int,int)));
    if(!settings->Read("./lametus.ini")) {
      emit errorMessage("Could not open settings file");
        return FALSE;
    }
    if(!audioSource) {
      emit errorMessage("No audio source!");
      return FALSE;
    }
    for(int e=0;e<encoders.size();e++) {
        encoders.at(e)->connectToSource(audioSource);
    }

    peakMonitor = new PeakMonitor(this);
    peakMonitor->connectToSource( audioSource );
    
    emit peakMonitorCreated(peakMonitor);

    audioSource->start();
    return TRUE;
}
RESULT
ParticleManager::Init( IN const string& settingsFilename )
{
    RETAILMSG(ZONE_PARTICLES, "ParticleManager::Init( %s )", settingsFilename.c_str());

    RESULT rval = S_OK;
    char   path[MAX_PATH];
    
    //
    // Create a Settings object and load the file.
    //
    Settings mySettings;
    if ( FAILED(mySettings.Read( settingsFilename )) )
    {
        RETAILMSG(ZONE_ERROR, "ERROR: ParticleManager::Init( %s ): failed to load settings file", settingsFilename.c_str() );
        return E_UNEXPECTED;
    }
    

    //
    // Create each ParticleEmitter.
    //
    UINT32 numParticleEmitters = mySettings.GetInt("/ParticleEmitters.NumParticleEmitters");

    for (int i = 0; i < numParticleEmitters; ++i)
    {
        sprintf(path, "/ParticleEmitters/ParticleEmitter%d", i);

        ParticleEmitter *pParticleEmitter = new ParticleEmitter();
        CPR(pParticleEmitter);

        string name             = mySettings.GetString( string(path) + ".Name" );
        string filename         = mySettings.GetString( string(path) + ".Filename" );
        bool   deleteOnFinish   = mySettings.GetBool  ( string(path) + ".DeleteOnFinish", false );

        pParticleEmitter->SetDeleteOnFinish( deleteOnFinish );
        if ( FAILED(pParticleEmitter->InitFromFile( filename )))
        {
            RETAILMSG(ZONE_ERROR, "ERROR: ParticleManager::Init( %s ): failed to init ParticleEmitter from file %s", filename.c_str());
            // Continue loading other ParticleEmitters rather than aborting.
            continue;
        }
            
        
        RETAILMSG(ZONE_INFO, "ParticleEmitter[%4d]: \"%-32s\"", pParticleEmitter->GetID(), pParticleEmitter->GetName().c_str());

        CHR(Add(name, pParticleEmitter));
    }
    
Exit:
    return rval;
}
Exemple #3
0
RESULT
LayerManager::Init( IN const string& settingsFilename )
{
    RETAILMSG(ZONE_INFO, "LayerManager::Init( %s )", settingsFilename.c_str());

    RESULT rval = S_OK;
    char   path[MAX_PATH];
    
    //
    // Create a Settings object and load the file.
    //
    Settings mySettings;
    if ( FAILED(mySettings.Read( settingsFilename )) )
    {
        RETAILMSG(ZONE_ERROR, "ERROR: LayerManager::Init( %s ): failed to load settings file", settingsFilename.c_str() );
        return E_UNEXPECTED;
    }
    

    //
    // Create each Layer.
    //
    UINT32 numLayers = mySettings.GetInt("/Layers.NumLayers");

    for (int i = 0; i < numLayers; ++i)
    {
        sprintf(path, "/Layers/Layer%d", i);
        //DEBUGMSG(ZONE_INFO, "Loading [%s]", path);

        Layer *pLayer = NULL;
        CreateLayer( &mySettings, path, &pLayer );
        if (!pLayer)
        {
            RETAILMSG(ZONE_ERROR, "ERROR: LayerManager::Init( %s ): failed to create Layer", path);
            // Continue loading other Layers rather than aborting.
            continue;
        }
        
        //DEBUGMSG(ZONE_LAYER, "Created Layer [%s]", pLayer->GetName().c_str());
        CHR(Add(pLayer->GetName(), pLayer));
    }
    
Exit:
    return rval;
}
bool FilterList::LoadFromFile(LPCTSTR pFileName)
{
	Clear();

	Settings Setting;

	if (!Setting.Open(pFileName, TEXT("Filters"), Settings::OPEN_READ))
		return false;

	for (int i = 0;; i++) {
		TCHAR szKeyName[64];
		int KeyPrefixLength = FormatString(szKeyName, cvLengthOf(szKeyName), TEXT("Filter%d."), i);
		LPTSTR pszKeyProp = szKeyName + KeyPrefixLength;
		int MaxKeyProp = cvLengthOf(szKeyName) - KeyPrefixLength;
		FilterInfo Filter;
		int Type, Match;
		TCHAR szBuffer[64];

		CopyString(pszKeyProp, MaxKeyProp, TEXT("Type"));
		if (!Setting.Read(szKeyName, &Type))
			break;
		if (Type < 0 || Type >= FilterInfo::TYPE_TRAILER)
			continue;
		Filter.Type = (FilterInfo::FilterType)Type;

		CopyString(pszKeyProp, MaxKeyProp, TEXT("Match"));
		if (!Setting.Read(szKeyName, &Match)
				|| Match < 0 || Match >= FilterInfo::MATCH_TRAILER)
			continue;
		Filter.Match = (FilterInfo::MatchType)Match;

		if (Filter.Match == FilterInfo::MATCH_EQUAL) {
			CopyString(pszKeyProp, MaxKeyProp, TEXT("Address"));
			if (!Setting.Read(szKeyName, szBuffer, cvLengthOf(szBuffer))
					|| !Filter.Address.Parse(szBuffer))
				continue;
		} else if (Filter.Match == FilterInfo::MATCH_RANGE) {
			CopyString(pszKeyProp, MaxKeyProp, TEXT("AddressLow"));
			if (!Setting.Read(szKeyName, szBuffer, cvLengthOf(szBuffer))
					|| !Filter.AddressRange.Low.Parse(szBuffer))
				continue;
			CopyString(pszKeyProp, MaxKeyProp, TEXT("AddressHigh"));
			if (!Setting.Read(szKeyName, szBuffer, cvLengthOf(szBuffer))
					|| !Filter.AddressRange.High.Parse(szBuffer))
				continue;
		} else {
			cvDebugTrace(TEXT("Invalid filter match type %d\n"), Filter.Match);
			continue;
		}

		Filter.HostName[0] = _T('\0');
		CopyString(pszKeyProp, MaxKeyProp, TEXT("HostName"));
		Setting.Read(szKeyName, Filter.HostName, cvLengthOf(Filter.HostName));

		Filter.Enable = true;
		CopyString(pszKeyProp, MaxKeyProp, TEXT("Enable"));
		Setting.Read(szKeyName, &Filter.Enable);

		::GetSystemTimeAsFileTime(&Filter.AddedTime);
		CopyString(pszKeyProp, MaxKeyProp, TEXT("AddedTime"));
		if (Setting.Read(szKeyName, szBuffer, cvLengthOf(szBuffer))) {
			ULONGLONG Time = StrToUInt64(szBuffer);
			SYSTEMTIME st;
			FILETIME ft;

			st.wYear  = (WORD)(Time / 10000000000000);
			st.wMonth = (WORD)((Time / 100000000000) % 100);
			st.wDay   = (WORD)((Time / 1000000000) % 100);
			st.wHour  = (WORD)((Time / 10000000) % 100);
			st.wMinute = (WORD)((Time / 100000) % 100);
			st.wSecond = (WORD)((Time / 1000) % 100);
			st.wMilliseconds = (WORD)(Time % 1000);
			if (::SystemTimeToFileTime(&st, &ft))
				Filter.AddedTime = ft;
		}

		Filter.Comment[0] = _T('\0');
		CopyString(pszKeyProp, MaxKeyProp, TEXT("Comment"));
		Setting.Read(szKeyName, Filter.Comment, cvLengthOf(Filter.Comment));

		Filter.ID = ++m_IDCount;

		AddFilter(Filter);
	}

	Setting.Close();

	return true;
}