rockbox/apps/plugins/SOURCES
Thomas Orgis 8aa72f07f4 Enhancement of the metronome plugin:
- square sine tick and tock sounds (more annoying, more useful;-)
- optical indication of tics on display
- unification of mode of operation for SWCODEC and HWCODEC (tested on simulator)
  Both playback and display drawing happen in main loop, always.
- operating in two modes now:
-- 1. classic dumb metronome
--- active when openened as application without file to open
--- the usual functionality with tapping and bpm change
--- controls indicated on display
-- 2. track mode with programmable series of parts
--- active when started as viewer for a .tempo file
--- differing meters (4/4, 3/4, 6/8, etc.)
--- patterns (tick/tock/silence on each beat)
--- smooth tempo changes in those tracks

This version had lots of testing regarding metronome accuracy,
resulting in the realization that PLL A and PLL B differ
on the Clip+, causing drift. There is still drift when the timer
intervall is too small, so I settled on 2 ms as compromise.

This is the final version, after adding documentation and extensive
help from Sebastian Leonhardt testing it on slower hardware (YH820),
where it works up to 650 actual bpm with display indication.

Latest change: Documentation nitpicks.

Change-Id: I764c8252526db188352385c5462f9453d882beb9
2015-02-03 22:41:40 +01:00

257 lines
3.9 KiB
Text

/* plugins common to all models */
#if !defined(SIMULATOR) && (CONFIG_BATTERY_MEASURE != 0)
battery_bench.c
#endif
chessclock.c
credits.c
cube.c
dict.c
jackpot.c
keybox.c
logo.c
lrcplayer.c
mosaique.c
main_menu_config.c
properties.c
random_folder_advance_config.c
rockblox.c
search.c
settings_dumper.c
snow.c
sort.c
stats.c
#ifdef HAVE_TOUCHSCREEN
stopwatch.lua
#else
stopwatch.c
#endif
theme_remove.c
vbrfix.c
md5sum.c
dice.c
disktidy.c
flipit.c
shopper.c
resistor.c
#ifdef USB_ENABLE_HID
remote_control.c
#endif
#ifdef HAVE_BACKLIGHT
lamp.c
#endif /* HAVE_BACKLIGHT */
#if CONFIG_CODEC == SWCODEC
#if defined(HAVE_RECORDING) && (defined(HAVE_LINE_IN) || defined(HAVE_MIC_IN))
pitch_detector.c
#endif
mp3_encoder.c
wav2wv.c
#endif /* CONFIG_CODEC */
#if CONFIG_RTC
alarmclock.c
#endif /* CONFIG_RTC */
/* Platform-specific */
#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
iriverify.c
#endif
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) /* those plugins only run on hardware */
/* Overlays loaders */
#if PLUGIN_BUFFER_SIZE <= 0x20000 && defined(HAVE_LCD_BITMAP)
#if CONFIG_KEYPAD != ONDIO_PAD && CONFIG_KEYPAD != SANSA_M200_PAD \
&& CONFIG_KEYPAD != HM60X_PAD
/* not enough buttons for rockboy */
rockboy.c
#endif
zxbox.c
chessbox.c
goban.c
pictureflow.c
#endif /* PLUGIN_BUFFER_SIZE <= 0x20000 && HAVE_LCD_BITMAP */
#if CONFIG_CODEC != SWCODEC
#if defined(HAVE_LCD_BITMAP)
splitedit.c
#endif
#if CONFIG_LCD == LCD_SSD1815
video.c
#endif
#endif /* HWCODEC */
#if defined(ARCHOS_PLAYER) || defined(ARCHOS_RECORDER) || \
defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2)
alpine_cdc.c
#endif
#if defined(ARCHOS_PLAYER) || defined(ARCHOS_RECORDER) || \
defined(ARCHOS_FMRECORDER) || defined(ARCHOS_RECORDERV2) || \
defined(ARCHOS_ONDIOFM) || defined(ARCHOS_ONDIOSP)
firmware_flash.c
#endif
#if defined(IRIVER_H100_SERIES)
iriver_flash.c
#endif
#if (CONFIG_CPU == SH7034)
rockbox_flash.c
#endif /* CONFIG_CPU */
#if defined(IPOD_NANO2G)
crypt_firmware.c
#endif
#if ((CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F))
wavplay.c
#endif
#if (CONFIG_CODEC == MAS3587F)
wavrecord.c
#endif
#endif /* PLATFORM_NATIVE */
metronome.c
#ifdef HAVE_LCD_BITMAP /* Not for the Archos Player */
2048.c
/* Lua needs at least 160 KB to work in */
#if PLUGIN_BUFFER_SIZE >= 0x80000
boomshine.lua
#endif
rockblox1d.c
brickmania.c
calendar.c
maze.c
mazezam.c
text_editor.c
wavview.c
robotfindskitten.c
xobox.c
spacerocks.c
blackjack.c
bounce.c
bubbles.c
calculator.c
chip8.c
chopper.c
demystify.c
jewels.c
minesweeper.c
oscilloscope.c
pegbox.c
periodic_table.c
pong.c
sliding_puzzle.c
snake.c
snake2.c
solitaire.c
sokoban.c
star.c
starfield.c
vu_meter.c
wormlet.c
/* Plugins needing the grayscale lib on low-depth LCDs */
fire.c
plasma.c
#ifdef HAVE_LCD_COLOR
clix.c
codebuster.c
#endif
#if (LCD_WIDTH > 112) && (LCD_HEIGHT > 64)
fireworks.c
#endif
#if LCD_DEPTH == 16
/* FIXME: make it work with 24bit (needs lot of memory) */
rockpaint.c
#endif
rocklife.c
#endif /* HAVE_LCD_BITMAP */
#ifdef HAVE_LCD_CHARCELLS /* Archos Player model only */
euroconverter.c
nim.c
#endif /* HAVE_LCD_CHARCELLS */
#if LCD_DEPTH > 1 /* non-mono bitmap targets */
matrix.c
#if (LCD_WIDTH > 138)
invadrox.c
superdom.c
#endif
#endif /* LCD_DEPTH > 1 */
#ifdef HAVE_TEST_PLUGINS /* enable in advanced build options */
#ifdef HAVE_ADJUSTABLE_CPU_FREQ
test_boost.c
#endif
#if CONFIG_CODEC == SWCODEC
test_codec.c
#endif
#ifdef HAVE_JPEG
test_core_jpeg.c
#endif
test_disk.c
#ifdef HAVE_LCD_BITMAP
test_fps.c
test_gfx.c
#if LCD_DEPTH < 4 && !defined(SIMULATOR)
test_scanrate.c
#endif
#ifndef HAVE_LCD_COLOR
test_grey.c
test_greylib_bitmap_scale.c
#endif
#endif
test_mem.c
#ifdef HAVE_LCD_BITMAP
test_mem_jpeg.c
#endif
#ifdef HAVE_LCD_COLOR
test_resize.c
#endif
#if CONFIG_CODEC == SWCODEC
test_sampr.c
#endif
#ifdef HAVE_TOUCHSCREEN
test_touchscreen.c
#endif
test_viewports.c
#endif /* HAVE_TEST_PLUGINS */