Commit graph

462 commits

Author SHA1 Message Date
Steve Bavin
cbed7a2cd2 Fix problem where follow playlist picks the next track, not the current one (FS#7244). Hopefully also fixes the wrong filename being displayed on the WPS (FS#7248).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13805 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 20:49:40 +00:00
Peter D'Hoye
e596a80e8d Yet another fine scrobbling patch by Robert Keevil that fixes FS #5495: audio_set_track_changed_event() skips first track in playlist
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13701 a1c6a512-1295-4272-9138-f99709370657
2007-06-24 19:20:27 +00:00
Peter D'Hoye
12d2d0fbc2 A patch by Robert Keevil that's been in the tracker way to long, fixes FS #6213: Audioscrobbler incorrectly submits last song
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13699 a1c6a512-1295-4272-9138-f99709370657
2007-06-24 18:46:04 +00:00
Nils Wallménius
c7f9ca4067 Accept FS#7264 'Build with -Os switch for coldfire targets'.
Introduces MEM_FUNCTION_WRAPPERS(api) macro which adds wrappers 
functions to a plugin to make plugins link correctly when gcc
calls mem* functions directly.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13625 a1c6a512-1295-4272-9138-f99709370657
2007-06-13 15:35:07 +00:00
Michael Sevakis
4597ebe24b Plugins that play sound must be sure to set inputs and outputs on audio muxed targets. Add strict adherence to the interface protocols. Make sure playback sets the playback output as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13604 a1c6a512-1295-4272-9138-f99709370657
2007-06-10 02:10:47 +00:00
Michael Sevakis
2d48d0ffa6 Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13599 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 23:42:04 +00:00
Dave Chapman
7b1d90a851 Seeking and resume support for Monkey's Audio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13597 a1c6a512-1295-4272-9138-f99709370657
2007-06-08 22:35:26 +00:00
Nicolas Pennequin
6579818b43 Add the possibility to store cuesheets in /.rockbox/cue. The code will look for a cuesheet there in case there wasn't one in the same folder as the audio file. This is to reduce the clutter created by one cuesheet per audio file in some places.
Also some duplicate code was replaced by a function call.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13508 a1c6a512-1295-4272-9138-f99709370657
2007-05-28 23:18:31 +00:00
Nils Wallménius
f31e123133 Remove unused function and unused header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13424 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 19:54:11 +00:00
Michael Sevakis
77771b0a43 How'd I miss that I'd left LOGFQUEUES enabled in my pre-commit diff? :/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13365 a1c6a512-1295-4272-9138-f99709370657
2007-05-09 03:48:52 +00:00
Michael Sevakis
e486ed0453 SWCODEC Playback: Put a stop to the resume deadlock however crudely. Clean some unused lines out that no longer compatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13364 a1c6a512-1295-4272-9138-f99709370657
2007-05-09 03:44:44 +00:00
Michael Sevakis
a21871ceaa Fix errors. LOGFQUEUE should take formatting parameters now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13363 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 23:13:46 +00:00
Michael Sevakis
d9839bc8a6 Silly fix for a silly comment mistake.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13362 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 22:59:25 +00:00
Michael Sevakis
1c59b101df SWCODEC Playback: Seriously mess with it and get rid of (at least some ;) race conditions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13361 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 22:56:12 +00:00
Michael Sevakis
e88078f9f5 Playback: Ensure some state coherency. paused implies playing and pause actions are bypassed if not playing. stopped implies not playing and not paused. Starting playback transistions to playing and not paused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13360 a1c6a512-1295-4272-9138-f99709370657
2007-05-08 16:19:13 +00:00
Dave Chapman
4ae85e6886 Revert the addition of the steal_codec_stack function. Replace by accessing the threads structure to grab the codec stack. Maybe a better solution exists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13349 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 23:54:10 +00:00
Dave Chapman
f4a9dab4d1 Use a separate thread in test_codec, with the same (IRAM) stack as the main codec thread. Add a function to the plugin API to steal the codec thread, which test_codec copies and then restores. Now libmad can be benchmarked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13347 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 22:30:23 +00:00
Dave Chapman
7cdd0fe6ea Initial version of a test_codec plugin (viewer). This loads the audio file into the audio buffer and decodes it as fast as it can via a locally implemented version of the codec API. Intended for use when optimising codecs - so isn't built by default. Remember to add it to both plugins/SOURCES and viewers.config to enable it. Currently the codec is run in the main thread which means mpa.codec doesn't work - it requires more stack than is available on the main thread. The solution will be to create a new thread in the plugin which steals the main codec thread's IRAM stack, but that's not done yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13345 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 17:23:31 +00:00
Michael Sevakis
d7e8e38253 Audio seemed never to want to stop stopping. A bad condition for plugins that want to stop audio and begin pcm playback immediately. Only do the stop if the state is playing. Properly wait for it to be done as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13317 a1c6a512-1295-4272-9138-f99709370657
2007-05-03 21:49:59 +00:00
Michael Sevakis
9cd6394d8c SWCODEC: Fix a race condition caused by yielding in pcm_mute that could have playback messing around with pcm after supposedly being fully stopped. The pcm buffer mutes consistently on some players (the PP ones) which made audio_stop return too soon. Won't matter if it yields or not now and this should take care of the mpegplayer 'next video' issue.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13117 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 05:58:09 +00:00
Dan Everton
fc47f14242 Move iPod Video hardware equalizer init to audio_init() after the hardware is enabled. Should fix the issue where the hardware equalizer settings would not be reapplied after a restart.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13106 a1c6a512-1295-4272-9138-f99709370657
2007-04-11 09:13:13 +00:00
Magnus Holmgren
9a535274b8 Revert change 13001, since it causes the metadata to be re-read for partially buffered files. This breaks ID3V2 parsing, which expects the mp3entry struct to be zeroed. A better fix for the old tag data problem is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13082 a1c6a512-1295-4272-9138-f99709370657
2007-04-09 14:50:22 +00:00
Adam Boot
a5d7309d96 Support resume for Musepack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13049 a1c6a512-1295-4272-9138-f99709370657
2007-04-06 21:48:17 +00:00
Steve Bavin
2e7cb462b2 Fix occasional display of old tag data (normally from 32 tracks previous)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13001 a1c6a512-1295-4272-9138-f99709370657
2007-04-02 15:04:14 +00:00
Miika Pekkarinen
ce35f76a53 Don't update runtime info when stopping playback, except when playlist ends. Fixes wrong playcounts and autoscores being generated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12976 a1c6a512-1295-4272-9138-f99709370657
2007-03-31 06:49:49 +00:00
Miika Pekkarinen
66258a30a4 Make scheduler functions thread safe core wise. A big step towards playback running on COP (not yet possible because more protection on file system level is necessary).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 16:55:17 +00:00
Robert Kukla
77983681ca fix bug where runtime data was not gathered for last track (end of playlist or stop button).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12909 a1c6a512-1295-4272-9138-f99709370657
2007-03-25 17:12:27 +00:00
Michael Sevakis
571d3245f7 FS#6864 - iriver H340 doesn't connect via USB - should be fixed. Registered the voice queue but didn't create the thread.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12859 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 14:09:50 +00:00
Michael Sevakis
e1dd10ddfb SWCODEC: Get rid of extra swap buffer and get back 512K of RAM or 100K if the players RAM is <= 1MB. Make any needed changes to things to stabilize and facilitate this including removing flattening out initialization. Comment some things heavily. Fix a few logfs I didn't want to see the compiler complaining about.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12843 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 22:04:17 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Michael Sevakis
ef4a080da4 SWCODEC/Voice: Just one more adjustment and all should be good again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12749 a1c6a512-1295-4272-9138-f99709370657
2007-03-13 12:14:11 +00:00
Michael Sevakis
1c97b22ca5 SWCODEC: Fix a problem with voice in the menus caused by my error using the wrong pointer when aligning the codec malloc buffer. Probably the reason for FS#6803. Oy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12747 a1c6a512-1295-4272-9138-f99709370657
2007-03-13 10:17:59 +00:00
Michael Sevakis
c2d2106fd7 Audio Init: Just can't stand that heirarchy. Add one level of abstraction. Might come in handy anyhow. Use sound.h instead of the conditional includes for audio hardware headers. If someone doesn't like that, yell at my evil twin. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12718 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 06:21:43 +00:00
Michael Sevakis
07b41d65e8 Add another #ifdef PLAYBACK_VOICE where it should be.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12715 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 05:06:59 +00:00
Michael Sevakis
5d63776a24 Reenable aynchronous audio init stage. Really just single stage with aynchronous enabling of outputs. Keeps audio_init last so prior init steps can use the audiobuffer in any desired way. Audio will be fully initialized by the time the UI is entered. Playback of voice or audio will be delayed properly until audio hardware is ready.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12714 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 05:04:48 +00:00
Michael Sevakis
1f8326b0f7 SWCODEC: Keep codec malloc buffer line aligned. Not doing so had vorbis running with unpredicable performance. Having a voice file present messed up the alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12712 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 00:37:58 +00:00
Michael Sevakis
cc86b65d24 I really want the rest initialized to prevent accidents like the last.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12696 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 13:49:52 +00:00
Michael Sevakis
e4efe2fe3c Throw in the explicit global inits that were supposed to be there too. Important for current_fd to be -1 at init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12695 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 13:41:33 +00:00
Michael Sevakis
68f9e1ad57 Guess there were more changes to it.:) Odd that mine built until a make clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12694 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 12:51:25 +00:00
Michael Sevakis
98cd3e8868 Install the single stage synchronous audio initialization I cooked up awhile back.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12693 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 12:30:14 +00:00
Jens Arnold
8876018d25 Bring up the M5 port to a working stage: Extended numerous explicit checks for IAUDIO_X5 to also check for IAUDIO_M5, moved code around the target tree, added preliminary background for the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12610 a1c6a512-1295-4272-9138-f99709370657
2007-03-05 00:04:00 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Robert Kukla
23c136c892 don't restart the whole wps to essentially update the display of runtime info, but make the concerned tags dynamic. Now scrolling is not restarted at end of buffering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12592 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 16:09:18 +00:00
Michael Sevakis
598629c3bf SWCODEC Recording Codecs: Fix problems with hanging recording screen (chiefly on x5) when no voice file present and source is not FMRadio. Caused by extra audio stops causing encoder to unload prematurely. Fix is to have separate stop flags for each codec type to prevent collisions. Also now safe to plug into USB when recording and encoder will stay loaded and not be stopped by the call to audio_stop_playback. Additional discovery: playback will not be able to restart after a USB plug during recording. Probably an old bug. I recommend in the future that recording have higher priority on system resources than playback and playback be denied access explicitly if recording requires them. Codec API becomes incompatible so do full updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12579 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 04:16:53 +00:00
Michael Sevakis
d4e904bf35 SWCODEC: Dsp speed optimizations. Changes for more modularity. Removal of some usless stuff. Some assembly routines for Coldfire with speed in mind over size for the outputs but the channel modes remain compact. Miscellaneous coldfire asm updates to accomodate the changes. Codec API structure version has to increase so do a full update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12472 a1c6a512-1295-4272-9138-f99709370657
2007-02-24 17:06:36 +00:00
Jonathan Gordon
ec73eb0be1 really fix red builds this time
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12380 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 02:34:36 +00:00
Michael Sevakis
09186e31ae SWCODEC: Remove the last quirks when upsampling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12336 a1c6a512-1295-4272-9138-f99709370657
2007-02-16 12:01:35 +00:00
Linus Nielsen Feltzing
160851e7b9 Fix a bug where the CPU stays boosted when the voice is activated
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12314 a1c6a512-1295-4272-9138-f99709370657
2007-02-15 13:33:07 +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
Michael Sevakis
97f369a587 SWCODEC: Annoying neatness update. Use intptr_t for codec_configure_callback and dsp_configure and stop all the silly type casting of intergral types to pointers to set dsp configuration and watermarks. Shouldn't have any effect on already compiled codecs at all. Will fix any important patches in the tracker so they compile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12259 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 16:34:16 +00:00