Code Monkey home page Code Monkey logo

yanivyalda / audiere Goto Github PK

View Code? Open in Web Editor NEW

This project forked from poikilos/audiere

0.0 1.0 0.0 17.99 MB

Audiere continuation (see this project's README.md for why NOT to use 1.9.4). This fork has fixes from all other forks. This fork is based on vancegroup's fork of discontinued Audiere (which at least has svn changes after 1.9.4; see doc/authors.txt) but has all known fixes from all other forks.

Home Page: http://github.com/expertmm

License: GNU Lesser General Public License v2.1

CMake 2.04% Makefile 0.88% Python 1.51% Shell 1.53% Pascal 2.07% Java 0.36% C++ 70.02% Lua 0.08% C 20.13% M4 1.39%

audiere's Introduction

Audiere

If you need a Windows build, you can use SethRobinson Windows binaries. This fork is based on vancegroup's fork of Chad Austin's Audiere (see "Reasons for Fork" below). I only made this modernized fork since I wrote a whole sound implementation based on it before finding out that the linux package was based on the (VERY) old and deprecated sourceforge release version 1.9.4. However, maybe this will bring the project back to life, as there are several others on GitHub (and AUR) doing some great work on Audiere (so far, the only central location for that work is here).

Download

  • Linux download is available on releases page. You'll have to download the appropriate tar.gz file then use "Compiling" instructions below.

Differences from original sourceforge version

Usage

  • see doc/tutorial.txt
  • for Code::Blocks notes (setting up projects to use Audiere as a dependency), see HowTo-expertmm.md

Compiling

  • Make sure make dependencies are installed (for build tools, your linux distro probably has a package group for building similar to first line of each set of steps below):
    • Debian or Ubuntu (this wasn't tested, so you may need repos or specific PPAs enabled for this to work):
      • sudo apt-get update && sudo apt-get install build-essentials
      • sudo apt-get install doxygen
    • arch:
      • do not do the following command if you already need and have multilib-devel metapackage from AUR: sudo pacman -Syu base-devel # installed by default
      • sudo pacman -Syu doxygen
    • formerly, hcc was required for full-release.sh, but yaourt -Sy hcc wasn't working so I made hcc optional (changed doxygen-dist.sh)
  • see also doc/release-howto.txt
  • see also examples/wxPlayer/IMPORTANT.txt
  • for compiling cross-platform (non-Windows)
    • if cloned from git, see HowTo-expertmm.md
    • if downloaded a release version tar.gz from releases, this should work:
      ./bootstrap
      ./configure
      make
      sudo make install
      
  • If you want to use scons on non-Windows platform (not recommended for cross-platform) and you don't have libdumb (as expected): scons use_dumb=no
    • NOTE: using scons will cause so file's name to not have -1.9.4 appended, resulting in programs not running. You would then have to manually rename or link to it and put it in your system with something like LD_LIBRARY_PATH=/usr/local/lib/libaudiere-1.9.4.so && ldconfig

Changes

see doc/changelog.txt

Dependencies

see doc/dependencies.txt

Optional Dependencies

  • alsa-oss (to emulate oss since oss is deprecated--alsa-oss creates /dev/dsp, which Audiere release or AUR version need in order to create a sound device--otherwise Audiere will output an error to the console saying /dev/dsp is missing): this should be optional now because https://github.com/vancegroup/Audiere version has alsa support (from svn 2011 version) and pulse support

Reasons for Fork

  • last sourceforge release was 2006
  • there were changes up to 2011 in sourceforge version--but it still requires windows.h when trying to compile on linux via scons use_dumb=no
  • https://aur.archlinux.org/packages/audiere was last updated 2015 and has some patches that should be added in some central (non-OS-specific) location
  • On the feature request to support alsa at https://sourceforge.net/p/audiere/feature-requests/67/ (noting that at the time, oss was already all but deprecated), anonymous replied "Whatever, patches welcome"--that was in 2007. In svn, also code is availale (see HAS_ALSA define in code, such as device.cpp; coreaudio and pa are also conditionally included there).
  • latest GitHub fork was 2014 (and didn't compile with wx 3; the later SethRobinson fork doesn't count--it only made changes for MSVC 32-bit & 64-bit compilation, and didn't fork from vancegroup who had done many fixes).
    • and isn't cross-platform

Known issues

  • CMakeLists.txt has many TODOs that seem important, such as:
    if(NOT WIN32)
      # TODO
      # search for libcdaudio
    endif()
    
  • implement fixes for MSVC 32-bit & 64-bit compilation implemented in SethRobinson's fork of https://github.com/kg/Audiere (should have been forked from later fork but wasn't so full diff must be manually applied to current fork)
  • possible type-o in device_null.h (see "old changes noted during diffs" above)
  • requires oss (or emulation of /dev/dsp via alsa-oss) which is deprecated

Developer Notes

SOUND_BUFFERS is 15 SOUND_SOURCES is 20

Unicode filenames require an external library such as wx (the following is from https://github.com/kg/Audiere/blob/master/examples/wxPlayer/DeviceFrame.cpp):

#if wxUSE_UNICODE
  wxCharBuffer buffFilename = filename.mb_str(wxConvUTF8);
  audiere::SampleSourcePtr source = audiere::OpenSampleSource(buffFilename.data());
#else
  audiere::SampleSourcePtr source = audiere::OpenSampleSource(filename);
#endif

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.