示例#1
0
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();
}
示例#2
0
文件: core.c 项目: jiezhi320/quadfork
/**
 *******************************************************************************
 * @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]);
}