Show
Ignore:
Timestamp:
04/06/06 20:36:57 (3 years ago)
Author:
rossbencina
Message:

updated with OSX CoreAudio? status

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pa_proposals/trunk/status.html

    r86 r87  
    3131 
    3232<P><A href="http://www.portaudio.com/">PortAudio Home Page</A></P> 
    33 <P>Updated: May 11, 2004 </P> 
     33<P>Updated: April 6, 2006 </P> 
    3434 
    3535<H2>Background</H2> 
    3636 
    3737<P> 
    38 For some years PortAudio development proceeded incrementally - bugs were fixed, new implementations were created and a few features were added. Around the time of the original V18 release in 2001 a big list of requested features existed, and there were many separate implementations of the PortAudio API, some with more cut-and-paste commonality than code sharing. Due to a combination of forces, most notably the desire to support multiple Host APIs in a single PortAudio build, it was decided to develop a new unified common infrastructure (support library) with which to implement V19. At that time the feature requests were developed into a set of <a href="index.html">enhancement proposals</a> which describe the new (Version 2.0) PortAudio API now documented in V19's <a href="http://www.portaudio.com/docs/v19-doxydocs/portaudio_8h.html">portaudio.h</a>. The proposals have been stable for some time (close to a year). The common infrastructure is now largely implemented in the <a href="http://www.portaudio.com/usingcvs.html">v19-devel CVS branch</a>, and the version 2.0 API is well documented, and available as part of the <a href="http://www.portaudio.com/docs/v19-doxydocs/">doxygen generated documentation</a>. 
     38For some years PortAudio development proceeded incrementally - bugs were fixed, new implementations were created and a few features were added. Around the time of the original V18 release in 2001 a big list of requested features existed, and there were many separate implementations of the PortAudio API, some with more cut-and-paste commonality than code sharing. Due to a combination of forces, most notably the desire to support multiple Host APIs in a single PortAudio build, it was decided to develop a new unified common infrastructure (support library) with which to implement V19. At that time the feature requests were developed into a set of <a href="index.html">enhancement proposals</a> which describe the new (Version 2.0) PortAudio API now documented in V19's <a href="http://www.portaudio.com/docs/v19-doxydocs/portaudio_8h.html">portaudio.h</a>. The proposals have been stable since 2003. The common infrastructure is implemented in the <a href="http://www.portaudio.com/usingcvs.html">v19-devel CVS branch</a>, and the version 2.0 API is well documented, and available as part of the <a href="http://www.portaudio.com/docs/v19-doxydocs/">doxygen generated documentation</a>. 
    3939</P> 
    4040 
     
    4242</P>  
    4343<P> 
    44 At the time of writing, a substantial portion of V19 functionality has been implemented for Windows (MME, DirectSound, and ASIO) for Linux (ALSA, OSS, and JACK), and SGI. However no work has commenced on the Macintosh (SoundManager, CoreAudio) which was well supported by V18. The current ASIO version has not been back-ported to the Macintosh, however it would require little effort to do so. 
     44At the time of writing, a substantial portion of V19 functionality has been implemented for Windows (MME, DirectSound, and ASIO) for Linux (ALSA, OSS, and JACK), and for Mac OSX Core Audio. Platforms which were well supported with V18 which are not currently supported by V19 are SGI AL and pre-OSX Macintosh (Sound Manager). The V19 ASIO implementation has not been back-ported to the Macintosh, however it would require little effort to do so if the need arose. 
    4545</P> 
    4646 <P> 
     
    7575<span class="done">done</span> 
    7676 
    77 <li>Some conversion functions (primarily those to and from 8 bit formats) are not yet implemented in pa_converters.c (some are also marked REVIEW) 
     77<li>Ten relatively obscure conversion functions are not yet implemented in pa_converters.c these are marked IMPLEMENT ME. 8 conversion functions are also marked REVIEW 
    7878<span class="not_done">todo</span> 
    7979 
    80 <li>timeInfo->currentTime not implemented in PaUtil_BeginBufferProcessing() 
     80<li>correct handling of timeInfo->currentTime not implemented in PaUtil_BeginBufferProcessing() 
    8181<span class="not_done">todo</span> 
    8282 
    83 <li>Tests (some tests from V18 have not been converted to use the V19 API, see README.txt in the pa_tests directory) 
     83<li>Tests (a few tests from V18 have not been converted to use the V19 API, see README.txt in the pa_tests directory) 
    8484<span class="not_done">todo</span> 
    8585 
     
    102102<span class="not_done">todo</span> 
    103103 
    104 <li>Directory structure (there is some talk of updating the project directory structure) 
     104<li>Restructure directory structure (see proposal) 
    105105<span class="not_done">todo</span> 
    106106 
     
    111111<span class="not_done">todo</span> 
    112112 
    113 <li>Non-Interleaved buffer support - implemented in pa_process.c(see <a href="006-NonInterleavedBuffers.html">proposal 006</a>) 
     113<li>Non-Interleaved buffer support - implemented in pa_process.c (see <a href="006-NonInterleavedBuffers.html">proposal 006</a>) 
    114114<span class="done">done</span> 
    115115 
     
    204204<td class="done">oss</td> 
    205205<td class="not_done">mac_sm</td> 
    206 <td class="not_done">mac_core</td> 
     206<td class="done">mac_core</td> 
    207207<td class="done">sgi</td> 
    208208</tr> 
     
    216216<td class="not_done">oss</td> 
    217217<td class="not_done">mac_sm</td> 
    218 <td class="not_done">mac_core</td> 
     218<td class="done">mac_core</td> 
    219219<td class="done">sgi</td> 
    220220</tr> 
     
    228228<td class="done">oss</td> 
    229229<td class="not_done">mac_sm</td> 
    230 <td class="not_done">mac_core</td> 
     230<td class="done">mac_core</td> 
    231231<td class="unknown">sgi</td> 
    232232</tr> 
     
    240240<td class="done">oss</td> 
    241241<td class="not_done">mac_sm</td> 
    242 <td class="not_done">mac_core</td> 
     242<td class="done">mac_core</td> 
    243243<td class="done">sgi</td> 
    244244</tr> 
     
    264264<td class="unknown">oss</td> 
    265265<td class="not_done">mac_sm</td> 
    266 <td class="not_done">mac_core</td> 
     266<td class="unknown">mac_core</td> 
    267267<td class="done">sgi</td> 
    268268</tr> 
     
    276276<td class="unknown">oss</td> 
    277277<td class="not_done">mac_sm</td> 
    278 <td class="not_done">mac_core</td> 
     278<td class="done">mac_core</td> 
    279279<td class="done">sgi</td> 
    280280</tr> 
     
    288288<td class="unknown">oss</td> 
    289289<td class="not_done">mac_sm</td> 
    290 <td class="not_done">mac_core</td> 
     290<td class="done">mac_core</td> 
    291291<td class="doneone">sgi</td> 
    292292</tr> 
     
    300300<td class="not_done">oss</td> 
    301301<td class="not_done">mac_sm</td> 
    302 <td class="not_done">mac_core</td> 
     302<td class="done">mac_core</td> 
    303303<td class="done">sgi</td> 
    304304</tr> 
     
    312312<td class="not_done">oss</td> 
    313313<td class="not_done">mac_sm</td> 
    314 <td class="not_done">mac_core</td> 
     314<td class="done">mac_core</td> 
    315315<td class="done">sgi</td> 
    316316</tr> 
     
    372372<td class="done">oss</td> 
    373373<td class="not_done">mac_sm</td> 
    374 <td class="not_done">mac_core</td> 
     374<td class="done">mac_core</td> 
    375375<td class="done">sgi</td> 
    376376</tr> 
     
    384384<td class="done">oss</td> 
    385385<td class="not_done">mac_sm</td> 
    386 <td class="not_done">mac_core</td> 
     386<td class="done">mac_core</td> 
    387387<td class="done">sgi</td> 
    388388</tr> 
     
    409409<td class="unknown">oss</td> 
    410410<td class="not_done">mac_sm</td> 
    411 <td class="not_done">mac_core</td> 
     411<td class="unknown">mac_core</td> 
    412412<td class="done">sgi</td> 
    413413</tr> 
     
    433433<td class="unknown">oss</td> 
    434434<td class="not_done">mac_sm</td> 
    435 <td class="not_done">mac_core</td> 
     435<td class="done">mac_core</td> 
    436436<td class="done">sgi</td> 
    437437</tr> 
     
    445445<td class="unknown">oss</td> 
    446446<td class="not_done">mac_sm</td> 
    447 <td class="not_done">mac_core</td> 
     447<td class="done">mac_core</td> 
    448448<td class="done">sgi</td> 
    449449</tr> 
     
    457457<td class="unknown">oss</td> 
    458458<td class="not_done">mac_sm</td> 
    459 <td class="not_done">mac_core</td> 
     459<td class="done">mac_core</td> 
    460460<td class="done">sgi</td> 
    461461</tr> 
     
    469469<td class="unknown">oss</td> 
    470470<td class="not_done">mac_sm</td> 
    471 <td class="not_done">mac_core</td> 
     471<td class="done">mac_core</td> 
    472472<td class="done">sgi</td> 
    473473</tr> 
     
    481481<td class="unknown">oss</td> 
    482482<td class="not_done">mac_sm</td> 
    483 <td class="not_done">mac_core</td> 
     483<td class="done">mac_core</td> 
    484484<td class="done">sgi</td> 
    485485</tr> 
     
    493493<td class="unknown">oss</td> 
    494494<td class="not_done">mac_sm</td> 
    495 <td class="not_done">mac_core</td> 
     495<td class="done">mac_core</td> 
    496496<td class="done">sgi</td> 
    497497</tr> 
     
    505505<td class="unknown">oss</td> 
    506506<td class="not_done">mac_sm</td> 
    507 <td class="not_done">mac_core</td> 
     507<td class="done">mac_core</td> 
    508508<td class="done">sgi</td> 
    509509</tr> 
     
    517517<td class="unknown">oss</td> 
    518518<td class="not_done">mac_sm</td> 
    519 <td class="not_done">mac_core</td> 
     519<td class="unknown">mac_core</td> 
    520520<td class="done">sgi</td> 
    521521</tr> 
     
    529529<td class="unknown">oss</td> 
    530530<td class="not_done">mac_sm</td> 
    531 <td class="not_done">mac_core</td> 
     531<td class="unknown">mac_core</td> 
    532532<td class="done">sgi</td> 
    533533</tr> 
     
    542542<td class="unknown">oss</td> 
    543543<td class="not_done">mac_sm</td> 
    544 <td class="not_done">mac_core</td> 
     544<td class="unknown">mac_core</td> 
    545545<td class="done">sgi</td> 
    546546</tr> 
     
    602602 
    603603<p> 
    604 The above status report needs to be taken in the context of the V18 release, the features it implemented (and didn't implement), and the quality and consistency of its implementations. For example many features listed above were not part of the V18 API, some were not consistently implemented accross all platforms, and some of the bug-like items were also present in V18. So the overall conclusion is that V19 is in pretty good shape. Aside from the total lack of support on the Mac at this stage, the V19 API is moderately functional on all other platforms, in many cases to a level that matches or surpasses V18. 
     604The above status report needs to be taken in the context of the V18 release, the features it implemented (and didn't implement), and the quality and consistency of its implementations. For example many features listed above were not part of the V18 API, some were not consistently implemented accross all platforms, and some of the bug-like items were also present in V18. So the overall conclusion is that V19 is in pretty good shape. The V19 API is functional on all platforms, in many cases to a level that matches or surpasses V18. 
    605605</p> 
    606606 
     
    10861086 
    10871087</BODY> 
    1088 </HTML> 
     1088</HTML>K