public AutomationHubHandle(AutomationHub obj) { m_obj = obj; }
TrackPlayer CreateTrackPlayer(int deck, AudioMixer[] section1Mixers, AudioMixer[] section2Mixers) { // 텐션 오토메이션 버스 생성 AutomationHub [] tensionCtrlBus = new AutomationHub[4]; IAutomationControl [] sec1TensionCtrls = new IAutomationControl[4]; IAutomationControl [] sec2TensionCtrls = new IAutomationControl[4]; for (int i = 0; i < 4; i++) { var out1 = m_automationMgr.GetAutomationControlToSingleMixer(GetMixerName(deck, 0, i)); var out2 = m_automationMgr.GetAutomationControlToSingleMixer(GetMixerName(deck, 1, i)); var bus = new AutomationHub(m_automationMgr); bus.SetOutputs(out1, out2); bus.CreateChains(2); tensionCtrlBus[i] = bus; sec1TensionCtrls[i] = tensionCtrlBus[i].GetChain(0); sec2TensionCtrls[i] = tensionCtrlBus[i].GetChain(1); } // 플레이어 생성 var tplayer = new TrackPlayer(this); var player1ctrl = m_automationMgr.GetAutomationControlToSingleMixer(GetMixerName(deck, 0)); var player1 = CreateSectionPlayer(section1Mixers, player1ctrl, sec1TensionCtrls); tplayer.AttachSectionPlayer(player1, player1ctrl); var player2ctrl = m_automationMgr.GetAutomationControlToSingleMixer(GetMixerName(deck, 1)); var player2 = CreateSectionPlayer(section2Mixers, player2ctrl, sec2TensionCtrls); tplayer.AttachSectionPlayer(player2, player2ctrl); return tplayer; }