VIP.C

[目次 | 関数]

目次

関数一覧


   1|/**************************************************************************
   2|*  1. <<< 仮想インスタンス (Vip)  >>> 
   3|***************************************************************************/
   4|
   5|#include  <Vip.ah>  /* Auto include header, Look at mixer-... folder */
   6|
   7|
   8| 
   9|/*---------------------------------------------------------------------*/
  10|/* 2. <<<◆(Vip) 仮想インスタンス >>> */ 
  11|/*---------------------------------------------------------------------*/
  12|
  13| 
  14|/**************************************************************************
  15|*  3. <<< [Vip_init] 初期化する >>> 
  16|*【引数】
  17|*  ・Vip*  m;   仮想インスタンス
  18|*【補足】
  19|*・
  20|***************************************************************************/
  21|#ifdef  USES_OTHER
  22|void  Vip_init( Vip* m )
  23|{
  24|  int  a;
  25|
  26|  ERRORS_INITCHK( m, 0 );
  27|  ASSERT( a >= 0 );
  28|
  29|  m->a = a;
  30|
  31|  ERRORS_FINISHCHK_FOR_INIT( Vip_finish );
  32|}
  33|#endif
  34|
  35|
  36| 
  37|/**************************************************************************
  38|*  4. <<< [Vip_finish] 後始末する >>> 
  39|***************************************************************************/
  40|#ifdef  USES_OTHER
  41|void  Vip_finish( Vip* m )
  42|{
  43|  ERRORS_INITCHK( m, 1 );
  44|  ERRORS_FINISHCHK_FOR_FINISH( Vip_finish );
  45|
  46|  Other_finish( &m->a );
  47|}
  48|#endif
  49|
  50|
  51| 
  52|/**************************************************************************
  53|*  5. <<< [Vip_print] デバッグ表示する >>> 
  54|***************************************************************************/
  55|#ifndef  ERRORS_CUT_DEBUG_TOOL
  56|void  Vip_print( Vip* m, const char* title )
  57|{
  58|  Errors_printf( "%sVip[%p]", title, m );
  59|}
  60|#endif
  61|
  62|
  63| 
  64|/**************************************************************************
  65|*  6. <<< [Vip_Instance_sync_sub] 空いている対象デバイスを検索して属性を設定する >>> 
  66|*【引数】
  67|*  ・Vip_Instance*  m;   仮想インスタンス
  68|*  ・Vip_DevPool*  pool;    デバイス・プール
  69|*【補足】
  70|*・Vip_Instance_sync マクロのサブ・ルーチンです。
  71|***************************************************************************/
  72|void  Vip_Instance_sync_sub( Vip_Instance* m, Vip_DevPool* pool )
  73|{
  74|  Vip_Device*  dev;
  75|
  76|  ASSERT( m->selector->vi != m );
  77|
  78|  if ( m->device->vi == m ) {
  79|    Vip_Device_select( m->device );
  80|  }
  81|  else {
  82|    dev = DList_getRLU( &pool->dlist, m->device );
  83|    Vip_Device_sync( dev, m );
  84|    m->device = dev;
  85|  }
  86|}
  87|
  88| 
  89|