Commit graph

1085 commits

Author SHA1 Message Date
Thomas Martitz
9f878b105d Fix errors introduced by a62bd92.
Change-Id: I3f65ca5347d08e1b77196c73ccb3a0951f14c850
2013-12-22 21:05:54 +01:00
Thomas Martitz
a62bd9282e Fix warning and re-order code a bit.
Change-Id: I1d733b3d0bd17cc541218f9a2b7712712ad314dd
2013-12-22 20:15:03 +01:00
Thomas Martitz
ef92ed4a6a Support GIMP bmp files.
Change-Id: I7380ceeaf696b67e1641d24e7b932e3d74770932
2013-12-22 19:55:55 +01:00
Roman
1fa3f5906e Swap over a position of cursor while reaching the end of filename in keyboard
In sansa clip + with virtual keyboard you can write/rename a stuff and move
your cursor in the filename field. But while your cursor reaches the end/start
of filename it just blocks the movement of cursor and beeps if you enabled the
"Voice Menu" feature. This patch swaps over cursor to the start/end of filename
instead of just blocking movement.

Change-Id: I37450df062df60ef4c0d747c13e448d0adbde05b
Reviewed-on: http://gerrit.rockbox.org/503
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-07-09 18:43:10 +02:00
Michael Sevakis
5f0692b98c SWCODEC recording: Boost CPU frequency before doing flush on stop
If CPU is not boosted for some reason already, then the stop flush
can take longer than it really ought to.

Change-Id: I0572cc83067749e9945b3eb825f976db21d914f9
2013-07-09 07:36:22 -04:00
Michael Sevakis
f9e47c6886 19b289a somehow missed one last LANG_RECORDING_FREQUENCY.
Did grep fail me?

Change-Id: Id8254aa542d57204e265ef06829b4e034f032137
2013-07-06 17:37:08 -04:00
Michael Sevakis
bb87590e05 Temporarily disable keyclick in recording screen.
Those who have keyclick enabled and are really eagar to record upon
boot can get the samplerate messed up because who gets to set the sample
rate last (recording or mixer) is not currently deterministic.

Change-Id: Icc43ed789cf23f928ca49657cb146445b0c558cb
2013-06-30 20:14:06 -04:00
Michael Sevakis
59abdb5190 Fix strlcpy warnings in 4888131.
Change-Id: Ibd355ee1cf39d1a4b07def94634f0316468bf727
2013-06-29 19:27:21 -04:00
Michael Sevakis
4888131972 Update software recording engine to latest codec interface.
Basically, just give it a good rewrite.

Software codec recording can be implemented in a more straightforward
and simple manner and made more robust through the better codec
control now available.

Encoded audio buffer uses a packed format instead of fixed-size
chunks and uses smaller data headers leading to more efficient usage.
The greatest benefit is with a VBR format like wavpack which needs
to request a maximum size but only actually ends up committing part
of that request.

No guard buffers are used for either PCM or encoded audio. PCM is
read into the codec's provided buffer and mono conversion done at
that time in the core if required. Any highly-specialized sample
conversion is still done within the codec itself, such as 32-bit
(wavpack) or interleaved mono (mp3).

There is no longer a separate filename array. All metadata goes
onto the main encoded audio buffer, eliminating any predermined
file limit on the buffer as well as not wasting the space for
unused path queue slots.

The core and codec interface is less awkward and a bit more sensible.
Some less useful interface features were removed. Threads are kept
on narrow code paths ie. the audio thread never calls encoding
functions and the codec thread never calls file functions as before.

Codecs no longer call file functions directly. Writes are buffered
in the core and data written to storage in larger chunks to speed up
flushing of data. In fact, codecs are no longer aware of the stream
being a file at all and have no access to the fd.

SPDIF frequency detection no longer requires a restart of recording
or plugging the source before entering the screen. It will poll
for changes and update when stopped or prerecording (which does
discard now-invalid prerecorded data).

