Brandon Low
0652663367
Simple fix which should improve track change performance slightly
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15324 a1c6a512-1295-4272-9138-f99709370657
2007-10-27 00:13:10 +00:00
Steve Bavin
530abe84fd
Code police: static internal functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15314 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 09:39:05 +00:00
Nicolas Pennequin
14da611cd3
Check the audio queue for new messages while filling the buffer with tracks. This cuts down the long wait for a skip (or any other action) while adding a large number of tracks to the buffer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15309 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 22:52:40 +00:00
Nicolas Pennequin
3e3c43c747
Finally commit Metadata on Buffer!
...
buffering.c and buffering.h implement the new buffering API. playback.c is translated to that API. For more information about the whole concept, see http://www.rockbox.org/wiki/MetadataOnBuffer .
There should be no major visible changes, but most existing bugs remain (though fixing them should be easier now that playback.c is a bit less complex) and there probably will be new ones. Please report any problem!
Next step is to adapt cuesheet support, which is partly disabled here, and of course fix as much bugs as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15306 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 21:27:45 +00:00
Nicolas Pennequin
fb70952228
logf changes:
...
* Disable logf by default and allow per-file enabling with "#define LOGF_ENABLE". To enable globally add that define in the config.h file.
* Transform logf calls into DEBUGF calls when ROCKBOX_HAS_LOGF isn't defined, so that they get printed to the console in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15291 a1c6a512-1295-4272-9138-f99709370657
2007-10-24 22:06:36 +00:00
Steve Bavin
32a9575130
FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not just menus), hopefully save some space.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 15:31:42 +00:00
Stéphane Doyon
e5ba649d85
Fix a problem that caused stale pcm data to be played subsequent to a
...
voice shutup.
Observed when moving through a few voiced items in very quick succession.
This is for the case where music playback is not in progress, only voice
is playing. The first few samples of audio data for voicing the first
skipped item make it to the pcm buffer, but the shutup comes before
enough pcm data has accumulated to actually start pcm playback. The
condition at the top of voice_on_voice_stop() is therefore false,
pcmbuf_play_stop() is not called, and the beginning of the interrupted
utterance is left to wait in the pcm buffer. That data will end up
prepended to the following voice clip to be played, causing a kind of
stuttering effect.
The fix is to remove the condition on pcm_is_playing() in
voice_on_voice_stop(): always clear the pcm data, it's harmless if there
wasn't any.
Thanks to jhMikeS for his assistance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15176 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 00:17:15 +00:00
Michael Sevakis
a9b2fb5ee3
Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Steve Bavin
4d34457cd0
Thanks to Nico_P, struct track_info can now be internal to playback.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14947 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 07:47:43 +00:00
Michael Sevakis
035529c487
Enable auto reply for queue messages sent with queue_send. It's only nescessary to use queue_reply to return a value other than zero or to return a result before waiting on the queue again.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14923 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 17:23:13 +00:00
Tomasz Malesinski
8f8dbf4742
Fix disabling voice.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14821 a1c6a512-1295-4272-9138-f99709370657
2007-09-22 22:47:12 +00:00
Thom Johansen
294ec1d110
Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 10:40:55 +00:00
Nils Wallménius
441fa76a6d
Fix flushing of voice during playback, patch in FS#6239 by Stephane Doyon and Daniel Dalton
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14517 a1c6a512-1295-4272-9138-f99709370657
2007-08-29 15:11:19 +00:00
Nicolas Pennequin
6a92e475ac
Make get_metadata act on a struct mp3entry rather than a struct track_info.
...
This should make it easy to use a buffer handle to put the ID3 data in.
The changes in get_metadata are mostly search and replace. The only thing
it actually used to do on the struct track_info was set taginfo_ready to
true.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14326 a1c6a512-1295-4272-9138-f99709370657
2007-08-14 11:56:13 +00:00
Nils Wallménius
5b76936a44
Accept FS#6159 'Add voice to roughly 100 splash screens and yes-no menus' by Stephane Doyon with some minor tweaks by me. Rerun 'configure' and do a 'make clean' before rebuilding your voice files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14213 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 13:08:36 +00:00
Steve Bavin
2129d0f5e3
Formatting consistency and fix further case of FS#6266 if user starts new playlist while paused.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14145 a1c6a512-1295-4272-9138-f99709370657
2007-08-02 13:19:35 +00:00
Nils Wallménius
0bfa3e76ce
Disable 'Disk spindown' and 'Anti skip buffer' settings and some related stuff for flash storage targets as they make no sense
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14110 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 08:50:44 +00:00
Michael Sevakis
ec2d2c47a0
Hopefully fix the problems with voice not cancelling its CPU boost.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14094 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 10:00:50 +00:00
Steve Bavin
93b3fb334b
FS#6266 - flush PCM buffers if the user skips while paused. FixesFS#5747.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14090 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 07:57:59 +00:00
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