GAudio.GATDataAllocator.GATDataAllocator C# (CSharp) 메소드

GATDataAllocator() 공개 메소드

Initializes a new instance of the GATDataAllocator class. In most cases, only the default allocator initialized by GATManager is required.
public GATDataAllocator ( InitializationSettings initSettings ) : System
initSettings InitializationSettings
리턴 System
        public GATDataAllocator( InitializationSettings initSettings )
        {
            int i;

            _totalSize	 = ( int )( initSettings.preAllocatedAudioDuration * GATInfo.OutputSampleRate );
            _mainBuffer  = new float[ _totalSize ];
            _pool		 = new Stack< GATManagedData >( initSettings.maxConcurrentSamples );
            _binWidth    = initSettings.binWidth;
            _nbOfBins	 = initSettings.nbOfBins;

            for( i = 0; i < initSettings.maxConcurrentSamples; i++ )
            {
                GATManagedData data = new GATManagedData( this );
                _pool.Push( data );
            }

            _freeChunksBins = new Stack< GATManagedData >[ _nbOfBins ];

            for( i = 0; i < _nbOfBins; i++ )
            {
                _freeChunksBins[i] = new Stack< GATManagedData >(20);
            }

            InitCursors();

            _maxBinSize = _nbOfBins * _binWidth;

            #if !UNITY_WEBPLAYER
            _mainBufferHandle = GCHandle.Alloc( _mainBuffer, GCHandleType.Pinned );
            _mainBufferPointer = _mainBufferHandle.AddrOfPinnedObject();
            #endif

            #if GAT_DEBUG

            Debug.Log( "GATDataAllocator initialized, total size: " + _totalSize + " largest allocatable chunk: " + _maxBinSize );

            #endif
        }