I've seen to it that writing a proper header on full disk works
when the format makes it reasonably practical to do so. Other cases
may have incorrect data sizes but sample info will be in tact. File
left that way may play anyway.

mp3_enc.codec acquires the ability to write 'Info' headers with LAME
tags to make it gapless (bonus).

Change-Id: I670685166d5eb32ef58ef317f50b8af766ceb653
Reviewed-on: http://gerrit.rockbox.org/493
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-06-30 00:40:27 +02:00
Michael Sevakis
a9ea1a4269 Fix some whitespace in files changed in following commit.
Change-Id: Ie3f43e43076e0dcae9a10f1b0b9e4698b398acee
Reviewed-on: http://gerrit.rockbox.org/492
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-06-30 00:40:09 +02:00
Michael Sevakis
344b9d0986 Some corrections after 5857c44.
Playback needs to receive a couple of settings-related messages even
when not playing.

Put the message reply back where it was when loading an encoder for
recording.

Change-Id: I8cc80f46e42a0afd119991d698510e1ebef38ead
2013-05-31 04:13:39 -04:00
Michael Sevakis
5857c44017 Refactor audio thread to run both recording and playback.
Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.

audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.

Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.

(Also makes revision df6e1bc pointless ;)

Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
2013-05-31 03:20:35 -04:00
Michael Sevakis
df6e1bcce5 pcm_record: Track initialization state
It should not access audio hardware and change settings unless it has
been initialized first and given control of it.

Change-Id: I5004602d7caa604ded751f6838b792d1ff24b3fb
2013-05-30 18:42:59 -04:00
Thomas Martitz
ca634a0ac0 bitmap drawing: Negate alpha channel to match alpha information format of font files.
The comment about the format was actually incorrect. The alpha information
is now negated during conversion to native format, according to the
corrected comment.

Change-Id: Ifdb9ffdf9b55e39e64983eec2d9d60339e570bd9
2013-02-12 10:29:25 +01:00
Michael Sevakis
e189b33ff4 Clean up peak calculating code.
Mixer needn't keep peak data around that will never be used. Just
pass pcm_peaks structure to it instead of allocating for every
channel. Plugin API becomes incompatible.

vu_meter digital mode was still using global peak calculation;
switch it to playback channel like the rest.

Remove some accumulated soil peaks inside pcm.c and make it more
generic.

Change-Id: Ib4d268d80b6a9d09915eea1c91eab483c1a2c009
2012-05-02 20:53:07 -04:00
Bertrik Sikken
7901aa6f19 Simplify warning suppression for unused argument
Change-Id: If8d6e3669dca3ba8351e949ef901809e87f94366
2012-04-22 16:20:31 +02:00
Michael Sevakis
286a4c5caa Revise the PCM callback system after adding multichannel audio.
Additional status callback is added to pcm_play/rec_data instead of
using a special function to set it. Status includes DMA error
reporting to the status callback. Playback and recording callback
become more alike except playback uses "const void **addr" (because
the data should not be altered) and recording  uses "void **addr".
"const" is put in place throughout where appropriate.

