summaryrefslogtreecommitdiff
path: root/apps/plugin.c (follow)
Commit message (Collapse)AuthorAge
* Have mpegplayer use the mixer (the playback channel, since it's mutually ↵Michael Sevakis2011-07-08
| | | | | | exclusive to audio playback) so the clicks and skip beep can be used according to user settings. Introduce some system sound functions to make easier playing event sounds from various places and convert files calling 'beep_play' to use 'system_sound_play' and 'keyclick_click'. Event sound could be become themeable. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30130 a1c6a512-1295-4272-9138-f99709370657
* Use playback channel directly for peakmeters and plugins using peak ↵Michael Sevakis2011-07-02
| | | | | | 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
* Knock out at least some red/yellow from r30097.Michael Sevakis2011-06-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30098 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#12150 - Fully-functional audio mixer - and finally whip old ↵Michael Sevakis2011-06-29
| | | | | | 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
* Provide a reasonable fix for FS#12093 - Playback hanging after ↵Michael Sevakis2011-05-09
| | | | | | codec/playback rework. Also, get rid of an impossible buffering case (BUF_USED is always less than buffer_len) and remove a buffering API that is not used anywhere and shouldn't be needed (plugin API has to be incompatible). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29849 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#12069 - Playback rework - first stages. Gives as thorough as ↵Michael Sevakis2011-04-27
| | | | | | possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
* Purge buffer and codec APIs existing exclusively in support of mpa.codec and ↵Michael Sevakis2011-03-16
| | | | | | fix that to not require them: buf_get_offset and ci.advance_buffer_loc. Sort APIs; everything must become incompatible. :( git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29595 a1c6a512-1295-4272-9138-f99709370657
* Change the thread api a bit.Thomas Martitz2011-03-05
| | | | | | | * 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
* Give playback engine better control over the codec. Codec simply follows ↵Michael Sevakis2011-02-23
| | | | | | 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
* Fuze v2: Do button reading more efficiently by mapping button codes directly ↵Michael Sevakis2011-01-20
| | | | | | to the GPIO pin states where possible (all but 'home' and hold). This makes plugins incompatible; up the min version and sort things. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29097 a1c6a512-1295-4272-9138-f99709370657
* FS#11822: use rockbox_browse() in plugins to select file.Teruaki Kawashima2011-01-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29069 a1c6a512-1295-4272-9138-f99709370657
* SA9200: Add YUV blitting, do full-screen updates more efficiently and ↵Michael Sevakis2011-01-11
| | | | | | properly clip partial updates. Plugin struct becomes incompatible for this target but leave version alone since it's still dev-only. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29028 a1c6a512-1295-4272-9138-f99709370657
* Add some app_*() wrappers for file IO functions to make app_ work the same ↵Frank Gevaerts2011-01-07
| | | | | | as sim_, thereby fixing application builds git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28993 a1c6a512-1295-4272-9138-f99709370657
* Also PREFIX() other filesystem functions. I hope I got them all now...Frank Gevaerts2010-12-29
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28929 a1c6a512-1295-4272-9138-f99709370657
* Properly prefix the creat function for sim builds, otherwise the system ↵Frank Gevaerts2010-12-29
| | | | | | creat() is called, which doesn't do proper root-mangling to make the file end up in the right place. Fixes FS#11844 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28927 a1c6a512-1295-4272-9138-f99709370657
* git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28917 ↵Mustapha Senhaji2010-12-28
| | | | a1c6a512-1295-4272-9138-f99709370657
* Get rid of get_user_file_path and do the path handling in wrappers for ↵Thomas Martitz2010-12-06
| | | | | | open() and friends. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
* Remove some inconsistent guarding around cpucache_* functions to fix a ↵Nils Wallménius2010-10-16
| | | | | | test_codec crash on coldfire, breaks plugin api compatibility so sorted and bumped version numbers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28287 a1c6a512-1295-4272-9138-f99709370657
* Fix for FS #10097 - Sometimes keys do work after exiting plugins.Bertrik Sikken2010-10-10
| | | | | | | | This removes the call to button_clear_queue which interfered with the mechanism in action.c to wait for a key release event when the button context is changed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28232 a1c6a512-1295-4272-9138-f99709370657
* use correct condition for #if for tagcache_fill_tags().Teruaki Kawashima2010-09-30
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28188 a1c6a512-1295-4272-9138-f99709370657
* Make disabling HAVE_PITCHSCREEN actually work without breaking the buildFrank Gevaerts2010-09-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28102 a1c6a512-1295-4272-9138-f99709370657
* Extend lc_open() to also being able to load overlay plugins.Thomas Martitz2010-09-09
| | | | | | | For this it needs to look at the plugin header. Since lc_open() doesn't know it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
* Ged rid of uisimulator/common/io.c for android builds.Thomas Martitz2010-09-01
| | | | | | | | | | | Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants. Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know). For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one, the values can be retrieved via the new dir_get_info(). Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
* Plugins: modify IRAM copying codeRafaël Carré2010-08-30
| | | | | | | | | Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore IRAM is no longered zeroed before copying (as it is at the same address than BSS) -> Fix FS#11581 Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
* Implement lcd(_remote)_putsxyf() and export to pluginsRafaël Carré2010-08-28
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27921 a1c6a512-1295-4272-9138-f99709370657
* pitch_detector: cleanupRafaël Carré2010-08-28
| | | | | | | | | | | | | | | | | | | - cosmetics: remove trailing white space - mark all functions and variables as static - merge struct definition and declaration when possible - rename tuner_settings -> settings (because it's shorter) - remove unused enums - don't give pointer to settings struct as argument since there is only one struct, same for the settings filename - fix error cases in settings load: reset settings when loading failed close file when it hasn't the right size - inline small load/save functions only used once - remove unused print_char_xy - inline print_str and print_int_xy, and use lcd_putsf (added to the plugin API) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27918 a1c6a512-1295-4272-9138-f99709370657
* 2nd try: Introduce a small api for loading code (codecs,plugins) from ↵Thomas Martitz2010-08-27
| | | | | | | | | | disk/memory. It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports. Apparently sh needs linker symbols prefixed with _ even if they're referenced without from C code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27902 a1c6a512-1295-4272-9138-f99709370657
* Revert "Introduce a small api for loading code (codecs,plugins) from ↵Thomas Martitz2010-08-27
| | | | | | | | disk/memory." I don't understand the build error at all, plugin_bss_start is clearly defined in plugin.lds git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27901 a1c6a512-1295-4272-9138-f99709370657
* Introduce a small api for loading code (codecs,plugins) from disk/memory.Thomas Martitz2010-08-26
| | | | | | It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27900 a1c6a512-1295-4272-9138-f99709370657
* system-arm.c/__div0 are for ARM native builds onlyRafaël Carré2010-08-03
| | | | | | | Android can now be built with CPU_ARM defined Needs investigation (and test_codec) to see if/how this helps git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27684 a1c6a512-1295-4272-9138-f99709370657
* Rockbox as an application: add get_user_file_path().Thomas Martitz2010-08-01
| | | | | | | | | | | 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
* Missed one.Nils Wallménius2010-07-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27540 a1c6a512-1295-4272-9138-f99709370657
* text_viewer: remove unneeded code.Teruaki Kawashima2010-07-12
| | | | | | viewportmanager_theme_enable() sets values to passed viewport by viewport_set_defaults(), so no need to call sb_skin_get_info_vp() or viewport_set_defaults(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27399 a1c6a512-1295-4272-9138-f99709370657
* plugin api: delete sb_skin_update().Yoshihisa Uchida2010-07-08
| | | | | | text viewer: use send_event() instead of sb_skin_update(). thanks to teru. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27348 a1c6a512-1295-4272-9138-f99709370657
* plugin api: new functions set the end of the structure. thanks to Frank ↵Yoshihisa Uchida2010-07-07
| | | | | | Gevaerts. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27335 a1c6a512-1295-4272-9138-f99709370657
* plugin api: add the following functions.Yoshihisa Uchida2010-07-07
| | | | | | | - get the viewport of the current skin. - update the current skin statusbar. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27333 a1c6a512-1295-4272-9138-f99709370657
* Enable game sounds in PacBox. Sound is OFF by default but can be enabled ↵Michael Sevakis2010-07-01
| | | | | | from the menu. Enable a function for SWCODEC in the middle of the plugin API, so plugins must be made incompatible (full update). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27202 a1c6a512-1295-4272-9138-f99709370657
* Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz2010-06-21
| | | | | | | | | | | #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
* Generate C file / header for svn version stringRafaël Carré2010-05-27
| | | | | | | | | | | | | | | | | | | | | | | | It's now easier to force rebuild of files depending on the svn revision version.c/version.h are generated once with new tools/genversion.sh Changes in the VCS are still not auto detected, so you'll have to remove builddir/version.* if you want to change the string in your binaries APPSVERSION is now called RBVERSION and is defined in the generated header instead of being defined by the Makefiles appsversion is now called rbversion (the plugin api number didn't change since old modules are still binary compatible) Change some bootloaders to use knwon-at-buildtime RBVERSION instead of "%s" + rbversion You'll need to run make clean to regenerate dependencies after the removal of apps/version.h To build binaries with a different version string, hand-edit tools/version.sh or tools/genversion.sh (which calls the former) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
* Make PCM->driver interface about as simple as it will get. Registered ↵Michael Sevakis2010-05-24
| | | | | | 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
* Simplify mpegplayer a bit and use array-based lists rather than linked lists ↵Michael Sevakis2010-05-17
| | | | | | for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26101 a1c6a512-1295-4272-9138-f99709370657
* Gigabeat S: Fully enable access to hardware tone controls and 3-D effect ↵Michael Sevakis2010-05-15
| | | | | | feature. Under the hood, it's designated a hardware equalizer since it is one. Implement code framework for hardware EQ in general. Menu aspect is well abstracted and so the UI and strings can be changed around if taste doesn't quite suit. So far the emphasis is distinction of the UI labelling from the software EQ so that it's clear the settings are for a different thing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26051 a1c6a512-1295-4272-9138-f99709370657
* Make the sim buildable with mingw againFrank Gevaerts2010-05-14
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26037 a1c6a512-1295-4272-9138-f99709370657
* Include host system's header files and don't compile our c library ↵Thomas Martitz2010-05-14
| | | | | | | | replacements in the sim. This makes it possible to move the simulator code into the target tree (for Rockbox as an application). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26019 a1c6a512-1295-4272-9138-f99709370657
* pitch_detector: Use continuous recording, even if the algorithm is too slow ↵Michael Sevakis2010-05-14
| | | | | | for that and record a whole buffer even if the min frequency is higher. Use the minimum samplerate that allows C-4186 to be detected (usually 11.025kHz, which can reduce computational load to 1/16 compared to 44.1kHz). Get rid of 64-bit multiplies when calculating input RMS value. Stop audio playback when entering plugin. Better backlight and CPU frequency handling. audio_sample_type->int16_t. simpler buffer size rounding. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26005 a1c6a512-1295-4272-9138-f99709370657
* Fix disastrous variable shadowing, change casts to unsigned in (cygwin ↵Thomas Martitz2010-05-07
| | | | | | | | doesn't like mode_t there, and unsigned int should be equally correct) and check the correct bitmask in sim_open(). Should repair filesystem accesses on the sim. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25881 a1c6a512-1295-4272-9138-f99709370657
* Move c/h files implementing/defining standard library stuff into a new libc ↵Thomas Martitz2010-05-06
| | | | | | | | 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
* Make open() posix compliant api-wise. A few calls (those with O_CREAT) need ↵Thomas Martitz2010-05-06
| | | | | | the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
* Make creat() posix compliant API-wise. Shouldn't affect the core as it's ↵Thomas Martitz2010-05-06
| | | | | | wrapped via a static inline. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25843 a1c6a512-1295-4272-9138-f99709370657
* Text viewer: Fix RTL languages and diacritic characters supportTomer Shalev2010-04-07
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25515 a1c6a512-1295-4272-9138-f99709370657