Closed bryangarza closed 12 years ago
Use the "develop" branch, or either my "nega" or "mkstemp" branch.
I've tried all three of those branches, but they all give the same error.
well then you'll need to provide more details. do a debug build, give details about your filesystem, etc.
Okay, I'lldo that. By the way, your mkstemp branch doesn't give any errors, but it doesn't tag the file.
running Arch...
~ 85 mount -l
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
/dev on /dev type devtmpfs (rw,nosuid,relatime,size=443696k,nr_inodes=110924,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sda3 on / type ext4 (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
/dev/sda4 on /home type ext4 (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
/dev/sda1 on /boot type ext2 (rw,relatime,user_xattr,acl,barrier=1)
~ 85 df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 7662396 5585476 1692568 77% /
/dev 443696 0 443696 0% /dev
run 446636 192 446444 1% /run
/dev/sda3 7662396 5585476 1692568 77% /
shm 446636 0 446636 0% /dev/shm
tmpfs 446636 3284 443352 1% /tmp
/dev/sda4 304165444 5323344 283616500 2% /home
/dev/sda1 99590 18106 76265 20% /boot
~ 85 uname -a
Linux bryan 3.3.5-1-ARCH #1 SMP PREEMPT Mon May 7 19:57:51 CEST 2012 x86_64 GNU/Linux
~ 85
Running the debug build...
~ 85 cd pianobarfly-nega0-mkstemp/
~/pianobarfly-nega0-mkstemp 9 ./pianobarfly
Welcome to pianobarfly (2011.11.12)! Press ? for a list of commands.
(i) Login... Ok.
(i) Get stations... Ok.
0) q Camille Saint-Saëns Radio
1) q S Classical- Mostly Romantic
2) q Claude Debussy Radio
3) q Danse Macabre, Symphonic Poem In G Minor, Op. 40: Danse Macabre
4) q Franz Liszt Radio
5) Q gnizamasinayrb's QuickMix
6) q Harry Gregson-Williams Radio
7) q How To Train Your Dragon, Film Score: Counter Attack Radio
8) q Johann Sebastian Bach Radio
9) q Johannes Brahms Radio
10) q Max Richter Radio
11) q Omnia Circum
12) q Philip Glass Radio
13) q Piano
14) q Piano Quartet No. 3 in C minor ("Werther"), Op. 60: III. Andant
15) q Richard Wagner Radio
16) q Ride Of The Valkyries Radio
17) q Rustle Of Spring, Op 32/3: Rustle Of Spring Radio
18) q Suite For Solo Cello No. 1 In G Major, Bwv 1007: I. Prelude (Tr
19) q Symphonic Radio
20) q Symphony No. 1 In C Minor, Op. 11: IV. Allegro Con Fuoco Radio
21) q Ulster Orchestra Radio
22) q Violin Concerto: III Radio
23) q Xena, Warrior Princess, Vol. 2, Television Score: Callisto Beco
[?] Select station: 13
|> Station Piano
(i) Receiving new playlist... Ok.
|> Fantasias (7) for piano, Op. 116 by Brahms, Johannes on Berlin Philharmonic Orchestra, Brahms: Concertos For Piano No. 1 & 2, Fantasia Op. 116 <3
The track and disc numbers were not included in the album explorer page (1:No match).
The track and disc numbers will not be added to the tag.
|> Grande Tarantelle, For 2 Pianos, Op. 67 (RO 260) by Gottschalk, Louis Moreau on Hot Springs Music Festival, Gottschalk: A Night In The Tropics <3
The track and disc numbers were not included in the album explorer page (1:No match).
The track and disc numbers will not be added to the tag.
# -04:15/06:20 * Recording
Here is the strace output: http://sprunge.us/TYWB
If you're using my "mkstemp" branch, you should (almost) never see
Could not overwrite the audio file (18:Invalid cross-device link).
Failed to write the tag.
because the tmp file is always in your "audio_file_dir". If you're not seeing the tag I bet it's because you're using an id3lib
based utility to try and read it. Despite its documentation, id3lib
doesn't handle id3 v2.4 tags well. As an example, id3v2
uses id3lib
and mpg123
(I think) uses its own:
[maru:~/Music/pianobarfly/Arkaea/Years_In_The_Darkness] id3v2 --list Arkaea-My_Redemption.mp3
Arkaea-My_Redemption.mp3: No ID3 tag
[maru:~/Music/pianobarfly/Arkaea/Years_In_The_Darkness] mpg123 -t Arkaea-My_Redemption.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.12.1; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
Playing MPEG stream 1 of 1: Arkaea-My_Redemption.mp3 ...
Title: My Redemption Artist: Arkaea
Album: Years In The Darkness
MPEG 1.0 layer III, 192 kbit/s, 44100 Hz joint-stereo
[4:14] Decoding of Arkaea-My_Redemption.mp3 finished.
[maru:~/Music/pianobarfly/Arkaea/Years_In_The_Darkness]
You can see what version of ID3 v2 tag has been written to the file by getting a hexdump of the file.
[maru:~/Music/pianobarfly/Arkaea/Years_In_The_Darkness] xxd Arkaea-My_Redemption.mp3|head
0000000: 4944 3304 0000 0003 5c4c 5450 4531 0000 ID3.....\LTPE1..
0000010: 0007 0000 0041 726b 6165 6154 414c 4200 .....ArkaeaTALB.
0000020: 0000 1600 0000 5965 6172 7320 496e 2054 ......Years In T
0000030: 6865 2044 6172 6b6e 6573 7354 4954 3200 he DarknessTIT2.
0000040: 0000 0e00 0000 4d79 2052 6564 656d 7074 ......My Redempt
0000050: 696f 6e54 5243 4b00 0000 0200 0000 3954 ionTRCK.......9T
0000060: 504f 5300 0000 0200 0000 3141 5049 4300 POS.......1APIC.
0000070: 035b 6100 0000 696d 6167 652f 6a70 6567 .[a...image/jpeg
0000080: 0003 00ff d8ff e000 104a 4649 4600 0101 .........JFIF...
0000090: 0000 0100 0100 00ff db00 4300 0806 0607 ..........C.....
[maru:~/Music/pianobarfly/Arkaea/Years_In_The_Darkness]
In an ID3 v2.x.y tag, the first three bytes always ASCII "ID3". The next two bytes are "x" and "y" from the version. In this case hex values 4 and 0, which make this an ID3 v2.4.0 tag. This is the tag version that libid3tag
writes. (Also in that hexdump you can see the ASCII values for the various tag fields, and the embedded JPEG cover.)
Anyway, my "mkstemp" branch should be doing the right thing, just not what you expect. The "develop" branch should be doing the right thing (writing an ID3 v2.4.0 tag, and using a tmpfile in the current working directory), just not what you expect.
I understand. Thanks for your explanation. I thought the tags weren't there because I was checking with id3v2 --list
. For now I'm using your mkstemp branch.
I am getting the same error as Issue 19. Seeing as that one is months old I have started a new one.
Everything was running smoothly until I deleted the contents of ~/music -- my audio_file_dir. After that, pianobarfly errors at the rename function in
fly_id3.c