Most changes are fairly trivial. One that should be checked in
particular because it isn't so much is telechips, if anyone cares to
bother. PP5002 is not so trivial either but that tested as working.

Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2
Reviewed-on: http://gerrit.rockbox.org/166
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2012-03-03 07:23:38 +01:00
Marcin Bukat
01415ad1b7 AGC: respect gain steps defined in audiohw_settings[]
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31387 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 22:02:35 +00:00
Boris Gjenero
fdc29d0ea4 Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31370 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 20:12:52 +00:00
Andree Buschmann
9b920734be Fix bitmap scaling for Coldfire. Closes FS#12411.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31366 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 19:17:13 +00:00
Boris Gjenero
17ed3253fc Add const to global pointers to strings.
When a global pointer is not declared as constant, gcc will put it in
memory. Getting the address of the string it points to requires loading
the address of the pointer and then loading the pointer. When the pointer
is declared constant, the address of the string is loaded directly.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31345 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 18:31:55 +00:00
Boris Gjenero
8e6030c822 FS#12378 : Remove various unused code, and comment out some unused code and data for reference or future use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31256 a1c6a512-1295-4272-9138-f99709370657
2011-12-14 21:45:25 +00:00
Michael Sevakis
c2513580cb Closing recording before initializing it the first time isn't needed and may also interfere with playback. Remove audio_close_recording call upon first entering recording screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31209 a1c6a512-1295-4272-9138-f99709370657
2011-12-11 00:53:46 +00:00
Michael Sevakis
d2c1ece304 Move the PCMREC_E/W_* defines back to pcm_record.h because they're part of the recording engine interface. Leave the low-level DMA error defines in pcm.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31184 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:45:53 +00:00
Michael Sevakis
5af1e2f531 Add a second boost condition to the recording PCM buffer to boost the CPU when 75% full or more. This is especially important for small memory when the 1-second condition frequency cannot be reached.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31183 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 21:30:37 +00:00
Michael Sevakis
e42a3194de AS3525v1/v2:
Fix problems with volume of recorded material by converting 14-bit samples to
16-bit. Remove duplicate samples from recorded data and support proper
samplerate since ADC runs 1/2 the codec clock. Support monitoring mono on both
output channels by feeding data manually to I2SOUT under the right conditions.

DMA is no longer used for recording since frames must be processed as described
above but it does allow full-duplex audio.

Miscellaneous change includes a proper constant (HW_SAMPR_DEFAULT) to reset the
hardware samplerate when recording is closed. PP5024 and AS3525 have different
default recording rates (22kHz and 44kHz respectively) but both have half-speed
ADC.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31180 a1c6a512-1295-4272-9138-f99709370657
2011-12-08 19:20:00 +00:00
Tomasz Moń
c40f5202a4 Sansa Connect: Add keymap for YesNo dialog and keyboard
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31090 a1c6a512-1295-4272-9138-f99709370657
2011-11-29 11:18:59 +00:00
Boris Gjenero
d51e598335 FS#12412 : Delete old buffer allocation code which has been replaced by core_alloc, and move buffer setup code to core_alloc.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31088 a1c6a512-1295-4272-9138-f99709370657
2011-11-29 00:42:27 +00:00
Jonathan Gordon
9e07ef2b0a Use buflib for all skin engine allocations.
Massive thanks to Michael Chicoine and other testers for finding the early bugs.

This removes all skin memory limitations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30991 a1c6a512-1295-4272-9138-f99709370657
2011-11-15 14:11:08 +00:00
Thomas Martitz
caec07be65 Handle 32bit bitmaps with all-zero alpha channel as fully opaque.
This is what gimp does when opening such a file.
Tt saves the alpha channel with all-0xff, but other programs might use 0x00.
As a fully transparent image doesn't make sense this should be OK.

