Coder Social home page Coder Social logo

tuffy / python-audio-tools Goto Github PK

View Code? Open in Web Editor NEW
246.0 246.0 57.0 28.69 MB

A collection of audio handling programs which work from the command line.

Home Page: http://audiotools.sourceforge.net

License: GNU General Public License v2.0

Makefile 0.04% Python 18.99% C 73.44% C++ 0.43% Shell 0.03% Objective-C 7.08%

python-audio-tools's People

Contributors

lemenkov avatar mtw00 avatar ryechus avatar tuffy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-audio-tools's Issues

python setup.py sdist produced an uninstallable source tree

Hello,

i've checkouted the trunk (1ad7978...) and a python setup.py sdist produced an uninstallable source tree : when i run python setup.py build on the resulting tree, it lacks some files in the src/ directory.

building 'audiotools.cdio' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c src/cdiomodule.c -o build/temp.linux-x86_64-2.6/src/cdiomodule.o
src/cdiomodule.c:7:17: error: pcm.h: No such file or directory

Anyway, great job with python-audio-tools.

Trackverify -R fails

Python Audio Tools 3.0beta1

AccurateRip verification does not work well with python2. Started well but the final report fails:

[ 1/13]  01. filename.flac : found (confidence 6)
[...]
[13/13]  13. filename.flac : found (confidence 6)
Traceback (most recent call last):
  File "/usr/local/bin/trackverify", line 647, in <module>
    filename = audiotools.output_text(filename)
  File "/usr/local/lib/python2.7/dist-packages/audiotools/__init__.py", line 528, in __new__
    assert(isinstance(unicode_string, str if PY3 else unicode))
AssertionError

Also after converting the tracks, verification fails completely

[ 1/13]  track01.wav : disc not in database
[ 2/13]  track02.wav : no match in database
[...]
[13/13]  track13.wav : no match in database
Traceback (most recent call last):
  File "/usr/local/bin/trackverify", line 647, in <module>
    filename = audiotools.output_text(filename)
  File "/usr/local/lib/python2.7/dist-packages/audiotools/__init__.py", line 528, in __new__
    assert(isinstance(unicode_string, str if PY3 else unicode))
AssertionError

After installing python3-dev (and edit the makefile), verification (original) works as it should:

                                 AccurateRip V1             AccurateRip V2
Track                      Confidence Offset Checksum Confidence Offset Checksum
────────────────────────── ────────── ────── ──────── ────────── ────── ────────
01. filename.flac                   8      0 C923A50C          6      0 D28F1820
02. filename.flac                   8      0 A1F577F6          6      0 D650C147
[...]
13. filename.flac                   7      0 43F4A3CE          6      0 C69E2866

But the verification of the converted files keeps failing:

[ 1/13]  track01.wav : disc not in database
[...]
[13/13]  track13.wav : no match in database
                                  AccurateRip V1             AccurateRip V2
Track       Confidence Offset Checksum Confidence Offset Checksum
─────────── ────────── ────── ──────── ────────── ────── ────────
track01.wav                 0 C923A50C                 0 D28F1820
track02.wav                 0 A1F577F6                 0 D650C147
[...]
track13.wav                 0 43F4A3CE                 0 C69E2866

So, although the checksums are identical.
Thanks!
Sorry for my english

Python 3 support

Although this causes some work, the long-term aim should be the support of python 3.

Fails to build on FreeBSD9

python setup.py build

running build
running build_py
running build_ext
building 'audiotools.pcmconverter' extension
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/pcmconverter.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/pcmconverter.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/pcmconv.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/pcmconv.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/array.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/array.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/bitstream.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/bitstream.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/buffer.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/buffer.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/func_io.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/func_io.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/samplerate/samplerate.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/samplerate/samplerate.o
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -O2 -pipe -fno-strict-aliasing -fPIC -I/usr/local/include/python2.7 -c src/samplerate/src_sinc.c -o build/temp.freebsd-9.0-RELEASE-amd64-2.7/src/samplerate/src_sinc.o
src/samplerate/src_sinc.c:47: error: expected '=', ',', ';', 'asm' or 'attribute' before 'increment_t'
src/samplerate/src_sinc.c:87: error: expected '=', ',', ';', 'asm' or 'attribute' before 'double_to_fp'
src/samplerate/src_sinc.c:92: error: expected '=', ',', ';', 'asm' or 'attribute' before 'int_to_fp'
src/samplerate/src_sinc.c:97: error: expected ')' before 'x'
src/samplerate/src_sinc.c:102: error: expected '=', ',', ';', 'asm' or 'attribute' before 'fp_fraction_part'
src/samplerate/src_sinc.c:107: error: expected ')' before 'x'
src/samplerate/src_sinc.c: In function 'sinc_set_converter':
src/samplerate/src_sinc.c:157: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:157: error: (Each undeclared identifier is reported only once
src/samplerate/src_sinc.c:157: error: for each function it appears in.)
src/samplerate/src_sinc.c:157: error: expected ';' before 'count'
src/samplerate/src_sinc.c:243: error: 'count' undeclared (first use in this function)
src/samplerate/src_sinc.c: At top level:
src/samplerate/src_sinc.c:277: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c:277: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c: In function 'calc_output_single':
src/samplerate/src_sinc.c:279: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:279: error: expected ';' before 'filter_index'
src/samplerate/src_sinc.c:283: error: 'max_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:286: error: 'filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:286: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:287: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c: In function 'sinc_mono_vari_process':
src/samplerate/src_sinc.c:332: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:332: error: expected ';' before 'increment'
src/samplerate/src_sinc.c:395: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c:397: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:400: error: too many arguments to function 'calc_output_single'
src/samplerate/src_sinc.c: At top level:
src/samplerate/src_sinc.c:423: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c:423: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c: In function 'calc_output_stereo':
src/samplerate/src_sinc.c:425: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:425: error: expected ';' before 'filter_index'
src/samplerate/src_sinc.c:429: error: 'max_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:432: error: 'filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:432: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:433: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c: In function 'sinc_stereo_vari_process':
src/samplerate/src_sinc.c:481: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:481: error: expected ';' before 'increment'
src/samplerate/src_sinc.c:544: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c:546: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:548: error: too many arguments to function 'calc_output_stereo'
src/samplerate/src_sinc.c: At top level:
src/samplerate/src_sinc.c:571: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c:571: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c: In function 'calc_output_quad':
src/samplerate/src_sinc.c:573: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:573: error: expected ';' before 'filter_index'
src/samplerate/src_sinc.c:577: error: 'max_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:580: error: 'filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:580: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:581: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c: In function 'sinc_quad_vari_process':
src/samplerate/src_sinc.c:635: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:635: error: expected ';' before 'increment'
src/samplerate/src_sinc.c:698: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c:700: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:702: error: too many arguments to function 'calc_output_quad'
src/samplerate/src_sinc.c: At top level:
src/samplerate/src_sinc.c:725: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c:725: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c: In function 'calc_output_hex':
src/samplerate/src_sinc.c:727: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:727: error: expected ';' before 'filter_index'
src/samplerate/src_sinc.c:731: error: 'max_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:734: error: 'filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:734: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:735: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c: In function 'sinc_hex_vari_process':
src/samplerate/src_sinc.c:795: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:795: error: expected ';' before 'increment'
src/samplerate/src_sinc.c:858: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c:860: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:862: error: too many arguments to function 'calc_output_hex'
src/samplerate/src_sinc.c: At top level:
src/samplerate/src_sinc.c:885: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c:885: error: expected declaration specifiers or '...' before 'increment_t'
src/samplerate/src_sinc.c: In function 'calc_output_multi':
src/samplerate/src_sinc.c:889: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:889: error: expected ';' before 'filter_index'
src/samplerate/src_sinc.c:896: error: 'max_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:899: error: 'filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:899: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:900: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c: In function 'sinc_multichan_vari_process':
src/samplerate/src_sinc.c:1042: error: 'increment_t' undeclared (first use in this function)
src/samplerate/src_sinc.c:1042: error: expected ';' before 'increment'
src/samplerate/src_sinc.c:1105: error: 'increment' undeclared (first use in this function)
src/samplerate/src_sinc.c:1107: error: 'start_filter_index' undeclared (first use in this function)
src/samplerate/src_sinc.c:1109: warning: passing argument 4 of 'calc_output_multi' makes pointer from integer without a cast
src/samplerate/src_sinc.c:1109: error: too many arguments to function 'calc_output_multi'
error: command 'cc' failed with exit status 1

Featurerequest for a Method AudioOutput.release()

please provide a Method AudioOutput.release()

short story: i want to play 16bit/2.0 24bit/5.0 and 24bit/5.1 flac-files all in the same playlist, without restarting my application whenever channelcount is changing.

use-case:
there are situations alsa has to be reconfigured by altering .asoundrc.
Those changes only take effect when alsa-lib has been released and reloaded.
For now it's necessary to stop the whole application(and python-interpreter) which is using audiotools to force ALSAAudio_dealloc in alsa.c being called.
I tried to implement this by myself but unfortunately without success.

my special use-case for reconfiguring alsa:
instead of writing prosa, here my different .asoundrc
Switching between them with python-code works reliable but changes only take effect after restarting my whole app.

for stereo:
pcm.!default {
type hw
card 0
device 8
}

for 5.0
pcm.!default = {
type= route
slave {
pcm = "hw:0,8"
channels 6
}
ttable {
0.0=1
1.1=1
2.4=1
3.2=1
4.3=1
}
}

for 5.1
pcm.!default = {
type= route
slave {
pcm = "hw:0,8"
channels 6
}
ttable {
0.0=1
1.1=1
2.4=1
3.5=1
4.2=1
5.3=1
}
}

PS: besides using audiotools.player.Player i also tried your more low-level api, to play 16bit/2.0 24bit/5.0 and 24bit/5.1 flac-files all in the same playlist
The code below did the trick, but for audiotools.player.Player i did not find any other solution than the one in the requested feature above (switching .asoundrc).

MASK_20 = ChannelMask.from_fields(front_left=True,front_right=True)
MASK_50 = ChannelMask.from_fields(front_left=True,front_right=True,front_center=True,side_left=True,side_right=True)
MASK_51 = ChannelMask.from_fields(front_left=True,front_right=True,front_center=True,side_left=True,side_right=True,low_frequency=True)

ORDER = {2:[0,1], 5:[1,3,4,2,0,0], 6:[1,4,5,2,3,0]}
MASK = {2:MASK_20, 5:MASK_51, 6:MASK_51}

nChannels = gotFromDatabase(file)
mask = MASK[nChannels]
order = ORDER[nChannels]
flacReader = FlacAudio(uri).to_pcm()
reorderedReader = at.ReorderedPCMReader(flacReader, order, mask)
pcmReader = at.BufferedPCMReader(reorderedReader)

Planned support for windows?

Is there any planned support for windows.

I've tried compiling the package on windows with mingw but I have a wide range of errors occuring that are beyond my level of compile skill. I would love to use the library for a cross-platform music client with low dependencies.

cd2track unable to write

Excuse my english...
Cd2track is unable to write if set the cdrom-offset (in my case 6)
However, is able to write when the cdrom-offset is set to 0.
Therefore AccurateRip verification always fails (no match in database)

Do not explicitly add Part-of-compilation tag to M4A files

I noticed that M4A files always have Part-of-compilation ('cpil') tag added and set to 'yes'. In my opition, this is wrong. I am attaching a patch to remove this behaviour. To fix the issue correctly, audio-tools should handle "compilation" metadata for supported audio formats (I think FLAC uses COMPILATION=1). Please, fix. :)

--- audiotools/m4a_atoms.py.orig    2015-09-29 16:42:11.000000000 +0000
+++ audiotools/m4a_atoms.py
@@ -1422,11 +1422,6 @@ class M4A_META_Atom(MetaData, M4A_Tree_A
                     [M4A_ILST_COVR_Data_Atom.converted(
                         metadata.front_covers()[0])]))

-        ilst_atoms.append(
-            M4A_ILST_Leaf_Atom(
-                b'cpil',
-                [M4A_Leaf_Atom(b'data',
-                               b'\x00\x00\x00\x15\x00\x00\x00\x00\x01')]))

         return cls(0, 0, [M4A_HDLR_Atom(0, 0, b'\x00\x00\x00\x00',
                                         b'mdir', b'appl', 0, 0, b'', 0),

IndexError: list index out of range

Python Audio Tools 2.15

$ cd2xmcd -x Beneath_the_Surface.xml -c /dev/hdc
Traceback (most recent call last):
File "/usr/local/bin/cd2xmcd", line 102, in
musicbrainz_discid = audiotools.MBDiscID.from_cdda(cdda)
File "/usr/local/lib/python2.6/dist-packages/audiotools/musicbrainz.py", line 97, in from_cdda
lead_in=tracks[0].offset(),
IndexError: list index out of range

Won't build because of missing config.h (fails when building audiotools.cdio extension)

Hello,

audiotools won't build on my system (Arch Linux, x86_64). The relevant part of the log is as follows:

building 'audiotools.cdio' extension
gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -fPIC -I/usr/include/python3.4m -c src/cdiomodule.c -o build/temp.linux-x86_64-3.4/src/cdiomodule.o
In file included from src/cdiomodule.h:2:0,
             from src/cdiomodule.c:1:
/usr/include/cdio/cdda.h:24:20: fatal error: config.h: No such file or directory
 #include <config.h>
                ^
compilation terminated.
error: command 'gcc' failed with exit status 1
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 1

Any thoughts on this?

Thanks in advance!

Problems installing with `pip`

Hi, this seems pretty low-priority, since it's not even part of the recommended installation procedure, but somebody might be interested.

I was unable to install from the source distribution tarball using sudo pip install audiotools-2.15.tar.gz. My attempt to do so spit out this error section (preceding & following lines elided):

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DVERSION=2.15 -I/usr/include/python2.6 -c src/md5.c -o build/temp.linux-x86_64-2.6/src/md5.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DVERSION=2.15 -I/usr/include/python2.6 -c src/encoders/flac.c -o build/temp.linux-x86_64-2.6/src/encoders/flac.o
In file included from src/encoders/flac.c:1:
src/encoders/flac.h:265:22: error: flac_crc.h: No such file or directory
src/encoders/flac.c: In function ‘encoders_encode_flac’:
src/encoders/flac.c:167: error: ‘flac_crc8’ undeclared (first use in this function)
src/encoders/flac.c:167: error: (Each undeclared identifier is reported only once

A closer look reveals that the file src/encoders/flac_crc.h is a symbolic link.

I was able to get the module to install by running sudo pip install . from within the unzipped directory. I didn't try using easy_install or other methods because I didn't want it to get installed without pip keeping track of the installed files for possible later uninstallation.

I'm running ubuntu 10.04 x86_64.

Also sorry if you prefer to use a sourceforge issue tracker; I didn't see a link to one anywhere.

track2track issue when title tag contains '?'

I just bought the Drive soundtrack, used iTunes to rip it to Apple Lossless m4a files for my iPad/iPhone, and then attempted to use python-audio-tools to generate .flac versions for my audio center.

However, track 11 had a question mark in the track title which doesn't seem to get escaped before it is passed to the flac encoder:

$ track2track -t flac -d flac .m4a
01 - Kavinsky & Lovefoxxx - Nightcall.m4a -> flac/Kavinsky & Lovefoxxx - 01 - Nightcall.flac
02 - Desire - Under Your Spell.m4a -> flac/Desire - 02 - Under Your Spell.flac
03 - College - A Real Hero (feat. Electric Youth).m4a -> flac/College - 03 - A Real Hero (feat. Electric Youth).flac
04 - Riz Ortolani - Oh My Love (feat. Katyna Ranieri).m4a -> flac/Riz Ortolani - 04 - Oh My Love (feat. Katyna Ranieri).flac
05 - The Chromatics - Tick of the Clock.m4a -> flac/The Chromatics - 05 - Tick of the Clock.flac
06 - Cliff Martinez - Rubber Head.m4a -> flac/Cliff Martinez - 06 - Rubber Head.flac
07 - Cliff Martinez - I Drive.m4a -> flac/Cliff Martinez - 07 - I Drive.flac
08 - Cliff Martinez - He Had a Good Time.m4a -> flac/Cliff Martinez - 08 - He Had a Good Time.flac
09 - Cliff Martinez - They Broke His Pelvis.m4a -> flac/Cliff Martinez - 09 - They Broke His Pelvis.flac
10 - Cliff Martinez - Kick Your Teeth.m4a -> flac/Cliff Martinez - 10 - Kick Your Teeth.flac
*
* Error: [Errno 22] Invalid argument: "flac/Cliff Martinez - 11 - Where's the Deluxe Version?.flac

DVD-Audio support

I'll resurrect it as a seperate project later [...]

Use pretty dvda2track. Waiting for the new project. Until then I can not update...

Why is there a #!/usr/bin/python?

While trying to create a fedora package I recognized that the following files (v2.22) start with #!/usr/bin/python on the first line. Is there something I can't see? I don't think that all of these files should be executed by a user...

py_encoders/wavpack.py
wavpack.py
init.py
py_encoders/flac.py
image.py
m4a_atoms.py
ape.py
toc/tokrules.py
py_encoders/init.py
py_decoders/shn.py
mp3.py
musicbrainz.py
freedb.py
vorbiscomment.py
id3v1.py
text.py
py_decoders/init.py
toc/yaccrules.py
tta.py
cue/yaccrules.py
ogg.py
flac.py
opus.py
py_decoders/wavpack.py
aiff.py
py_encoders/shn.py
py_encoders/alac.py
toc/init.py
delta.py
cue/tokrules.py
py_encoders/tta.py
m4a.py
vorbis.py
py_decoders/alac.py
py_decoders/flac.py
ui.py
player.py
id3.py
cue/init.py
accuraterip.py
shn.py
dvda.py
py_decoders/tta.py
wav.py
au.py

audiotools-config -I error on excution command

Hi,

I get an error when I execute the command "audiotools-config -I". An idea to solve this problem?

    Traceback (most recent call last):
      File "/usr/local/bin/audiotools-config", line 1202, in <module>
        loop.run()
      File "/usr/lib/python2.7/dist-packages/urwid/main_loop.py", line 274, in run
        self.screen.run_wrapper(self._run)
      File "/usr/lib/python2.7/dist-packages/urwid/raw_display.py", line 237, in run_wrapper
        return fn()
      File "/usr/lib/python2.7/dist-packages/urwid/main_loop.py", line 285, in _run
        self.draw_screen()
      File "/usr/lib/python2.7/dist-packages/urwid/main_loop.py", line 508, in draw_screen
        canvas = self._topmost_widget.render(self.screen_size, focus=True)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/wimp.py", line 607, in render
        self._update_overlay(size, focus)
      File "/usr/lib/python2.7/dist-packages/urwid/wimp.py", line 587, in _update_overlay
        canv = self._original_widget.render(size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 596, in render
        focus and self.focus_part == 'body')
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 875, in render
        focus=focus and    item_focus )
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 170, in finalize_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/listbox.py", line 363, in render
        canvas = widget.render((maxcol,))
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/decoration.py", line 395, in render
        canv = self._original_widget.render((maxcol, self.height), focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 1318, in render
        canv = get_delegate(self).render(size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 875, in render
        focus=focus and    item_focus )
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 1228, in render
        focus = focus and self.focus_col == i)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 170, in finalize_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/listbox.py", line 363, in render
        canvas = widget.render((maxcol,))
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 1228, in render
        focus = focus and self.focus_col == i)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 1318, in render
        canv = get_delegate(self).render(size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/container.py", line 1228, in render
        focus = focus and self.focus_col == i)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 132, in cached_render
        canv = fn(self, size, focus=focus)
      File "/usr/lib/python2.7/dist-packages/urwid/widget.py", line 624, in render
        return apply_text_layout(text, attr, trans, maxcol)
      File "/usr/lib/python2.7/dist-packages/urwid/canvas.py", line 1277, in apply_text_layout
        text[s.offs:s.end])
      File "/usr/lib/python2.7/dist-packages/urwid/util.py", line 124, in apply_target_encoding
        s = s.encode( _target_encoding )
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u2026' in position 20: ordinal not in range(128)

samplerate/common.h needs patching for FreeBSD

This needs to include stdint.h for int32_t to be defined. Otherwise the build fails on FreeBSD. It previously used HAVE_STDINT_H which is a macro defined by autotools. You do not use autotools for this software, so I replaced it with a macro check against the version of standard C being used. If the compiler advertises C99 or newer, then stdint.h is present because it is a mandatory header for conforming C99 or newer implementations. Please apply the below patch.

--- src/samplerate/common.h.orig 2014-12-31 18:30:53 UTC
+++ src/samplerate/common.h
@@ -25,7 +25,7 @@
#ifndef COMMON_H_INCLUDED
#define COMMON_H_INCLUDED

-#ifdef HAVE_STDINT_H
+#if STDC_VERSION >= 199901L
#include <stdint.h>
#elif (SIZEOF_INT == 4)
typedef int int32_t ;

tta CUESHEET support not working

I have only found one software so far that can produce whole cd rips with TTA. Python audio tools looks for this in the 'Cuesheet' while CUERipper embeds it within the 'CUESHEET' tag. Please fix the tag name. Or is there actually software that embeds it within the tag you are using now?

audiotools

Cd2track won't write wav files. The ripping process is advancing to the end and the file i s growing on a disk but it finishes with "** Error: unable to write "trackname.wav" and deletes it. The same with format wv. With flack it is ok. Tested on Archlinux and Debian Wheezy. Audiotools 2.20.1. Great app anyway.

dvda2track failure

I can not extract with dvda2track.
dvda2wav works perfectly.

Traceback (most recent call last):
  File "/usr/local/bin/dvda2track", line 210, in <module>
    AudioType = audiotools.TYPE_MAP[options.type]
KeyError: None

Anyway I can extract typically using dvda2wav.

* Extracting MLP track  2 channels  48000 Hz  24 bps
* Wrote: "./track-02-01.wav"
* Extracting MLP track  2 channels  48000 Hz  24 bps [...]

AccurateRip

I have a disc that EAC recognises as a key disc, yet Python Audio Tools refuses to acknowledge as being in the accurate rip database.

I am guessing I am doing something wrong.

I have tried setting the read offset to 0, and 594 (I believe 594 is correct). I am then running cd2track -I and ripping to flac. Do I need to change my ID3 tags? Replay gain?

Am I missing any steps? Is there a sure-fire way to make sure my read-offset is correct?

I noticed that I'm not creating a cue sheet. should I? How do I do this within python audio tools?

Thanks for your help. The tools look perfect for my needs. I just need to learn how to use them better.

Ability to abort ripping/recoding

I'm trying to find a way to solve following three events, and has yet to come up with a solution. Sometimes cd2track just freezes and I have to use kill -9 to kill it.

I'm writing a own program for a project, which is an automated ripping to mp3 when CD is inserted into a drive, but I've been able to reproduce the issues using cd2track.

  1. Ejecting of CD during ripping (using udisk1 for event handling, but hasn't found a way to stop the ripping)
  2. Disconnect the physical CD drive (external USB portable drive)
  3. removal of the target directory during ripping

error message should tell user to run audiotools-config when filename supplied but not supported

Currently if (e.g.,) you haven't installed faac/faad to enable support for m4a files and you attempt to interact with them, you get a generic error message that doesn't make it immediately obvious how you would resolve the problem:

% trackrename "--format=%(track_number)2.2d-%(track_name)s.%(suffix)s" *.m4a
*** Error: you must specify at least 1 supported audio file

When the user has supplied at least one filename, but it is an unsupported format (due to missing binaries etc.) it would be helpful if this error message pointed the user at the audiotools-config command as a way of seeing what binaries they currently have and what they need to install to enable operation on those files.

Feature request DSF DFF tagging support

It'd be great if tracktag can support tag management of .DSF and .DFF DSD audio file formats.
The format DSF natively supports ID3.

Specifications can be
http://dsd-guide.com/technical-documents
http://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf
http://dsd-guide.com/sites/default/files/white-papers/DSDIFF_1.5_Spec.pdf

There is a plugin for musicbrainz-picard
https://github.com/hank/dsf2flac/tree/master/extras/picard%20dsf%20file%20support
and a command line tool
https://github.com/pekingduck/metadsf

Thanks for this great software

Library-only installation

I'm interested in using PAT through the API only. Is there an easy way to install it without all the executables? If not, that would be nice. :)

Cannot install on OSX 10.8

This is what I've done to install audiotools-2.19 (the zip file downloaded from sourceforge):

1.I've downloaded the libcdio src from a git repo, and use the following instructions to make install it:

git clone git://git.sv.gnu.org/libcdio.git
cd libcdio
touch doc/version.texi
./autogen.sh   ##This creates different ./configure with development stuff I guess
./configure
make
sudo make install

2.I've double checked that headers files has been added to /usr/local/include as folder cdio and cdio++.

3.After that, I crack into audiotools folder, and tried my luck with make install, and here's what I've got:

voidmain@MBP  ~/Developement/audiotools-2.19  make install
python setup.py install
running install
running build
running build_py
creating build
creating build/lib.macosx-10.8-intel-2.7
creating build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/__init__.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/accuraterip.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/aiff.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/ape.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/au.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/cue.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/delta.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/dvda.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/flac.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/freedb.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/id3.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/id3v1.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/image.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/m4a.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/m4a_atoms.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/mp3.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/musicbrainz.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/ogg.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/opus.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/player.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/shn.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/text.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/toc.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/ui.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/vorbis.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/vorbiscomment.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/wav.py -> build/lib.macosx-10.8-intel-2.7/audiotools
copying audiotools/wavpack.py -> build/lib.macosx-10.8-intel-2.7/audiotools
creating build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
copying audiotools/py_decoders/__init__.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
copying audiotools/py_decoders/alac.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
copying audiotools/py_decoders/flac.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
copying audiotools/py_decoders/shn.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
copying audiotools/py_decoders/wavpack.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_decoders
creating build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
copying audiotools/py_encoders/__init__.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
copying audiotools/py_encoders/alac.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
copying audiotools/py_encoders/flac.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
copying audiotools/py_encoders/shn.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
copying audiotools/py_encoders/wavpack.py -> build/lib.macosx-10.8-intel-2.7/audiotools/py_encoders
running build_ext
building 'audiotools.cdio' extension
creating build/temp.macosx-10.8-intel-2.7
creating build/temp.macosx-10.8-intel-2.7/src
gcc -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/cdiomodule.c -o build/temp.macosx-10.8-intel-2.7/src/cdiomodule.o
In file included from src/cdiomodule.c:1:
src/cdiomodule.h:2:23: error: cdio/cdda.h: No such file or directory
src/cdiomodule.h:3:27: error: cdio/paranoia.h: No such file or directory
In file included from src/cdiomodule.c:1:
src/cdiomodule.h:15: error: expected specifier-qualifier-list before ‘cdrom_drive_t’
src/cdiomodule.h:63: error: expected declaration specifiers or ‘...’ before ‘paranoia_cb_mode_t’
src/cdiomodule.h:101: error: expected specifier-qualifier-list before ‘CdIo_t’
In file included from src/cdiomodule.c:2:
/usr/local/include/cdio/cd_types.h:149: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_guess_cd_type’
In file included from src/cdiomodule.c:3:
/usr/local/include/cdio/audio.h:72: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_get_volume’
/usr/local/include/cdio/audio.h:85: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_pause’
/usr/local/include/cdio/audio.h:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_play_msf’
/usr/local/include/cdio/audio.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_play_track_index’
/usr/local/include/cdio/audio.h:113: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_read_subchannel’
/usr/local/include/cdio/audio.h:122: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_resume’
/usr/local/include/cdio/audio.h:131: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_set_volume’
/usr/local/include/cdio/audio.h:140: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_stop’
In file included from src/cdiomodule.c:4:
/usr/local/include/cdio/track.h:105: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:111: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:121: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:127: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:132: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:138: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:148: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:154: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:168: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:182: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:193: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:204: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:218: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:230: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:236: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:247: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
src/cdiomodule.c: In function ‘CDDA_dealloc’:
src/cdiomodule.c:70: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:71: warning: implicit declaration of function ‘cdio_paranoia_free’
src/cdiomodule.c:71: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:72: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:73: warning: implicit declaration of function ‘cdio_cddap_close’
src/cdiomodule.c:73: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDDA_new’:
src/cdiomodule.c:85: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDDA_init’:
src/cdiomodule.c:94: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:99: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:102: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:102: warning: implicit declaration of function ‘cdio_cddap_identify’
src/cdiomodule.c:103: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:109: warning: implicit declaration of function ‘cdio_cddap_open’
src/cdiomodule.c:109: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:115: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:115: warning: implicit declaration of function ‘cdio_paranoia_init’
src/cdiomodule.c:115: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:116: warning: implicit declaration of function ‘paranoia_modeset’
src/cdiomodule.c:116: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:117: error: ‘PARANOIA_MODE_FULL’ undeclared (first use in this function)
src/cdiomodule.c:117: error: (Each undeclared identifier is reported only once
src/cdiomodule.c:117: error: for each function it appears in.)
src/cdiomodule.c:117: error: ‘PARANOIA_MODE_NEVERSKIP’ undeclared (first use in this function)
src/cdiomodule.c: In function ‘CDDA_total_tracks’:
src/cdiomodule.c:125: warning: implicit declaration of function ‘cdio_cddap_tracks’
src/cdiomodule.c:125: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_track_offsets’:
src/cdiomodule.c:140: warning: implicit declaration of function ‘cdio_cddap_track_firstsector’
src/cdiomodule.c:140: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:142: warning: implicit declaration of function ‘cdio_cddap_track_lastsector’
src/cdiomodule.c:142: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_read_sector’:
src/cdiomodule.c:161: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:177: warning: implicit declaration of function ‘cdio_paranoia_read_limited’
src/cdiomodule.c:177: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:179: warning: assignment makes pointer from integer without a cast
src/cdiomodule.c: In function ‘CDDA_read_sectors’:
src/cdiomodule.c:207: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:224: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:226: warning: assignment makes pointer from integer without a cast
src/cdiomodule.c: In function ‘CDDA_first_sector’:
src/cdiomodule.c:242: warning: implicit declaration of function ‘cdio_cddap_disc_firstsector’
src/cdiomodule.c:242: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_last_sector’:
src/cdiomodule.c:248: warning: implicit declaration of function ‘cdio_cddap_disc_lastsector’
src/cdiomodule.c:248: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_track_type’:
src/cdiomodule.c:260: warning: implicit declaration of function ‘cdio_get_track_format’
src/cdiomodule.c:260: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_seek’:
src/cdiomodule.c:273: warning: implicit declaration of function ‘cdio_paranoia_seek’
src/cdiomodule.c:273: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c: In function ‘CDDA_set_speed’:
src/cdiomodule.c:288: warning: implicit declaration of function ‘cdio_cddap_speed_set’
src/cdiomodule.c:288: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_length_in_seconds’:
src/cdiomodule.c:301: warning: implicit declaration of function ‘cdio_get_track_msf’
src/cdiomodule.c:301: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:303: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDImage_new’:
src/cdiomodule.c:321: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:322: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:324: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDImage_init’:
src/cdiomodule.c:333: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:334: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:339: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:344: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:344: warning: implicit declaration of function ‘cdio_open_cue’
src/cdiomodule.c:347: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:347: warning: implicit declaration of function ‘cdio_open_bincue’
src/cdiomodule.c:350: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:350: warning: implicit declaration of function ‘cdio_open_cdrdao’
src/cdiomodule.c:353: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:353: warning: implicit declaration of function ‘cdio_open_nrg’
src/cdiomodule.c:356: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:360: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_dealloc’:
src/cdiomodule.c:370: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:371: warning: implicit declaration of function ‘cdio_destroy’
src/cdiomodule.c:371: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDImage_total_tracks’:
src/cdiomodule.c:379: warning: implicit declaration of function ‘cdio_get_last_track_num’
src/cdiomodule.c:379: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_track_offsets’:
src/cdiomodule.c:394: warning: implicit declaration of function ‘cdio_get_track_lsn’
src/cdiomodule.c:394: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:395: warning: implicit declaration of function ‘cdio_get_track_last_lsn’
src/cdiomodule.c:395: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_read_sector’:
src/cdiomodule.c:405: error: ‘CDIO_CD_FRAMESIZE_RAW’ undeclared (first use in this function)
src/cdiomodule.c:406: warning: implicit declaration of function ‘cdio_read_audio_sector’
src/cdiomodule.c:406: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:408: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:409: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c:410: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:417: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_read_sectors’:
src/cdiomodule.c:435: error: ‘CDIO_CD_FRAMESIZE_RAW’ undeclared (first use in this function)
src/cdiomodule.c:436: warning: implicit declaration of function ‘cdio_read_audio_sectors’
src/cdiomodule.c:436: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:438: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:440: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c:441: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:449: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_first_sector’:
src/cdiomodule.c:461: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:462: warning: implicit declaration of function ‘cdio_get_first_track_num’
src/cdiomodule.c:462: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_last_sector’:
src/cdiomodule.c:468: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:469: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_track_type’:
src/cdiomodule.c:480: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_seek’:
src/cdiomodule.c:486: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_length_in_seconds’:
src/cdiomodule.c:499: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:500: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: At top level:
src/cdiomodule.c:534: error: expected declaration specifiers or ‘...’ before ‘paranoia_cb_mode_t’
src/cdiomodule.c: In function ‘read_sector_callback’:
src/cdiomodule.c:542: error: ‘mode’ undeclared (first use in this function)
src/cdiomodule.c: In function ‘cdio_identify_cdrom’:
src/cdiomodule.c:563: warning: implicit declaration of function ‘cdio_is_cuefile’
src/cdiomodule.c:565: warning: implicit declaration of function ‘cdio_is_binfile’
src/cdiomodule.c:567: warning: implicit declaration of function ‘cdio_is_tocfile’
src/cdiomodule.c:569: warning: implicit declaration of function ‘cdio_is_nrg’
src/cdiomodule.c:576: warning: implicit declaration of function ‘cdio_is_device’
src/cdiomodule.c:576: error: ‘DRIVER_LINUX’ undeclared (first use in this function)
In file included from src/cdiomodule.c:1:
src/cdiomodule.h:2:23: error: cdio/cdda.h: No such file or directory
src/cdiomodule.h:3:27: error: cdio/paranoia.h: No such file or directory
In file included from src/cdiomodule.c:1:
src/cdiomodule.h:15: error: expected specifier-qualifier-list before ‘cdrom_drive_t’
src/cdiomodule.h:63: error: expected declaration specifiers or ‘...’ before ‘paranoia_cb_mode_t’
src/cdiomodule.h:101: error: expected specifier-qualifier-list before ‘CdIo_t’
In file included from src/cdiomodule.c:2:
/usr/local/include/cdio/cd_types.h:149: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_guess_cd_type’
In file included from src/cdiomodule.c:3:
/usr/local/include/cdio/audio.h:72: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_get_volume’
/usr/local/include/cdio/audio.h:85: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_pause’
/usr/local/include/cdio/audio.h:94: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_play_msf’
/usr/local/include/cdio/audio.h:104: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_play_track_index’
/usr/local/include/cdio/audio.h:113: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_read_subchannel’
/usr/local/include/cdio/audio.h:122: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_resume’
/usr/local/include/cdio/audio.h:131: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_set_volume’
/usr/local/include/cdio/audio.h:140: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cdio_audio_stop’
In file included from src/cdiomodule.c:4:
/usr/local/include/cdio/track.h:105: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:111: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:121: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:127: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:132: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:138: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:148: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:154: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:168: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:182: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:193: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:204: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:218: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:230: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:236: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/local/include/cdio/track.h:247: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
src/cdiomodule.c: In function ‘CDDA_dealloc’:
src/cdiomodule.c:70: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:71: warning: implicit declaration of function ‘cdio_paranoia_free’
src/cdiomodule.c:71: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:72: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:73: warning: implicit declaration of function ‘cdio_cddap_close’
src/cdiomodule.c:73: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:74: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDDA_new’:
src/cdiomodule.c:85: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDDA_init’:
src/cdiomodule.c:94: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:99: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:102: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:102: warning: implicit declaration of function ‘cdio_cddap_identify’
src/cdiomodule.c:103: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:109: warning: implicit declaration of function ‘cdio_cddap_open’
src/cdiomodule.c:109: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:115: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:115: warning: implicit declaration of function ‘cdio_paranoia_init’
src/cdiomodule.c:115: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:116: warning: implicit declaration of function ‘paranoia_modeset’
src/cdiomodule.c:116: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:117: error: ‘PARANOIA_MODE_FULL’ undeclared (first use in this function)
src/cdiomodule.c:117: error: (Each undeclared identifier is reported only once
src/cdiomodule.c:117: error: for each function it appears in.)
src/cdiomodule.c:117: error: ‘PARANOIA_MODE_NEVERSKIP’ undeclared (first use in this function)
src/cdiomodule.c: In function ‘CDDA_total_tracks’:
src/cdiomodule.c:125: warning: implicit declaration of function ‘cdio_cddap_tracks’
src/cdiomodule.c:125: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_track_offsets’:
src/cdiomodule.c:140: warning: implicit declaration of function ‘cdio_cddap_track_firstsector’
src/cdiomodule.c:140: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:142: warning: implicit declaration of function ‘cdio_cddap_track_lastsector’
src/cdiomodule.c:142: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_read_sector’:
src/cdiomodule.c:161: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:177: warning: implicit declaration of function ‘cdio_paranoia_read_limited’
src/cdiomodule.c:177: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:179: warning: assignment makes pointer from integer without a cast
src/cdiomodule.c: In function ‘CDDA_read_sectors’:
src/cdiomodule.c:207: error: ‘cdio_CDDAObject’ has no member named ‘pcm_module’
src/cdiomodule.c:224: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c:226: warning: assignment makes pointer from integer without a cast
src/cdiomodule.c: In function ‘CDDA_first_sector’:
src/cdiomodule.c:242: warning: implicit declaration of function ‘cdio_cddap_disc_firstsector’
src/cdiomodule.c:242: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_last_sector’:
src/cdiomodule.c:248: warning: implicit declaration of function ‘cdio_cddap_disc_lastsector’
src/cdiomodule.c:248: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_track_type’:
src/cdiomodule.c:260: warning: implicit declaration of function ‘cdio_get_track_format’
src/cdiomodule.c:260: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_seek’:
src/cdiomodule.c:273: warning: implicit declaration of function ‘cdio_paranoia_seek’
src/cdiomodule.c:273: error: ‘cdio_CDDAObject’ has no member named ‘paranoia’
src/cdiomodule.c: In function ‘CDDA_set_speed’:
src/cdiomodule.c:288: warning: implicit declaration of function ‘cdio_cddap_speed_set’
src/cdiomodule.c:288: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDDA_length_in_seconds’:
src/cdiomodule.c:301: warning: implicit declaration of function ‘cdio_get_track_msf’
src/cdiomodule.c:301: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c:303: error: ‘cdio_CDDAObject’ has no member named ‘cdrom_drive’
src/cdiomodule.c: In function ‘CDImage_new’:
src/cdiomodule.c:321: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:322: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:324: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDImage_init’:
src/cdiomodule.c:333: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:334: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:339: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:344: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:344: warning: implicit declaration of function ‘cdio_open_cue’
src/cdiomodule.c:347: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:347: warning: implicit declaration of function ‘cdio_open_bincue’
src/cdiomodule.c:350: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:350: warning: implicit declaration of function ‘cdio_open_cdrdao’
src/cdiomodule.c:353: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:353: warning: implicit declaration of function ‘cdio_open_nrg’
src/cdiomodule.c:356: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:360: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_dealloc’:
src/cdiomodule.c:370: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:371: warning: implicit declaration of function ‘cdio_destroy’
src/cdiomodule.c:371: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:373: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c: In function ‘CDImage_total_tracks’:
src/cdiomodule.c:379: warning: implicit declaration of function ‘cdio_get_last_track_num’
src/cdiomodule.c:379: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_track_offsets’:
src/cdiomodule.c:394: warning: implicit declaration of function ‘cdio_get_track_lsn’
src/cdiomodule.c:394: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:395: warning: implicit declaration of function ‘cdio_get_track_last_lsn’
src/cdiomodule.c:395: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_read_sector’:
src/cdiomodule.c:405: error: ‘CDIO_CD_FRAMESIZE_RAW’ undeclared (first use in this function)
src/cdiomodule.c:406: warning: implicit declaration of function ‘cdio_read_audio_sector’
src/cdiomodule.c:406: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:408: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:409: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c:410: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:417: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_read_sectors’:
src/cdiomodule.c:435: error: ‘CDIO_CD_FRAMESIZE_RAW’ undeclared (first use in this function)
src/cdiomodule.c:436: warning: implicit declaration of function ‘cdio_read_audio_sectors’
src/cdiomodule.c:436: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:438: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c:440: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c:441: error: ‘cdio_CDImage’ has no member named ‘pcm_module’
src/cdiomodule.c:449: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_first_sector’:
src/cdiomodule.c:461: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:462: warning: implicit declaration of function ‘cdio_get_first_track_num’
src/cdiomodule.c:462: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_last_sector’:
src/cdiomodule.c:468: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:469: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_track_type’:
src/cdiomodule.c:480: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: In function ‘CDImage_seek’:
src/cdiomodule.c:486: error: ‘cdio_CDImage’ has no member named ‘current_sector’
src/cdiomodule.c: In function ‘CDImage_length_in_seconds’:
src/cdiomodule.c:499: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c:500: error: ‘cdio_CDImage’ has no member named ‘image’
src/cdiomodule.c: At top level:
src/cdiomodule.c:534: error: expected declaration specifiers or ‘...’ before ‘paranoia_cb_mode_t’
src/cdiomodule.c: In function ‘read_sector_callback’:
src/cdiomodule.c:542: error: ‘mode’ undeclared (first use in this function)
src/cdiomodule.c: In function ‘cdio_identify_cdrom’:
src/cdiomodule.c:563: warning: implicit declaration of function ‘cdio_is_cuefile’
src/cdiomodule.c:565: warning: implicit declaration of function ‘cdio_is_binfile’
src/cdiomodule.c:567: warning: implicit declaration of function ‘cdio_is_tocfile’
src/cdiomodule.c:569: warning: implicit declaration of function ‘cdio_is_nrg’
src/cdiomodule.c:576: warning: implicit declaration of function ‘cdio_is_device’
src/cdiomodule.c:576: error: ‘DRIVER_LINUX’ undeclared (first use in this function)
lipo: can't open input file: /var/folders/y3/vdmp2qn93q7f8dzj14w1l2lc0000gn/T//ccj0b77A.out (No such file or directory)
error: command 'gcc' failed with exit status 1
make: *** [install] Error 1

basically, it's complaining about the missing files of:

src/cdiomodule.h:2:23: error: cdio/cdda.h: No such file or directory
src/cdiomodule.h:3:27: error: cdio/paranoia.h: No such file or directory

How can I get this work?

BTW: I'm using OSX 10.8 with python 2.7.2.

fatal error: cdio/cdda.h: No such file or directory

While trying to make install, or pip install, this error comes up .

sudo pip install audiotools-2.19.tar.gz
sudo make install
Both yield the same result of:


sudo pip install audiotools-2.19.tar.gz
Unpacking ./audiotools-2.19.tar.gz
Running setup.py egg_info for package from file:///home/patroklos/Desktop/audiotools-2.19.tar.gz

Installing collected packages: Python-Audio-Tools
Running setup.py install for Python-Audio-Tools
building 'audiotools.cdio' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/cdiomodule.c -o build/temp.linux-x86_64-2.7/src/cdiomodule.o
In file included from src/cdiomodule.c:1:0:
src/cdiomodule.h:2:23: fatal error: cdio/cdda.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
Complete output from command /usr/bin/python -c "import setuptools;file='/tmp/pip-JWuLXe-build/setup.py';exec(compile(open(file).read().replace('\r\n', '\n'), file, 'exec'))" install --single-version-externally-managed --record /tmp/pip-2EcoGr-record/install-record.txt:
running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/audiotools

copying audiotools/aiff.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/id3v1.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/musicbrainz.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/image.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/dvda.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/au.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/m4a.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/text.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/id3.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/player.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/cue.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/wav.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/freedb.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/shn.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/vorbiscomment.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/init.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/accuraterip.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/toc.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/mp3.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/ogg.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/flac.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/ape.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/m4a_atoms.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/opus.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/wavpack.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/delta.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/vorbis.py -> build/lib.linux-x86_64-2.7/audiotools

copying audiotools/ui.py -> build/lib.linux-x86_64-2.7/audiotools

creating build/lib.linux-x86_64-2.7/audiotools/py_decoders

copying audiotools/py_decoders/shn.py -> build/lib.linux-x86_64-2.7/audiotools/py_decoders

copying audiotools/py_decoders/init.py -> build/lib.linux-x86_64-2.7/audiotools/py_decoders

copying audiotools/py_decoders/flac.py -> build/lib.linux-x86_64-2.7/audiotools/py_decoders

copying audiotools/py_decoders/alac.py -> build/lib.linux-x86_64-2.7/audiotools/py_decoders

copying audiotools/py_decoders/wavpack.py -> build/lib.linux-x86_64-2.7/audiotools/py_decoders

creating build/lib.linux-x86_64-2.7/audiotools/py_encoders

copying audiotools/py_encoders/shn.py -> build/lib.linux-x86_64-2.7/audiotools/py_encoders

copying audiotools/py_encoders/init.py -> build/lib.linux-x86_64-2.7/audiotools/py_encoders

copying audiotools/py_encoders/flac.py -> build/lib.linux-x86_64-2.7/audiotools/py_encoders

copying audiotools/py_encoders/alac.py -> build/lib.linux-x86_64-2.7/audiotools/py_encoders

copying audiotools/py_encoders/wavpack.py -> build/lib.linux-x86_64-2.7/audiotools/py_encoders

running build_ext

building 'audiotools.cdio' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/src

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/cdiomodule.c -o build/temp.linux-x86_64-2.7/src/cdiomodule.o

In file included from src/cdiomodule.c:1:0:

src/cdiomodule.h:2:23: fatal error: cdio/cdda.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1


This was suggested on StackOverflow:

For anyone who (like me) stumbles over this from Google, I fixed it by linking python to >python2.7 instead of python3.
http://stackoverflow.com/questions/7199061/python-audio-tools-installation-problem

audiotools.open() and UnsupportedFile exception

Hello,

i'm playing with the audiotools api, and i've got one concerne about the audiotools.open. It raises the same UnsupportedFile exception type if there is no audiotools class to handle it and if there is an IOError, which seems to me quite embarrasing if you want to fully understand why a file is not recognized.

What is your feeling about it ?

Add performer_name to m4a tags

I think performer_name should be mapped to Album Artist for m4a files. Here 's the patch:

--- audiotools/m4a_atoms.py.orig    2014-12-30 00:01:59.000000000 +0100
+++ audiotools/m4a_atoms.py     2015-05-26 11:13:31.000000000 +0200
@@ -1080,6 +1080,7 @@
                               "artist_name": b"\xa9ART",
                               "composer_name": b"\xa9wrt",
                               "copyright": b"cprt",
+                              "performer_name": b"aART",
                               "year": b"\xa9day",
                               "comment": b"\xa9cmt"}

Kind regards,
Adam

No MP3 support in OS X 10.9

I've installed lame using brew install lame --universal. I've acquired the python-audio-tools source via git, and have checked out version 2.21. Running make install after doing make distclean (and after lame installation) doesn't produce any error or warning messages. Output from make probe indicates that an mp3 library is present. However, mp3 shows up in red when I do audiotools-config.

which lame gives /usr/local/bin/lame; lame's library is at /usr/local/lib/libmp3lame.dylib.

I'm similarly unable to use other formats like ogg and mp2 despite having also installed their packages. However, they are not listed as present by make probe.

OverflowError: signed integer is greater than maximum

Hi,

Like in issues #17 and #25. The code below:

import audiotools
input = audiotools.open('sound.wav')
input.convert(('sound.m4a'), audiotools.M4AAudio, compression=audiotools.M4AAudio.COMPRESSION_MODES[3])

raised:
/home/samidarko/.virtualenvs/ubersnap/local/lib/python2.7/site-packages/audiotools/m4a.pyc in get_m4a_atom(reader, *atoms)
45 while (stream_atom != next_atom):
46 if ((length - 8) >= 0):
---> 47 reader.skip_bytes(length - 8)
48 (length, stream_atom) = reader.parse("32u 4b")
49 else:

OverflowError: signed integer is greater than maximum

lenght value was 4294529152

The file was generated

I also tried version 2.20 but idem.

Thanks

audiotools,open_directory error - OverflowError: signed integer is greater than maximum

When trying to iterate over the generator returned by audiotools,open_directory() I receive the following error which points to an ID3 meta related issue:

File "/opt/virtualenv/wiardfm2/local/lib/python2.7/site-packages/audiotools/id3.py", line 1741, in parse
frame_id, frame_size, reader.substream(frame_size)))
OverflowError: signed integer is greater than maximum

CPU: amd64
OS: Ubuntu 13.04
Python version: 2.7.4
PAT version (git commit): af67ef2
Audio file format: MP3

Not sure what the error could be as I have ran a few system updates lately.

libmpg123 - Raspberry PI

I am running Rasbian (Wheezy).

I have installed libmpg123 via repository.

When I run the following:

root@raspberrypi:/home/pi/audiotools-2.21# pkg-config --list-all | grep libmpg123
libmpg123 libmpg123 - An optimised MPEG Audio decoder

It appears to be installed (and based on the setup.cfg should find it when set to probe).

However, after compile, when I run audiotools-config - the mp2, and mp3 sections are red.

Is there something that I am missing?

track2track FLAC to M4A error after conversion

Traceback (most recent call last):
File "/usr/local/bin/track2track", line 671, in
queue.run(options.max_processes))
File "/usr/local/lib/python2.7/dist-packages/audiotools/init.py", line 5420, in run
raise self.raised_exception
OverflowError: signed integer is greater than maximum

  • Xubuntu Saucy, latest python-audio-tools from github
  • Happens whether I am trying to convert a batch of files (*.FLAC) or a single one (track05.FLAC)
  • The converted file plays and seems to be OK

cdiomodule.h needs patching for newer libcdio-paranoia

This is busted on newer versions of it. The headers have moved into a different directory. This is apparent on ArchLinux and DragonFly BSD. Here is the patch I hacked up to get the software to compile:

--- src/cdiomodule.h.orig 2015-06-06 21:03:42 UTC
+++ src/cdiomodule.h
@@ -1,6 +1,6 @@
#include <Python.h>
-#include <cdio/cdda.h>
-#include <cdio/paranoia.h>
+#include <cdio/paranoia/cdda.h>
+#include <cdio/paranoia/paranoia.h>
#include "array.h"

/********************************************************

tracksplit from FLAC to FLAC is slow

Currently tracksplit from FLAC to FLAC works pretty well but the track is being decoded and encoded in the process which is rather slow on a ARM processor. Is there a chance to optimize such usecase?

make install fails

Hi!

First of all, congrats for the app! It is great!

Second of all, my problem is that when I run make install I get the following output:

python setup.py build
running build
running build_py
running build_ext
building 'audiotools.cdio' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/cdiomodule.c -o build/temp.linux-x86_64-2.7/src/cdiomodule.o
In file included from /usr/local/include/cdio/cdio.h:42:0,
                 from /usr/include/cdio/cdda.h:31,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/types.h:108:7: error: expected ‘;’, identifier or ‘(’ before ‘_Bool’
In file included from src/cdiomodule.h:2:0,
                 from src/cdiomodule.c:1:
/usr/include/cdio/cdda.h:82:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/cdda.h:209:41: error: unknown type name ‘CdIo_t’
In file included from src/cdiomodule.c:1:0:
src/cdiomodule.h:98:5: error: unknown type name ‘CdIo_t’
In file included from src/cdiomodule.c:3:0:
/usr/include/cdio/audio.h:72:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:72:47: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:85:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:85:42: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:94:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:94:45: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:104:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:105:5: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:113:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:113:52: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:122:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:122:43: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:131:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:131:47: error: unknown type name ‘CdIo_t’
/usr/include/cdio/audio.h:140:3: error: unknown type name ‘driver_return_code_t’
/usr/include/cdio/audio.h:140:41: error: unknown type name ‘CdIo_t’
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:34:5: error: redeclaration of enumerator ‘TRACK_FORMAT_AUDIO’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:93:5: note: previous definition of ‘TRACK_FORMAT_AUDIO’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:35:5: error: redeclaration of enumerator ‘TRACK_FORMAT_CDI’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:94:5: note: previous definition of ‘TRACK_FORMAT_CDI’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:36:5: error: redeclaration of enumerator ‘TRACK_FORMAT_XA’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:95:5: note: previous definition of ‘TRACK_FORMAT_XA’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:37:5: error: redeclaration of enumerator ‘TRACK_FORMAT_DATA’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:96:5: note: previous definition of ‘TRACK_FORMAT_DATA’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:38:5: error: redeclaration of enumerator ‘TRACK_FORMAT_PSX’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:97:5: note: previous definition of ‘TRACK_FORMAT_PSX’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:41:5: error: redeclaration of enumerator ‘TRACK_FORMAT_ERROR’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:100:5: note: previous definition of ‘TRACK_FORMAT_ERROR’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:42:5: error: conflicting types for ‘track_format_t’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:101:5: note: previous declaration of ‘track_format_t’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:73:5: error: expected identifier before numeric constant
/usr/include/cdio/track.h:112:3: error: unknown type name ‘cdtext_t’
/usr/include/cdio/track.h:112:30: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:120:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:120:11: error: conflicting types for ‘cdio_get_first_track_num’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:185:11: note: previous declaration of ‘cdio_get_first_track_num’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:126:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:136:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:142:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:147:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:153:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:153:18: error: conflicting types for ‘cdio_get_track_format’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:195:18: note: previous declaration of ‘cdio_get_track_format’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:163:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:163:8: error: conflicting types for ‘cdio_get_track_green’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:205:8: note: previous declaration of ‘cdio_get_track_green’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:169:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:183:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:183:9: error: conflicting types for ‘cdio_get_track_lba’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:214:9: note: previous declaration of ‘cdio_get_track_lba’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:197:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:197:9: error: conflicting types for ‘cdio_get_track_lsn’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:223:9: note: previous declaration of ‘cdio_get_track_lsn’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:208:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:219:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:233:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:245:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:245:8: error: conflicting types for ‘cdio_get_track_msf’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:232:8: note: previous declaration of ‘cdio_get_track_msf’ was here
In file included from src/cdiomodule.c:4:0:
/usr/include/cdio/track.h:251:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:262:3: error: unknown type name ‘CdIo_t’
/usr/include/cdio/track.h:262:16: error: conflicting types for ‘cdio_get_track_sec_count’
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:241:16: note: previous declaration of ‘cdio_get_track_sec_count’ was here
src/cdiomodule.c: In function ‘CDImage_init’:
src/cdiomodule.c:340:21: warning: assignment from incompatible pointer type [enabled by default]
src/cdiomodule.c:343:21: warning: assignment from incompatible pointer type [enabled by default]
src/cdiomodule.c:346:9: warning: implicit declaration of function ‘cdio_open_cdrdao’ [-Wimplicit-function-declaration]
src/cdiomodule.c:346:21: warning: assignment makes pointer from integer without a cast [enabled by default]
src/cdiomodule.c:349:21: warning: assignment from incompatible pointer type [enabled by default]
src/cdiomodule.c: In function ‘CDImage_dealloc’:
src/cdiomodule.c:367:9: warning: passing argument 1 of ‘cdio_destroy’ from incompatible pointer type [enabled by default]
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:116:8: note: expected ‘struct CdIo *’ but argument is of type ‘int *’
src/cdiomodule.c: In function ‘CDImage_read_sector’:
src/cdiomodule.c:398:36: warning: passing argument 1 of ‘cdio_read_audio_sector’ from incompatible pointer type [enabled by default]
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:261:7: note: expected ‘const struct CdIo *’ but argument is of type ‘int *’
src/cdiomodule.c:399:10: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c:399:10: note: each undeclared identifier is reported only once for each function it appears in
src/cdiomodule.c: In function ‘CDImage_read_sectors’:
src/cdiomodule.c:429:37: warning: passing argument 1 of ‘cdio_read_audio_sectors’ from incompatible pointer type [enabled by default]
In file included from /usr/include/cdio/cdda.h:31:0,
                 from src/cdiomodule.h:2,
                 from src/cdiomodule.c:1:
/usr/local/include/cdio/cdio.h:267:7: note: expected ‘const struct CdIo *’ but argument is of type ‘int *’
src/cdiomodule.c:430:10: error: ‘DRIVER_OP_SUCCESS’ undeclared (first use in this function)
src/cdiomodule.c: In function ‘cdio_identify_cdrom’:
src/cdiomodule.c:556:10: warning: implicit declaration of function ‘cdio_is_tocfile’ [-Wimplicit-function-declaration]
src/cdiomodule.c:558:10: warning: implicit declaration of function ‘cdio_is_nrg’ [-Wimplicit-function-declaration]
error: command 'gcc' failed with exit status 1
make: *** [all] Error 1

To me it seems that it has to do with libcdio. Do you have any idea on how could I fix this issue?

Thanks in advance!

Edit PCM data then save as new file

I worry this may be a slightly basic problem but I've been trying for days and cannot seem to find a solution in the documentation.

I am trying to use audiotools in python to open audio files (at the moment just .wav), apply signal processing to the PCM data, then save as a new file

I have managed to read the data and convert to a FramesList of floating point values which is perfect for editing, though I cannot work out the process of writing the processed FramesList back to a .wav file. to_bytes() converts the data into a raw pcm string but I am unsure how to get this raw data back into a wav file?

    from audiotools import *
    from argparse import ArgumentParser

    def get_info(audio_file, main_args):
        """
        create a dictionary of information for the audiofile object.

        """
        info = {}
        info["channels"] = audio_file.channels()
        info["channel_mask"] = audio_file.channel_mask()
        info["bits"] = audio_file.bits_per_sample()
        info["sample_rate"] = audio_file.sample_rate()
        info["frames"] = audio_file.total_frames()
        info["length"] = audio_file.seconds_length()
        info["seekable"] = audio_file.seekable()
        info["verified"] = audio_file.verify()
        info["chunks"] = audio_file.has_foreign_wave_chunks()
        info["available"] = audio_file.available(BIN)
        info["header"], info["footer"] = audio_file.wave_header_footer()

        if main_args.verbose:
            print "No. of Channels:\t\t", info["channels"]
            print "Channel mask:\t\t\t", info["channel_mask"]
            print "Bits per sample:\t\t", info["bits"], "BIT"
            print "Sample Rate:\t\t\t", (info["sample_rate"]/1000.0), "k"
            print "Number of Frames:\t\t", info["frames"]
            print "Audio Length:\t\t\t", info["length"], "seconds"
            print "Audio File Seekable?:\t\t", info["seekable"]
            print "File has foreign chunks?:\t", info["chunks"]
            print "Correct Binaries present?:\t", info["available"]
        return info

    def main():
        parser = ArgumentParser()
        parser.add_argument(
            "-v",
            "--verbose",
            help = "Run program verbosely",
            default = False,
            action = "store_true",
        )

        main_args = parser.parse_args()

        #open audio file as an AudioFile object
        audio_file =  open("/Users/samperry/piano2.wav")
        file_info = get_info(audio_file, main_args)

        #Creates a WaveReader object from the AudioFile Object
        pcm_data = audio_file.to_pcm()

        #Creates a FrameList object from WaveReader object. Currently reads all
        #frames in file
        frame_list = pcm_data.read(file_info["frames"])

        #Convert samples to floats (-1.0 - +1.0)
        float_frame_list = frame_list.to_float()

        #eventually do some signal processing here...

        #Convert back to integer FrameList
        output_framelist = float_frame_list.to_int(file_info["bits"])

        #now back to raw bytes
        output_data = output_framelist.to_bytes(False, True)

    if __name__ == "__main__":
        main()

trackverify -R always fails on the track 1

Excuse my english...
Tracverify -R can not get correct results on track . Presumably because it reads all sectors on all tracks but AccurateRip does not take into account the first 5 sectors of the track 1 well as the last 5 sectors of the last track. Can be corrected or set to skip these sectors?

Accuraterip V1

Thanks for the support AccurateRip V2, works perfectly.
You can also get the AccurateRip V1 report?
That is, you can get a report for both versions?
Thank you.
Excuse my English

No sound when using trackplay

audiotools-config says "Audio output : NULL"

I think I should see at least "PulseAudio"

"pulseaudio-utils" is installed.

When I run: trackplay <file> there is no sound, although it lists some information and seconds count off. However if I run: paplay <file> it plays.

$ trackplay -V debug track02.cdda.wav
1/1 [0:01 / 7:08] 2ch 44.1kHz 16-bit

$ paplay track02.cdda.wav -v
Opening a playback stream with sample specification 's16le 2ch 44100Hz' and channel map 'front-left,front-right'.
Connection established.
Stream successfully created.
Buffer metrics: maxlength=4194304, tlength=352800, prebuf=349276, minreq=3528
Using sample spec 's16le 2ch 44100Hz', channel map 'front-left,front-right'.
Connected to device alsa_output.pci-0000_00_1b.0.analog-stereo (1, not suspended).
Stream started.

audiotools-config:
https://gist.github.com/rvavruch/5718096

pactl stat:
https://gist.github.com/rvavruch/5718155

$ lsb_release -a
Distributor ID: LinuxMint
Description:    Linux Mint 14 Nadia
Release:    14
Codename:   nadia

pcm installation problem

My installation isn't working, this is what happens when you import the module

import audiotools
Traceback (most recent call last):
File "", line 1, in
File "audiotools/init.py", line 30, in
from . import pcm as pcm
ImportError: cannot import name pcm

Do you have any insight into what may be the issue?

IOError: I/O error parsing values for file created with avconv (ffmpeg)

The mp3 created from the following command has a header that audiotools will not accept.

avconv -i out.wav -ab 320k -acodec libmp3lame out.mp3

Traceback (most recent call last):
File "test.py", line 18, in
audiofile = audiotools.open('out.mp3')
File "/usr/local/lib/python2.7/dist-packages/audiotools/init.py", line 1443, in open
return audio_class(filename)
File "/usr/local/lib/python2.7/dist-packages/audiotools/mp3.py", line 166, in init
0).parse("32p 32p 32u 32p 832p")[0] *
IOError: I/O error parsing values

Use of filename (vs. file-like object)

Hi, I am starting work on a network music player. I have a large FLAC collection that I want to be able to play in several locations around my house and remotely. I was hoping I could drop in a custom class at some point in the chain that could issue HTTP GET calls to retrieve the data, but it seems that all the key locations only take a filename parameter. Wouldn't it make better sense for the high-level APIs (audiotools.open etc) to take paths, but the lower-level classes to take open file-like objects? Either that, or provide methods on the related classes to read the data from the source? As it is, I would have to touch many areas in the code to be able to read the data from a remote source.

In order to make the most efficient use of network resources, I wanted to be able to read a seek point at a time and buffer an additional seek point while the audio is playing. In other words, I would be writing to the file-like object while the decoder is reading from it. I was hoping to be able to issue HTTP requests for chunks of the FLAC file instead of trying to download the entire file before it could begin playback.

Feature request: please support 32 bits_per_sample in PCMConverter

alsa-drivers for some intel core-i processors don't support 24 bits/sample but only 16 & 32 bits/sample.
i want to avoid, degrading soundquality of my (expensive) high-Res audiofiles by converting from 24 to 16bits/sample.

Due to those hardware(driver) restriction, the audiotools,player.Player didn't play 24bit audiofiles(flac) at all.

When audio_out is set to audiotools,player.open_output('ALSA') this is what i get:
File "/usr/lib/python3.4/site-packages/audiotools/player.py", line 992, in set_format bits_per_sample)
OSError: unable to set ALSA stream parameters

Vorbis.convert() - unable to encode file with oggenc | from_pcm() sub.wait returns -11

A strange error occurred ( unable to encode file with oggenc ) when running some tests converting a FLAC file to the following formats:

.mp3/libmp3
.m4a/neroaac
.ogga/vorbis

All formats work apart from the OGG/Vorbis format which fails.

I searched the source code for PAT and found that inside the Vorbis.from_pcm() method (Vorbis.py: line 352) the code is expecting sub.wait() == 0 whilst it is equal to -11.

Searching for oggenc return codes, I found that minus codes indicate that the process has been terminated, but not sure why that might be.

I have all of the binaries installed for all formats so OGG/Vorbis should work.

Any ideas what could be causing this??

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.