WriteMIDI::WriteMIDI(Seq_ptr seq) { mOutFile = NULL; mNumTracks = 1; // 1 not counting tempo track mDivision = 120; // divisions per quarter note mInitialTempo = 500000; mSeq = seq; mNumEvents = 0; mMaxEvents = 0; mEvents = NULL; CreateEventList(); }
/** ******************************************************************************* * @brief Initialize OS * @param[in] None * @param[out] None * @retval None * * @par Description * @details This function is called to initialize OS. * * @note You must call this function first,before any other OS API function * * @code There is a example for useage of this function,as follows: * e.g. * ... // Your target initial code. * * OsInit(); // Initial OS. * CreateTask(...); // Create tasks. * ... * OsStart(); // Start multitask. * @endcode ******************************************************************************* */ void CoInitOS(void) { InitSysTick(); /* Initialize system tick. */ InitInt(); /* Initialize PendSV,SVC,SysTick interrupt */ CreateTCBList(); /* Create TCB list. */ #if CFG_EVENT_EN > 0 CreateEventList(); /* Create event control list. */ #endif #if CFG_KHEAP_EN > 0 CoCreateKheap(); /* Create kernel heap within user define */ #endif OsSchedLock(); /* Lock Schedule */ /* Create first task -- IDLE task. */ CoCreateTask( CoIdleTask, Co_NULL, CFG_LOWEST_PRIO, &idle_stk[CFG_IDLE_STACK_SIZE-1], CFG_IDLE_STACK_SIZE ); /* Set PSP for CoIdleTask coming in */ SetEnvironment(&idle_stk[CFG_IDLE_STACK_SIZE-1]); }