Also split the 32bit and 24bit case in the bmp reader, they're sufficiently different.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30968 a1c6a512-1295-4272-9138-f99709370657
2011-11-11 22:03:29 +00:00
Thomas Martitz
312b2a2de7 Document the internal alpha channel format better, and fixes for 32bit alpha bitmaps.
For images, rows need to be even (this is not true for anti-aliased font files).
Fix stride and size calculation. This makes images that have odd pixel rows display properly and fixes buffer overflows.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30966 a1c6a512-1295-4272-9138-f99709370657
2011-11-11 19:05:11 +00:00
Boris Gjenero
b882f8f4e3 Set alpha_offset to zero when loading a JPEG.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30948 a1c6a512-1295-4272-9138-f99709370657
2011-11-09 23:25:36 +00:00
Thomas Martitz
354015ef28 Fix warning on mrobe100.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30942 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 22:34:35 +00:00
Thomas Martitz
c7b8054714 Adapt the resize-on-load image scalers to support the alpha channel.
Now 32bit BMPs with alpha channel can be up- and downscaled without losing
transparency information.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30938 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 21:39:23 +00:00
Thomas Martitz
f443e7bbf7 Support for transparency in 32bit bitmaps on color targets.
This uses the alpha blending capabilities introduced with anti-aliased fonts
to draw bitmaps with transparency information. The bmp loader is extended to read
this information (pass FORMAT_TRANSPARENT in format). The alpha information will
be used when drawing the bitmap.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30937 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 21:36:49 +00:00
Jonathan Gordon
f19f3efb07 Redo r30826 (and hopefully not reintroduce font issues) which cleans up the font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30932 a1c6a512-1295-4272-9138-f99709370657
2011-11-08 10:09:33 +00:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Fred Bauer
f301ac05f9 Revert 30754 because the codecs won't build correctly, anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30755 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 00:44:35 +00:00
Fred Bauer
2537e46b0b undef DEBUG in pcm_record.c because it's broken and breaks DEBUG builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30754 a1c6a512-1295-4272-9138-f99709370657
2011-10-14 22:41:03 +00:00
Bertrik Sikken
2e58d5935d Make function calc_db in peakmeter.c static
Remove some unneeded #include "peakmeter.h"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30713 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 21:25:26 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Andree Buschmann
29f04cc986 Roll back r30416. A proper fix of this warning will end in an #ifdef-hell.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30417 a1c6a512-1295-4272-9138-f99709370657
2011-09-03 11:04:41 +00:00
Andree Buschmann
1b94cbc1ef Remove 'set but not used' warning by GCC 4.6.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30416 a1c6a512-1295-4272-9138-f99709370657
2011-09-03 10:49:10 +00:00
Michael Sevakis
4db3e89652 Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30403 a1c6a512-1295-4272-9138-f99709370657
2011-09-01 12:15:43 +00:00
Thomas Martitz
8a701e5488 Fix errors and warnings.
The buffer_offset paramter of audio_init_recording() is removed as it
was unused in both implementations.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30310 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:37:05 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.

Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.

audiobuf and audiobufend are local to buffer.c now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Frank Gevaerts
68e066f400 #ifdef hell makes effectively suppressing this warning impossible, so stop trying
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30238 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:21:34 +00:00
Frank Gevaerts
038a608bb7 Move the "warning suppression" down, so it comes after the last write to "remote", to ensure better warning avoidance
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30237 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:13:43 +00:00
Frank Gevaerts
bd3056cb38 Suppress a "variable 'remote' set but not used" warning that some gcc versions (rightly) emit for the m:robe 100 sim. The "correct" solution would be to add about twenty five more #ifdefs to a function that already has way too many of them, or to rewrite the entire function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30236 a1c6a512-1295-4272-9138-f99709370657
2011-08-01 20:07:05 +00:00
Michael Sevakis
22b6def065 Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 11:55:38 +00:00
Michael Sevakis
a2b6703a36 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30097 a1c6a512-1295-4272-9138-f99709370657
2011-06-29 06:37:04 +00:00
Nils Wallménius
3b04a85245 Remove a couple of dead inits and assignments found by the clang-static-analyzer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29996 a1c6a512-1295-4272-9138-f99709370657
2011-06-12 22:17:45 +00:00
Peter D'Hoye
82f4c60db4 Make the histogram code usable for playback as well. Move the recording histogram code to peakmeter, rename it to remove the recording reference, and rename anything referring to it as well. Change the drawing code so there are more options to position them. This may change your histogram settings, so check after upgrading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29969 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 12:36:27 +00:00
Jonathan Gordon
b58d3656d7 FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 14:41:49 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Rafaël Carré
8c3fc23ae6 remove set but unused variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29659 a1c6a512-1295-4272-9138-f99709370657
2011-03-28 21:44:36 +00:00
Marcin Bukat
2e4259e497 recording.c
1) fix bug in fmt_gain()
2) take into account steps field of sound_settings_info struct when inc/dec gain

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29593 a1c6a512-1295-4272-9138-f99709370657
2011-03-15 22:35:04 +00:00
Thomas Martitz
cc889e9d60 Change the thread api a bit.
* Remove THREAD_ID_CURRENT macro in favor of a thread_self() function, this allows thread functions to be simpler.
* thread_self_entry() shortcut for kernel.c.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29521 a1c6a512-1295-4272-9138-f99709370657
2011-03-05 17:48:06 +00:00
Thomas Martitz
cab6ac2240 Fix warning in android build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29440 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 21:09:36 +00:00
Michael Sevakis
6510973223 Give playback engine better control over the codec. Codec simply follows commands and doesn't concern itself with audio state. Get track change notification in on the actual last buffer insert of the track because now audio simply waits for a track change notify from PCM on the last track and it must be sent reliably. This is still at an intermediate stage but works. Codecs and plugins become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29387 a1c6a512-1295-4272-9138-f99709370657
2011-02-23 14:31:13 +00:00
Andree Buschmann
57ca48458f Fix test plugin build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29277 a1c6a512-1295-4272-9138-f99709370657
2011-02-10 20:20:12 +00:00
Thomas Martitz
f577a6a22c Embedded album art support in MP3/ID3v2 tags.
- Support is limited to non-desync jpeg in id3v2 tags. Other formats (hopefully) follow in the future.
- Embedded album art takes precedence over files in album art files.
- No additional buffers are used, the jpeg is read directly from the audio file.

