Skip to content

Use PortAudio library for audio I/O #3

Closed

Description

@szechyjs

Unless your running linux that is not cutting edge then getting audio input/output to work with dsd can be troublesome. I'd like to use PortAudio for this as it provides compatibility with Windows, Mac, and Unix systems.

Activity

  1. jazzbassNick commented on Oct 10, 2013

    @jazzbassNick

    Good call - wish I was more of a programmer than a tinkerer. Would love to help out.

  2. abadb commented on Jan 26, 2014

    @abadb

    I'm working on getting PortAudio support for DSD, but don't know how much time would it take to finish it. At the moment I'm just trying to grasp the DSD internals and writing an audio wrapper around all audio I/O functions.

  3. szechyjs commented on Jan 27, 2014

    @szechyjs
    OwnerAuthor

    @mines Thanks for your help on this task. Let me know if there is anything I can do to help.

  4. abadb commented on Jan 30, 2014

    @abadb

    Thanks, @szechyjs. I might do some refactoring on the existing code, I hope you are happy with that.

  5. szechyjs commented on Jan 30, 2014

    @szechyjs
    OwnerAuthor

    @mines there is nothing wrong with refactoring, good software development actually encourages it. I would like to start adding unit tests as well. This may be a good point for me to get that started.

  6. danielsmith-eu commented on Feb 7, 2014

    @danielsmith-eu

    Is there a repository for your work in progress, @mines ?

  7. abadb commented on Feb 10, 2014

    @abadb

    @danielsmith-eu as soon as I have some meaningful code, I will publish it to a branch in my forked version

  8. szechyjs commented on Jun 9, 2014

    @szechyjs
    OwnerAuthor

    Has been started by pull request #38
    Merged as 45eb53f

  9. jpwichern commented on Jun 10, 2014

    @jpwichern
    Contributor

    I did describe it as a hack in the pull request but it seems to function now in all the usual scenarios. If there are any issues, please shoot :) Especially the latency values seemed to be tricky and I'm not sure what I set currently will work out for every system. They are put into defines in dsd.h so you could adjust them if you like.
    For a build environment I used the latest Cygwin. Compiled the latest version of Portaudio first and the known dependencies like MBE Lib, libsndfile, etc. and installed them. Portaudio is optional. So if you don't install it, dsd will be compiled without it.
    Use the pa_devs example program in the compiled Portaudio source to get the device numbers of your audio devices. Use "pa:#" (where # is the number of your audio device) instead of a device or file name for in- and/or output devices in the command line. For example: "dsd.exe -i pa:12 -o pa:2"

  10. szechyjs commented on Jun 10, 2014

    @szechyjs
    OwnerAuthor

    I have plans to add the pa_devs functionality to dsd so the user can just run with a command line arg to see available devices. I'd like to also make the default to grab the first available output device if none is specified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions