Commit graph

125 commits

Author SHA1 Message Date
Miika Pekkarinen
7a395a23bf Start using the new endian conversion system outside tagcache also to simplify code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12309 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 19:20:13 +00:00
Nicolas Pennequin
9f4bd8712f Cuesheet support by Jonathan Gordon and me (FS #6460).
Everytime an audio file is loaded, a cue file with the same name is searched for. A setting 
allows to disable this (default is off). Cuesheet files can also be viewed in the file browser.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12304 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 14:40:24 +00:00
Adam Gashlin
7df87126f0 Cleaned indents, added Shay Green (blargg) to credits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12299 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 03:49:09 +00:00
Adam Gashlin
b73960d3b9 Adding SPC codec (FS #6542)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12298 a1c6a512-1295-4272-9138-f99709370657
2007-02-14 03:34:55 +00:00
Dave Chapman
2743cb46b9 Fix signedness warning (only visible when building tools/database.c)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12291 a1c6a512-1295-4272-9138-f99709370657
2007-02-12 21:46:10 +00:00
Miika Pekkarinen
a957b2249e Make the database PC tool compile again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12290 a1c6a512-1295-4272-9138-f99709370657
2007-02-12 21:13:01 +00:00
Miika Pekkarinen
4e9766477b FS#6638 - Album artist and comment patch for WPS and tagcache. Export
your database before updating because initialization is needed.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12255 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 12:09:28 +00:00
Dan Everton
5158751263 Minor whitespace and formatting fixes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12253 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 09:55:06 +00:00
Dan Everton
ebc58c9f06 Add Speex playback support. Patch from FS #5607 thanks to Frederik Vestre.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12241 a1c6a512-1295-4272-9138-f99709370657
2007-02-09 10:06:53 +00:00
Adam Gashlin
5d20c9d121 adding NSF (NES music) codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12112 a1c6a512-1295-4272-9138-f99709370657
2007-01-25 18:06:17 +00:00
Dave Bryant
2446b22db9 Update libwavpack with latest changes from the tiny_encoder. This allows
playback of floating-point audio files, fixes a obscure decoding bug, and
improves encoding speed somewhat.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11944 a1c6a512-1295-4272-9138-f99709370657
2007-01-08 04:24:32 +00:00
Magnus Holmgren
1e7b7bcb07 Some minor code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11854 a1c6a512-1295-4272-9138-f99709370657
2006-12-29 14:59:10 +00:00
Jens Arnold
314f3b58f1 More static'ing, and a few fixes resulting from that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11737 a1c6a512-1295-4272-9138-f99709370657
2006-12-12 22:22:21 +00:00
Magnus Holmgren
3183aeabac AAC/ALAC: Fix display of ReplayGain values (e.g., in the ID3 Info screen).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11683 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 16:15:23 +00:00
Magnus Holmgren
de100c36cb AAC codec: accept M4B files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11681 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 09:24:31 +00:00
Michael Sevakis
cee9d3b47b Fixed header parsing in AIFF. The minimum header size is 54 bytes for an audio file. SSND chunk block_size and offset are 32-bit values, not 16-bit; this bug would probably never even matter since most sound data isn't block aligned.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11596 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 21:27:46 +00:00
Magnus Holmgren
1ac20995c3 Read frequency in MP4/AAC files from a different place, if available. Should fix the problem with wrong playback speed for non-44.1kHz files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11579 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 19:46:59 +00:00
Daniel Stenberg
0065192902 Made the PSID metadata parser a little less trusting of its input.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11500 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 12:26:26 +00:00
Miika Pekkarinen
cdc2c3b653 Enable all Rockbox supported formats for the database command line
utility.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11499 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 11:48:23 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Magnus Holmgren
83abf50a83 Moved the Ogg zero-length check to a better place. Also fixed so that really short files (< 1s) doesn't trigger the same problem. Applied the fixes on most other susceptible formats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11387 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 22:18:30 +00:00
Miika Pekkarinen
2891816489 Fixed division by zero in ogg metadata parser and crash when building
tagcache (FS#6099).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11386 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 20:33:12 +00:00
Miika Pekkarinen
58ebf47a2b FS#6216 Update so MP3 files are only opened once. With corrections and
patch cleanup.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11343 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 16:57:53 +00:00
Magnus Holmgren
406069467d More flexible MP4 file metadata parser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11189 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 17:42:33 +00:00
Rani Hod
a875ed5d57 Accepted FS#6023 - ADX codec (some kind of ADPCM).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11046 a1c6a512-1295-4272-9138-f99709370657
2006-09-25 16:13:05 +00:00
Dave Bryant
aeee39b27e Fixed metadata parser to allow playback of self-extracting WavPack files and
also prevent playback of WavPack files with floating-point audio data.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10850 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 23:17:51 +00:00
Thom Johansen
5e182e0862 Support for Musepack SV4-6 stream files. Patch by Andrew Cupper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10843 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 12:05:04 +00:00
Miika Pekkarinen
5f74d61357 Prevent an endless loop in some m4a files (looks like a crash when
initializing tagcache).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10755 a1c6a512-1295-4272-9138-f99709370657
2006-08-26 10:45:49 +00:00
Dave Chapman
98930fbe1e Oops - get_sid_metadata() isn't needed for hwcodec (fix warning).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10238 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 18:52:23 +00:00
Dave Chapman
752faa4351 Patch #5157 by Rainer Sinsch - SID codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10237 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 18:33:12 +00:00
Adam Boot
71cf604d8d Fix for wav files where the fmt chunk is not close to the start of the file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10149 a1c6a512-1295-4272-9138-f99709370657
2006-06-27 22:27:21 +00:00
Magnus Holmgren
6ddb5f2429 Fix bug 4916: Short Vorbis files won't play.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9969 a1c6a512-1295-4272-9138-f99709370657
2006-05-20 14:30:32 +00:00
Magnus Holmgren
e9cc570b83 Applied patch 2917: Fix retrieval of total sample count in get_vorbis_metadata.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9850 a1c6a512-1295-4272-9138-f99709370657
2006-05-01 13:42:35 +00:00
Brandon Low
fb6b475dee Minor fix to metadata fetching, the track-info.filesize is not populated at this point
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9600 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 03:54:24 +00:00
Miika Pekkarinen
7c4e0c8730 Initial version of tagcache! There are still some bugs in the engine
and much more problems with the UI.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9256 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 11:33:42 +00:00
Thom Johansen
4594ad4605 Musepack files are always VBR.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8910 a1c6a512-1295-4272-9138-f99709370657
2006-03-05 17:23:34 +00:00
Dave Chapman
fbd8e5d29c Patch #1421483 - AIFF codec by Jvo Studer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8524 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 16:42:02 +00:00
Marcoen Hirschberg
b0fee17d6e waiting is over: initial unicode commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8169 a1c6a512-1295-4272-9138-f99709370657
2005-12-06 13:27:15 +00:00
Dave Chapman
15ca09106d Set appropriate codec type for .m4a files (ALAC or AAC) inside get_metadata(). probe_file_format() is no longer an exported function. Make get_metadata() return false if it can not read the metadata - on the assumption that the codec will also fail.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8118 a1c6a512-1295-4272-9138-f99709370657
2005-12-01 20:39:19 +00:00
Miika Pekkarinen
6a4bfb5dcf iRiver: Fixed several problems with playback on track skipping & loading:
* Correctly detecting codec type from metadata.
* Skipping incorrect tracks correctly if there are more than one unloadable track.
* Fixed internal ram skipping when codec switching is required.
* Fixed hang if no files in playlist is playable.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8116 a1c6a512-1295-4272-9138-f99709370657
2005-12-01 18:44:11 +00:00
Dave Chapman
c01775ff41 Shorten updates from Mark Arigo: calculate average bitrate, skip id3v2 tags and remove debugf definition from codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7840 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 11:04:02 +00:00
Dave Chapman
2bf9be1c02 Patch #1352575 - Shorten codec from the ffmpeg project. Rockbox implementation by Mark Arigo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7814 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 19:45:36 +00:00
Thom Johansen
0bfcabeafd Added ID3v2 skipping for Musepack files. Switched ReplayGain strings to use toc buffer instead of id3v2buf, since the last collided with the APE tag reading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7757 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 13:58:08 +00:00
Thom Johansen
e642c90afb Added proper metadata parsing for musepack files, including ReplayGain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7752 a1c6a512-1295-4272-9138-f99709370657
2005-11-04 21:34:03 +00:00
Dave Chapman
53dc1fefe9 Make the m4a parser happier with Nero-encoded .mp4 files. This still needs more work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7728 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 14:01:27 +00:00
Dave Chapman
cea6d0c92f Initial check-in of AAC codec. Currently only recognises the .mp4 extension and is not yet capable of realtime operation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7706 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:56:29 +00:00
Dave Chapman
15a830bdba Skip ID3v2 tags at the start of a FLAC file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7689 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 15:07:40 +00:00
Dave Chapman
1a82763d3a Seeking support for AC3/A52 files. We assume they are always CBR.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7650 a1c6a512-1295-4272-9138-f99709370657
2005-10-22 09:10:51 +00:00
Thom Johansen
f4921466c2 Not finding an APE tag for a Musepack file isn't fatal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7618 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 22:11:51 +00:00
Thom Johansen
0f91ef7a37 Added support for APE tags in Musepack files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7609 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 18:18:24 +00:00
Dave Chapman
9e19c95d8e Replace SWAB16 and SWAB32 with a comprehensive set of byte-swap macros - letoh16, letoh32, htole16, htole32, betoh16, betoh32, htobe16 and htobe32
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7584 a1c6a512-1295-4272-9138-f99709370657
2005-10-06 19:27:43 +00:00
Jonas Häggqvist
1302f97dde Fix the read_uint32be function - it was overwriting before saving parts of the int.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7565 a1c6a512-1295-4272-9138-f99709370657
2005-09-27 01:03:51 +00:00
Dave Chapman
ef26cd2af1 Deal with new "edts" tag in iTunes 5 encoded files - this fixes metadata reading and seeking in new ALAC files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7555 a1c6a512-1295-4272-9138-f99709370657
2005-09-24 11:40:26 +00:00
Dave Chapman
0647772826 Fix bug in read_uint32be causing simulator warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7550 a1c6a512-1295-4272-9138-f99709370657
2005-09-22 22:47:29 +00:00
Dave Chapman
139c1cb824 First version of ALAC (Apple Lossless) decoder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7547 a1c6a512-1295-4272-9138-f99709370657
2005-09-22 21:55:37 +00:00
Magnus Holmgren
b5f3365554 iriver: proper wav file handling by Frederic Devernay (patch #1245261). Adapted the metadata part to the new metadata.c, and did a few minor changes in the codec. Some of the file format checks in the codec should IMHO be moved to metadata.c, but I left that for later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7542 a1c6a512-1295-4272-9138-f99709370657
2005-09-22 19:36:25 +00:00
Magnus Holmgren
ccdae5dbe4 iriver: Metadata code cleanup: 1) Remove 4k static buffer. 2) Generalized tag parsing, so APE and Vorbis tags can share some code. 3) Code size reduction (800+ bytes). 4) Better UTF-8 parser (I hope...). 5) More consistent return value on errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7539 a1c6a512-1295-4272-9138-f99709370657
2005-09-22 16:58:03 +00:00
Jens Arnold
579210df87 Restructured codec type handling a bit. Reduced code size, esp. on archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7443 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 17:03:09 +00:00
Linus Nielsen Feltzing
d67c267090 Fixed the WPS codec type conditional, and removed unsupported formats from the format enum
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7441 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 13:39:39 +00:00
Magnus Holmgren
ff1f904af2 And fix that red build too...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7255 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 22:23:43 +00:00
Ryan Jackson
9e35640fcc Fixed a bug that prevented the last tag in a flac file from being read.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7254 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 20:21:54 +00:00
Ryan Jackson
b301b43825 Added comments, Replay Gain, and resume/bookmarks for FLAC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7253 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 18:43:33 +00:00
Magnus Holmgren
988ea2cffc Added support for ID3V2 ReplayGain tags (as written by Foobar). Generalized the replaygain tag parsing a bit, to cut down the code size (APE tags should use this as well, but as it requires larger changes, it will have to wait for another commit). Also fixed a bug in the ID3V2 parser; ISO-8859-1 strings could confuse the main parsing loop (causing bufferpos to come out of sync).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7243 a1c6a512-1295-4272-9138-f99709370657
2005-07-27 11:54:33 +00:00
Dave Bryant
c5ebc8e4e4 Added ReplayGain support to WavPack, including a small fix to dsp.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7237 a1c6a512-1295-4272-9138-f99709370657
2005-07-25 03:34:25 +00:00
Magnus Holmgren
4a53787992 ReplayGain support for Ogg Vorbis files (also called VorbisGain) added.
Note that there is a small delay from leaving a setting until the change
can be heard (due to audio data buffering).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7234 a1c6a512-1295-4272-9138-f99709370657
2005-07-24 15:32:28 +00:00
Ryan Jackson
a20f127d43 Added another call to mcf5249_init_mac in ov_pcm_seek, just in case. Fixed tag corruption bug and allowed non-numeric characters in year and tracknum tags. Added support for composer tag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7168 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 23:07:51 +00:00
Christi Scarborough
be7894509f (1) Patch 1231281: Alignment tags for the WPS by Per Holmaeng. Use %al for left align, %ac for centre, %ar for right. It is currently not possible to use more than one %a? tag per WPS line. (2) Lots of tabs removed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7034 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 22:27:54 +00:00
Miika Pekkarinen
5c2c991d14 Applied patch "[ 1232957 ] MP3 metadata fixes for software codec".
Thanks to Magnus Holmgren. Now metadata reading is better with
improved performance for mp3 files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7030 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 19:55:40 +00:00
Linus Nielsen Feltzing
eaf8b2d76d Patch #1232549 by Ryan Jackson, adds seeking and comments to Vorbis playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7025 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 08:43:36 +00:00
Dave Bryant
24d6535b7a Allow WavPack to use new sampling rate converter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6888 a1c6a512-1295-4272-9138-f99709370657
2005-06-27 00:12:40 +00:00
Dave Bryant
2c28390972 Added code to handle APEv2 tags for WavPack files, although this should be
applicable to Musepack files (and even MP3 files sometimes). Perhaps this
should be integrated with the ID3 tag stuff at some point?


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6769 a1c6a512-1295-4272-9138-f99709370657
2005-06-19 20:27:46 +00:00
Dave Chapman
961c9a3e41 Added %fc WPS tag to display codec type - moved codectype from track_info struct into mp3info struct, initialise it on MAS platforms, and add it to the WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6748 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 16:24:27 +00:00
Jens Arnold
e2cd58145d Proper MPEG layer 1 support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6745 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 09:51:10 +00:00
Dave Chapman
5b9eb29d12 Add A52/AC3 metadata parsing (samplerate, bitrate, track length)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6715 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 23:12:34 +00:00
Dave Chapman
3ad485b15a Move metadata parsing code from playback.c into metadata.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6714 a1c6a512-1295-4272-9138-f99709370657
2005-06-14 22:27:57 +00:00