Flyspray: FS#11216
Author: Yoshihisa Uchida and I

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29259 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:13:13 +00:00
Andree Buschmann
5d849a963e Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:43:32 +00:00
Thomas Martitz
c402519e31 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29165 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 15:14:23 +00:00
Jonathan Gordon
261c56ba59 FS#11867 - Add 2 new tags to allow skins to display themed peakmeters
%pL for the left channel, %pR for the right channel... usable as a value, conditional or bar (exactly the same as %pv/%bl/etc)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29043 a1c6a512-1295-4272-9138-f99709370657
2011-01-13 06:48:39 +00:00
Teruaki Kawashima
47f670d3c2 FS#11725: fix duplicationg slash indicating root in filename.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28705 a1c6a512-1295-4272-9138-f99709370657
2010-11-29 12:51:44 +00:00
Marcin Bukat
56c4e9fa60 Separate mas35xx lowlevel stuff. Move SH specific bits to target tree. FS#11189 by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28425 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 21:09:34 +00:00
Szymon Dziok
057806f67a HDD6330: Try to adapt the keys for the new touchpad code, remove the non existing buttons, enable morse input.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28306 a1c6a512-1295-4272-9138-f99709370657
2010-10-18 19:30:54 +00:00
Rafaël Carré
c78d55a311 kbd_input(): move sc assignement under #ifdef HAVE_TOUCHSCREEN
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28112 a1c6a512-1295-4272-9138-f99709370657
2010-09-19 08:17:02 +00:00
Thomas Martitz
0e2286f226 Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this and a bit further cleanup in main gets rid of a warning when compiling for android.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27788 a1c6a512-1295-4272-9138-f99709370657
2010-08-12 13:38:25 +00:00
Nils Wallménius
b2a5e4e138 Mark constant array as 'const' and use a smaller datatype.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27762 a1c6a512-1295-4272-9138-f99709370657
2010-08-09 15:52:04 +00:00
Nils Wallménius
f20c72a6f1 Remove old kluge that makes little difference with the new arm toolchain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27761 a1c6a512-1295-4272-9138-f99709370657
2010-08-09 12:21:11 +00:00
Thomas Martitz
5d8ab7b364 Fix reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27657 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:22:48 +00:00
Thomas Martitz
9c0b2479f7 Rockbox as an application: add get_user_file_path().
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.

