Example #1
0
/****************************************************************************
 Generate sidechain from the atoms of the PDB (fills rotamer 0)
 *****************************************************************************/
int CreateSidechainFromPDB(struct atom_s *a, int nchains, int na, struct s_polymer *polymer, struct s_parms *parms, int iamax)
{
	int **top,i,ic,ib;

	// get topology of bonded interactions
	top = AlloIntMatrix(na,na);
	CreateTopology(a,na,top,parms->tthresh,parms->debug);		// matrix indexed on structure atom_s

	// add sidechains
	for(ic=0;ic<nchains;ic++)
	{
		ib = (polymer+ic)->nback;
		for(i=0;i<(polymer+ic)->nback;i++)
		{
			if (parms->debug>1) fprintf(stderr,"\tside of chain=%d back=%d atom=%d\n",ic,i,(((polymer+ic)->back)+i)->ia);

			if (i>0 && i<ib-1)  	// the reference system for the first sidechain (usually CB) is (i+1),(i-1),i
				FindSidechain(a,na,ic,i,(((polymer+ic)->back)+i)->ia,top,polymer,parms,(((polymer+ic)->back)+i+1)->ia,
						(((polymer+ic)->back)+i-1)->ia,(((polymer+ic)->back)+i)->ia);
			else if (i<ib-1)	 	// for the first is (i+2),(i+1),i
				FindSidechain(a,na,ic,i,(((polymer+ic)->back)+i)->ia,top,polymer,parms,(((polymer+ic)->back)+i+2)->ia,
						(((polymer+ic)->back)+i+1)->ia,(((polymer+ic)->back)+i)->ia);
			else if (i==ib-1)	// for the last is (nback-3),(nback-2),(nback-1)
				FindSidechain(a,na,ic,i,(((polymer+ic)->back)+i)->ia,top,polymer,parms,(((polymer+ic)->back)+ ib-3 )->ia,
						(((polymer+ic)->back)+ ib-2 )->ia, (((polymer+ic)->back)+ ib-1 )->ia);

		}
	}

	for (i=0;i<na;i++) free(*(top+i));

	free(top);

	return na;
}
std::vector<std::vector<double>> ReadMusicFrequencyData(const WCHAR *sURL)
{
    //CComPtr<IMFByteStream> pStream;
    CComPtr<IMFMediaSink> pSink;
    CComPtr<IMFMediaSource> pSource;
    CComPtr<IMFTopology> pTopology;
	CComPtr<IWaveDataRecorder> waveRecord;
	HRESULT hr=0;
	hr=CWavRecord::CreateInstanse(&waveRecord);
    //hr = MFCreateFile(MF_ACCESSMODE_WRITE, MF_OPENMODE_DELETE_IF_EXIST, MF_FILEFLAGS_NONE, sOutputFile, &pStream);
    if (FAILED(hr))
    {
        wprintf(L"MFCreateFile failed!\n");
    }

    // Create the WavSink object.
    if (SUCCEEDED(hr))
    {
        hr = CreateWavSink(NULL,waveRecord, &pSink);
    }

    // Create the media source from the URL.
    if (SUCCEEDED(hr))
    {
        hr = CreateMediaSource(sURL, &pSource);
    }

    // Create the topology.
    if (SUCCEEDED(hr))
    {
        hr = CreateTopology(pSource, pSink, &pTopology);
    }

    // Run the media session.
    if (SUCCEEDED(hr))
    {
        hr = RunMediaSession(pTopology);
        if (FAILED(hr))
        {
            wprintf(L"RunMediaSession failed!\n");
        }
    }

    if (pSource)
    {
        pSource->Shutdown();
    }

	std::vector<std::vector<double>> data;
	if(waveRecord)
		waveRecord->PullOutData(&data);
    return data;
}
Example #3
0
HRESULT CMFCamCapture::setupMfSession()
{
    HRESULT hr = S_OK;
    IMFTopology *pTopology = NULL;
    
    // Create the topology.
    CHECK_HR(hr = CreateTopology(m_spSource, m_spSinkActivate, &pTopology));
    CHECK_HR(hr = m_spSession->SetTopology(0, pTopology));

done:
    SafeRelease(&pTopology);
    return hr;
}