Commit graph

785 commits

Author SHA1 Message Date
Andrew Mahone
07e982df8a cleanup for core-file-in-pluginlib compilation:
wrapper C files in pluginlib renamed to the same name as the core files they
wrap

pluginlib-only init functions for resize and bmp moved into the wrapper files,
and declared in the associated header files

API() macro removed entirely, in favor of a core-only header file that
redefines core function names to use a plugin_api pointer

some unnecessary uses of PLUGIN in apps/recorder/bmp.c removed


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19712 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 02:49:23 +00:00
Jonathan Gordon
45aa9a22f9 temporarilty disable the statusbar in the keyboard because it doesnt use viewports and this is the easier fix than reworking the screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19683 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 10:25:41 +00:00
Andrew Mahone
4eedc93357 build a scaling-enabled bitmap loader in pluginlib for mono bitmap targets, and use it in the test greylib scaler plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19671 a1c6a512-1295-4272-9138-f99709370657
2009-01-04 21:22:05 +00:00
Bertrik Sikken
32c2f455d1 static/const/#include/tab police on various files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19643 a1c6a512-1295-4272-9138-f99709370657
2009-01-02 21:43:52 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Michael Sevakis
2e99b3d931 Gigabeat S: Allow recording from FM. Give FM the same volume range as playback. NOTE: This bumps the si4700 output volume to -0dB so other players with that may need a minor adjustment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19619 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 01:38:44 +00:00
Andrew Mahone
9058620849 Make scaler output truly pluggable, add an 8-bit greyscale output to
pluginlib for use with greylib, and add source for a test scaled bmp
viewer using greylib.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19593 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:05:13 +00:00
Andrew Mahone
f7fa7e5ad5 Latest work on the bmp on-load scaler:
Macros for calculating size needed for bitmap load and scaling, so that
these can be compile-time constant when their inputs are.

Reduce size of bayer dither by chopping all but first row of dither
matrix, and replacing 2D lookup with 1D lookup and small calculation.

Move some functions not related to actual bmp file loading out of bmp.c.

A smaller brightness() for mono targets, and a higher-quality one for
greyscale targets, both replacing the division by 10 with a shift.

Port of the linear and area scalers to greyscale targets, this costs
some binsize but produces better output even when dithered to 2bpp.

Move duplicated row output code from inside vertical scalers to a
separate row output function.

