Giter Site home page Giter Site logo

pipian / libcueify Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 816 KB

Cross-platform library for extracting audio CD metadata (TOC, CD-Text, etc.) and formatting cuesheets

License: MIT License

C++ 16.30% C 70.46% Ruby 0.32% Perl 0.05% Python 12.87%

libcueify's Issues

Add Mac OS X/Darwin support

Once OS-specific modularity is implemented, we can start implementing functions using different operating systems. Mac OS X/Darwin is one such target.

Add tests (especially for serialization)

Although the cueify example has done a good job exercising the APIs and doing basic debugging, we need a proper set of unit tests to ensure that all APIs work as expected (especially serialization/deserialization).

Add SWIG bindings

To maximize usability of this library, SWIG bindings should be added. Ideally, these bindings should target (minimally) Perl, Python, and Ruby.

Add discid calculations

Might be nice to actually calculate discids of TOCs on the side. That would let this basically almost entirely supplant libdiscid (except with a different API).

Add Karaoke (CD-G) Support

Investigate the possibility of extracting (or at least detecting) karaoke (CD-G) data and adding it to libcueify.

Add Solaris Support

Solaris support is needed to allow libcueify to act as a complete replacement for the unportable code in the trunk repo of libdiscid.

Add API for proper mode detection

In reviewing the win32 APIs being ported and cueify's old code, I noted the use of ReadRawSector to properly detect the mode of data in a data track. An API should be added to handle this properly like with the other APIs (it need not support ReadRawSector's functionality in its entirety, just the mode-detection part).

Add API for detecting API support

Not always possible, but when possible, we need to be able to detect when parts of the advanced API (e.g. read_full_toc APIs) are unsupported on a platform.

Refactor include files

Major API change (in terms of the include paths; not in terms of the API names), but no one is using the library yet, so we can afford to do this.

Add OpenBSD Support

OpenBSD support is needed to allow libcueify to act as a complete replacement for the unportable code in the trunk repo of libdiscid.

Add win32 Support

Right now, although the old code was written for win32 (well, Windows XP and above), no testing is happening using the platform, and it almost certainly does not compile on win32 at this time. If we're keeping the code, we should make it work.

Add Doxygen documentation

The API should be well-documented with Doxygen. This is already (sort of) done, but it should remain so with the refactor, and we should actually be able to build the documentation as well.

Add Linux support

Once OS-specific modularity is implemented, we can start implementing functions using different operating systems. Linux is one such target.

Add C++ Bindings

In order to better define the SWIG bindings, it is necessary to define C++ bindings which mirror them (in part because C++ bindings cannot be created through SWIG).

Add FreeBSD support

Once OS-specific modularity is implemented, we can start implementing functions using different operating systems. FreeBSD is one such target.

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.