On the DAPs it's a no-op, returing /.rockbox directly.

Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
2010-08-01 16:15:27 +00:00
Jonathan Gordon
2d31d77a8b FS#11470 - new skin code, finally svn uses the new parser from the theme editor. This means that a skin that passes the editor WILL pass svn and checkwps (unless the target runs out of skin buffer or something.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27613 a1c6a512-1295-4272-9138-f99709370657
2010-07-29 12:37:48 +00:00
Nils Wallménius
d3fd3a372b s/HAVE_LCD_REMOTE/HAVE_REMOTE_LCD/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27539 a1c6a512-1295-4272-9138-f99709370657
2010-07-24 10:51:58 +00:00
Teruaki Kawashima
3d29faa011 keyboard: change how charactars are stored in the buffer.
* try to keep the layout when font is changed or when the buffer is fully used.
* don't waste the buffer by filling by spaces.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27370 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 13:09:39 +00:00
Rafaël Carré
3982f1e932 Simulator: build recording code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27280 a1c6a512-1295-4272-9138-f99709370657
2010-07-04 13:37:52 +00:00
Teruaki Kawashima
1a3b93cf7d FS#10925 by myself: add touchscreen support for virtual keyboard.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27156 a1c6a512-1295-4272-9138-f99709370657
2010-06-27 14:03:59 +00:00
Michael Sevakis
b15a523870 e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27139 a1c6a512-1295-4272-9138-f99709370657
2010-06-26 10:07:17 +00:00
Thomas Martitz
4e26db3f35 I shouldn't have touched backlight.c at all :\ Also fix the yellow in peakmeter.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27022 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 17:26:50 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Teruaki Kawashima
8903339444 keyboard: clean up. remove unneeded #ifdefs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26720 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 12:08:25 +00:00
Marianne Arnold
e1a0e2cd7a Virtual keyboard: enable line edit mode as an alternative on all target. There were only a very few that didn't offer it yet. The KBD_MODES define could be removed too now but I leave that to someone else. ;)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26612 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 08:43:02 +00:00
Michael Sevakis
ab27aa1526 Fix r26298 yellow: Somehow missed those warnings. Need playback.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26299 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 04:59:39 +00:00
Michael Sevakis
a8d9a03cfb SWCODEC: Wait for audio init to complete before starting radio or recording; hardware init might not be finished yet if those are the start screens.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26298 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 04:51:24 +00:00
Michael Sevakis
d56999890f Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:42:32 +00:00
Jonathan Gordon
b6867dc998 split the radio code into multiple files in the hope that makes it more likely for someone to want to work on! :D
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26109 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 15:03:59 +00:00
Jonathan Gordon
ddc91c3ee3 yellow go bye bye
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26080 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:28:06 +00:00
Jonathan Gordon
7d5e0d7375 FS#11263 - Radio Art support! %C and %Cl tags work in the radio screen and Base Skin when the radio is running.
put your station images in .rockbox/fmpresets/<preset name>.bmp or .jpg. Must be in preset mode and the preset name must match the filename


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26078 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:13:42 +00:00
Rafaël Carré
020dddffac Enable recording on clipv1/m200v4/c200v2
Use smaller recording buffer and watermarks on these models with 2MB of ram
Rearrange watermark calculation expressions so we can use fractional
numbers of seconds but still with integer results

Only enable spinup time adjustement for ATA targets
Flash targets (sansas and ondiofm) should still work fine, but they were
not tested

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26014 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:08:15 +00:00
Jonathan Gordon
3fbe4d275e fix FS#11264 - frequency bar and presets not working in the sbs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25982 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 06:56:21 +00:00
Jonathan Gordon
a5d8d21596 fix the last of the reds, and make RDS tags actually work (and add them to the hardcoded radio skin)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25966 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 11:44:09 +00:00
Jonathan Gordon
7b931f0a5a fix red and yellow (most of it anyway)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25965 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 10:59:20 +00:00
Jonathan Gordon
1bd072c92d FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25964 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 10:38:00 +00:00
Jonathan Gordon
38ef849d06 slightly rework peakmeter handling to make it cleaner and be able to be used in conditionals
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25913 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 13:01:59 +00:00
Thomas Martitz
77dfff5a55 Fix some more snprintf related warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25853 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:37:03 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
c61e89c0ed Make creat() posix compliant API-wise. Shouldn't affect the core as it's wrapped via a static inline.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:04 +00:00