Move some multiplies out of the line scaler, for a small speedup and
code size reduction, as well as a small improvement in accuracy for the
upscaling case.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19592 a1c6a512-1295-4272-9138-f99709370657
2008-12-26 07:03:22 +00:00
Jonathan Gordon
f6251e4256 Accept FS#9646 by Christopher Williams which fixes a few radio preset bugs:
* presets list does not scroll horizontally properly (due to the list_do_action() repeatedly timing out after 1 second)
* when returning from the presets list to the main radio screen, the highlighted item in the list scrolls on main radio screen (if it's too wide for the screen, that is)
* when adding a preset while in the presets list (with ACTION_FM_PRESET) the list is not updated with the new preset
* when clearing presets (or deleting the last preset), the main screen still shows the same preset number
* when deleting a preset, the current preset number doesn't change if it's past the end of the list (this is partially related to the previous issue)
* the find_closest_preset() routine could be improved to actually find the closest frequency that is saved as a preset
* inputting a preset name could be optimized in both time and space (especially in radio_add_preset()); also the length parameter to kbd_input() includes the null terminator, so I added one to those arguments


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19457 a1c6a512-1295-4272-9138-f99709370657
2008-12-16 12:05:16 +00:00
Andrew Mahone
676fd32c96 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19440 a1c6a512-1295-4272-9138-f99709370657
2008-12-14 18:42:05 +00:00
Andrew Mahone
524c5409c3 remove unneeded test
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19439 a1c6a512-1295-4272-9138-f99709370657
2008-12-14 17:58:04 +00:00
Michael Sevakis
93572e2a9e Keyclick fixup take two. It is only 88 samples (2msec) long so keep a small static buffer around for beeps less than or equal to keyclick duration. This way it operates no matter the buffer state and still won't interfere with alternate PCM operations like recording or plugin playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19415 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 06:01:08 +00:00
Michael Sevakis
826688e699 PCM buffer beeping needs the audio buffer reset in order to work after operations that trash the buffer or keyclick won't be audible until playback is restarted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19413 a1c6a512-1295-4272-9138-f99709370657
2008-12-13 02:48:36 +00:00
Andrew Mahone
ea5d0bd7ec fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19394 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 03:16:06 +00:00
Andrew Mahone
66b0d8198e fix broken greyscale upscaling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19393 a1c6a512-1295-4272-9138-f99709370657
2008-12-12 02:44:13 +00:00
Michael Sevakis
441fca176a Fix a wrong comment in thread.c and mention an alternative approach to inits. Fix a couple headers' Id fields while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19386 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 21:10:34 +00:00
Andrew Mahone
72f150139e fix get_totalsize to return the correct size in some cases where it failed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19385 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 20:41:53 +00:00
Andrew Mahone
995c89cb6f code cleanup, more descriptive variable names, and algorithm docs for color scalers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19381 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 12:09:03 +00:00
Andrew Mahone
eb04315b19 small binsize improvement for color scalers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19380 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 09:45:49 +00:00
Michael Sevakis
f2f394793c Fix red and a couple other things I somehow missed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19378 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 09:11:43 +00:00
Michael Sevakis
8cfbd3604f Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19377 a1c6a512-1295-4272-9138-f99709370657
2008-12-10 08:57:10 +00:00
Andrew Mahone
40ff47c7ee fix yellow - bogus unitialized use warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19376 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 23:48:34 +00:00
Andrew Mahone
781421afa2 resize-on-load for bitmap files on 2bpp and color targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19374 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 23:07:59 +00:00
Nils Wallménius
65f61d6cce FS#9609 FM radio support for the Gigabeat S, seeking/scanning is not yet
implemented but manual tuning works nicely. Thanks to Rafaël Carré,
Bertrik Sikken and Robert Menes for suggestions and debugging help.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19372 a1c6a512-1295-4272-9138-f99709370657
2008-12-09 20:48:04 +00:00
Frank Gevaerts
059fff29ec Since *set_led_enabled() is actually an ata-specific feature, move it back to ata_* only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19006 a1c6a512-1295-4272-9138-f99709370657
2008-11-04 19:57:36 +00:00
Björn Stenberg
ac488f8cb7 Makefile overhaul. All generated bitmaps are now explicitly in OBJDIR/bitmaps and OBJDIR/pluginbitmaps, and plugins properly depend on their respective bitmap files. Fixes #6847.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18987 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 14:37:50 +00:00
Frank Gevaerts
2f8a0081c6 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Björn Stenberg
51b45d5602 Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 06:38:51 +00:00
Magnus Holmgren
9c52c39528 Make some dependencies on id3.h explicit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18810 a1c6a512-1295-4272-9138-f99709370657
2008-10-14 18:40:52 +00:00
Björn Stenberg
9cf024c5a8 Red build fix: Moved PCM #defines from pcm_record.h to pcm.h. Added necessary #includes to statusbar.c and s1a0903x01.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18808 a1c6a512-1295-4272-9138-f99709370657
2008-10-14 11:43:32 +00:00
Björn Stenberg
9558c4956d Moved pcm_record from firmware to apps. Cleaned up some. Now all code using struct mp3entry is in apps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18807 a1c6a512-1295-4272-9138-f99709370657
2008-10-14 11:12:20 +00:00
Peter D'Hoye
528fe442fc New recording setting to configure how mono recordings are made. Previously, this was always L+R, which was kinda silly if your signal was on L only. This setting allows for L, R or L+R. SWCODEC only for now, to be added for HWCODEC (although that will only be L and L+R probably)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18745 a1c6a512-1295-4272-9138-f99709370657
2008-10-08 22:18:16 +00:00
Marcoen Hirschberg
88c60e6b07 add morse input support to the Olympus m:robe 100, patch by Roy Wallace, FS#9450
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18741 a1c6a512-1295-4272-9138-f99709370657
2008-10-08 11:02:51 +00:00
Peter D'Hoye
216b7d4247 Fix broken h1x0 sim build by providing a stub for pcm_sample_rate()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18326 a1c6a512-1295-4272-9138-f99709370657
2008-08-20 22:57:02 +00:00
Peter D'Hoye
b4483f05af Recording screen: show spdif samplerate on SWCODEC targets (with spdif of course). To be adapted so this also works for HWCODEC. And to be tested as I have no cable around and a broken disk in my h120....
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18325 a1c6a512-1295-4272-9138-f99709370657
2008-08-20 22:33:38 +00:00
Peter D'Hoye
44d4fcd7d2 Recording screen: do not show L/R gain settings when recording mono; do not show gain (and AGC) at all when recording via spdif.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18324 a1c6a512-1295-4272-9138-f99709370657
2008-08-20 21:38:47 +00:00
Peter D'Hoye
551886ce27 Accept FS #9301 by Christopher Williams: fix radio preset list after removing a preset
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18318 a1c6a512-1295-4272-9138-f99709370657
2008-08-19 19:39:21 +00:00
Peter D'Hoye
74b01ffbfd Adapt comment to the fact that the splash is removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18283 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:40:34 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Peter D'Hoye
2966c7cc5a Fix a small delay in updating the recording screen. This caused the screen not to update when changing settings fast (key repeat)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18273 a1c6a512-1295-4272-9138-f99709370657
2008-08-13 21:09:10 +00:00
Peter D'Hoye
76b6262df8 Adapt clip counter to compact view of recording screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18246 a1c6a512-1295-4272-9138-f99709370657
2008-08-11 18:32:10 +00:00
Peter D'Hoye
4396b5b101 Recording screen: show a more compact view if 6 lines do not fit but 4 do. Should help things on small screens or with big fonts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18239 a1c6a512-1295-4272-9138-f99709370657
2008-08-10 21:03:07 +00:00
Nils Wallménius
c49438419d Style police, trigStat -> trig_stat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18209 a1c6a512-1295-4272-9138-f99709370657
2008-08-07 11:48:56 +00:00
Peter D'Hoye
496e1f7e85 First step of the recording screen redesign. The screen is split into a fixed top part containing essential data and the peakmeters/triggerbar, and a bottom part that is in fact a list. The list contains the items that can be changed, and also some stuff that isn't important enough to be on the top part, like the filename. That filename is now shown completely. If the font is too big to have 6 lines on the display, sysfont is used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18202 a1c6a512-1295-4272-9138-f99709370657
2008-08-06 20:12:44 +00:00
Peter D'Hoye
ff5533f3ac A bit of code police, no functional changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18191 a1c6a512-1295-4272-9138-f99709370657
2008-08-03 22:47:33 +00:00
Dominik Riebeling
02103a2fa7 Unify opening of utf-8 files (FS#6203). This also adds ignoring the BOM in several places it has been missing (as FS#6071).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18185 a1c6a512-1295-4272-9138-f99709370657
2008-08-02 20:39:03 +00:00
Jonathan Gordon
fad013fcdd fix FS#9200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18077 a1c6a512-1295-4272-9138-f99709370657
2008-07-17 02:50:05 +00:00
Jonathan Gordon
92bd97b121 fix FS#9146
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17945 a1c6a512-1295-4272-9138-f99709370657
2008-07-05 12:47:34 +00:00
Bertrik Sikken
f4d4a6ab60 Implement FS#8947 - Add a stub in the simulator for ata_disk_is_active. This make it possible to clean up some #ifdef SIMULATOR macros.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17927 a1c6a512-1295-4272-9138-f99709370657
2008-07-03 13:37:57 +00:00
Peter D'Hoye
05cb42164b Fix FS #9128: invalidate the peakmeter scales when switching between playback and recording. This causes them to be recalculated so they show up correctly when playback and recording use different viewport sizes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17869 a1c6a512-1295-4272-9138-f99709370657
2008-06-29 08:05:00 +00:00