Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Convert FFT plugin to using PLA keymapings

Based on an old patch (g#188) by Jean-Louis Biasini

Change-Id: I698b8990b7cd57a28353e86cfc35788aa42455d2

+12 -360
+12 -360
apps/plugins/fft/fft.c
··· 32 32 #include "lib/mylcd.h" 33 33 #include "lib/osd.h" 34 34 35 - 36 - 37 35 #ifndef HAVE_LCD_COLOR 38 36 GREY_INFO_STRUCT 39 37 #endif 40 38 41 - #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 42 - (CONFIG_KEYPAD == IRIVER_H300_PAD) 43 - # define FFT_PREV_GRAPH BUTTON_LEFT 44 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 45 - # define FFT_ORIENTATION BUTTON_REC 46 - # define FFT_WINDOW BUTTON_SELECT 47 - # define FFT_AMP_SCALE BUTTON_UP 48 - # define FFT_FREQ_SCALE BUTTON_DOWN 49 - # define FFT_QUIT BUTTON_OFF 50 - 51 - #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 52 - (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 53 - (CONFIG_KEYPAD == IPOD_1G2G_PAD) 54 - # define MINESWP_SCROLLWHEEL 55 - # define FFT_PREV_GRAPH BUTTON_LEFT 56 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 57 - # define FFT_ORIENTATION (BUTTON_SELECT | BUTTON_LEFT) 58 - # define FFT_WINDOW (BUTTON_SELECT | BUTTON_RIGHT) 59 - # define FFT_AMP_SCALE BUTTON_MENU 60 - # define FFT_FREQ_SCALE BUTTON_PLAY 61 - # define FFT_QUIT (BUTTON_SELECT | BUTTON_MENU) 62 - 63 - #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 64 - # define FFT_PREV_GRAPH BUTTON_LEFT 65 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 66 - # define FFT_ORIENTATION BUTTON_SELECT 67 - # define FFT_WINDOW BUTTON_PLAY 68 - # define FFT_AMP_SCALE BUTTON_UP 69 - # define FFT_FREQ_SCALE BUTTON_DOWN 70 - # define FFT_QUIT BUTTON_POWER 71 - 72 - #elif (CONFIG_KEYPAD == GIGABEAT_PAD) 73 - # define FFT_PREV_GRAPH BUTTON_LEFT 74 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 75 - # define FFT_AMP_SCALE BUTTON_UP 76 - # define FFT_FREQ_SCALE BUTTON_DOWN 77 - # define FFT_ORIENTATION BUTTON_SELECT 78 - # define FFT_WINDOW BUTTON_A 79 - # define FFT_QUIT BUTTON_POWER 80 - 81 - #elif (CONFIG_KEYPAD == SANSA_E200_PAD) 82 - # define FFT_PREV_GRAPH BUTTON_LEFT 83 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 84 - # define FFT_ORIENTATION BUTTON_SELECT 85 - # define FFT_WINDOW BUTTON_REC 86 - # define FFT_AMP_SCALE BUTTON_UP 87 - # define FFT_FREQ_SCALE BUTTON_DOWN 88 - # define FFT_QUIT BUTTON_POWER 89 - 90 - #elif (CONFIG_KEYPAD == SANSA_FUZE_PAD) 91 - # define FFT_PREV_GRAPH BUTTON_LEFT 92 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 93 - # define FFT_ORIENTATION (BUTTON_SELECT | BUTTON_LEFT) 94 - # define FFT_WINDOW (BUTTON_SELECT | BUTTON_RIGHT) 95 - # define FFT_AMP_SCALE BUTTON_UP 96 - # define FFT_FREQ_SCALE BUTTON_DOWN 97 - # define FFT_QUIT (BUTTON_HOME|BUTTON_REPEAT) 98 - 99 - #elif (CONFIG_KEYPAD == SANSA_C200_PAD) 100 - # define FFT_PREV_GRAPH BUTTON_LEFT 101 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 102 - # define FFT_ORIENTATION BUTTON_UP 103 - # define FFT_WINDOW BUTTON_REC 104 - # define FFT_AMP_SCALE BUTTON_SELECT 105 - # define FFT_QUIT BUTTON_POWER 106 - /* Need FFT_FREQ_SCALE key */ 107 - #elif (CONFIG_KEYPAD == SANSA_M200_PAD) 108 - # define FFT_PREV_GRAPH BUTTON_LEFT 109 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 110 - # define FFT_ORIENTATION BUTTON_UP 111 - # define FFT_WINDOW BUTTON_DOWN 112 - # define FFT_AMP_SCALE BUTTON_SELECT 113 - # define FFT_QUIT BUTTON_POWER 114 - /* Need FFT_FREQ_SCALE key */ 115 - #elif (CONFIG_KEYPAD == SANSA_CLIP_PAD) 116 - # define FFT_PREV_GRAPH BUTTON_LEFT 117 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 118 - # define FFT_ORIENTATION BUTTON_UP 119 - # define FFT_FREQ_SCALE BUTTON_DOWN 120 - # define FFT_WINDOW BUTTON_HOME 121 - # define FFT_AMP_SCALE BUTTON_SELECT 122 - # define FFT_QUIT BUTTON_POWER 123 - /* Need FFT_FREQ_SCALE key */ 124 - #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 125 - # define FFT_PREV_GRAPH BUTTON_LEFT 126 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 127 - # define FFT_ORIENTATION BUTTON_FF 128 - # define FFT_WINDOW BUTTON_SCROLL_UP 129 - # define FFT_AMP_SCALE BUTTON_REW 130 - # define FFT_FREQ_SCALE BUTTON_PLAY 131 - # define FFT_QUIT BUTTON_POWER 132 - 133 - #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 134 - # define FFT_PREV_GRAPH BUTTON_LEFT 135 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 136 - # define FFT_ORIENTATION BUTTON_MENU 137 - # define FFT_WINDOW BUTTON_PREV 138 - # define FFT_AMP_SCALE BUTTON_UP 139 - # define FFT_FREQ_SCALE BUTTON_DOWN 140 - # define FFT_QUIT BUTTON_BACK 141 - 142 - #elif (CONFIG_KEYPAD == MROBE100_PAD) 143 - # define FFT_PREV_GRAPH BUTTON_LEFT 144 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 145 - # define FFT_ORIENTATION BUTTON_PLAY 146 - # define FFT_WINDOW BUTTON_SELECT 147 - # define FFT_AMP_SCALE BUTTON_UP 148 - # define FFT_FREQ_SCALE BUTTON_DOWN 149 - # define FFT_QUIT BUTTON_POWER 150 - 151 - #elif CONFIG_KEYPAD == IAUDIO_M3_PAD 152 - # define FFT_PREV_GRAPH BUTTON_RC_REW 153 - # define FFT_NEXT_GRAPH BUTTON_RC_FF 154 - # define FFT_ORIENTATION BUTTON_RC_MODE 155 - # define FFT_WINDOW BUTTON_RC_PLAY 156 - # define FFT_AMP_SCALE BUTTON_RC_VOL_UP 157 - # define FFT_QUIT BUTTON_RC_REC 158 - /* Need FFT_FREQ_SCALE key */ 159 - #elif (CONFIG_KEYPAD == COWON_D2_PAD) 160 - # define FFT_QUIT BUTTON_POWER 161 - # define FFT_PREV_GRAPH BUTTON_PLUS 162 - # define FFT_NEXT_GRAPH BUTTON_MINUS 163 - 164 - #elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD 165 - # define FFT_PREV_GRAPH BUTTON_BACK 166 - # define FFT_NEXT_GRAPH BUTTON_MENU 167 - # define FFT_ORIENTATION (BUTTON_PLAY | BUTTON_LEFT) 168 - # define FFT_WINDOW (BUTTON_PLAY | BUTTON_RIGHT) 169 - # define FFT_AMP_SCALE BUTTON_UP 170 - # define FFT_FREQ_SCALE BUTTON_DOWN 171 - # define FFT_QUIT (BUTTON_PLAY|BUTTON_REPEAT) 172 - 173 - #elif CONFIG_KEYPAD == CREATIVEZVM_PAD 174 - # define FFT_PREV_GRAPH BUTTON_LEFT 175 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 176 - # define FFT_ORIENTATION BUTTON_MENU 177 - # define FFT_WINDOW BUTTON_SELECT 178 - # define FFT_AMP_SCALE BUTTON_UP 179 - # define FFT_FREQ_SCALE BUTTON_DOWN 180 - # define FFT_QUIT BUTTON_BACK 181 - 182 - #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD 183 - # define FFT_PREV_GRAPH BUTTON_LEFT 184 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 185 - # define FFT_ORIENTATION BUTTON_SELECT 186 - # define FFT_WINDOW BUTTON_MENU 187 - # define FFT_AMP_SCALE BUTTON_UP 188 - # define FFT_FREQ_SCALE BUTTON_DOWN 189 - # define FFT_QUIT BUTTON_POWER 190 - 191 - #elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD 192 - # define FFT_PREV_GRAPH BUTTON_PREV 193 - # define FFT_NEXT_GRAPH BUTTON_NEXT 194 - # define FFT_ORIENTATION BUTTON_PLAY 195 - # define FFT_WINDOW BUTTON_MENU 196 - # define FFT_AMP_SCALE BUTTON_UP 197 - # define FFT_FREQ_SCALE BUTTON_DOWN 198 - # define FFT_QUIT BUTTON_POWER 199 - 200 - #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD 201 - # define FFT_PREV_GRAPH BUTTON_PREV 202 - # define FFT_NEXT_GRAPH BUTTON_NEXT 203 - # define FFT_ORIENTATION BUTTON_PLAY 204 - # define FFT_WINDOW BUTTON_MENU 205 - # define FFT_AMP_SCALE BUTTON_UP 206 - # define FFT_FREQ_SCALE BUTTON_DOWN 207 - # define FFT_QUIT BUTTON_POWER 208 - 209 - #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ 210 - (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) 211 - # define FFT_PREV_GRAPH BUTTON_LEFT 212 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 213 - # define FFT_ORIENTATION BUTTON_UP 214 - # define FFT_WINDOW BUTTON_DOWN 215 - # define FFT_AMP_SCALE BUTTON_FFWD 216 - # define FFT_QUIT BUTTON_PLAY 217 - /* Need FFT_FREQ_SCALE key */ 218 - #elif (CONFIG_KEYPAD == MROBE500_PAD) 219 - # define FFT_QUIT BUTTON_POWER 220 - 221 - #elif (CONFIG_KEYPAD == ONDAVX747_PAD) 222 - # define FFT_QUIT BUTTON_POWER 223 - 224 - #elif (CONFIG_KEYPAD == ONDAVX777_PAD) 225 - # define FFT_QUIT BUTTON_POWER 226 - 227 - #elif (CONFIG_KEYPAD == PBELL_VIBE500_PAD) 228 - # define FFT_PREV_GRAPH BUTTON_PREV 229 - # define FFT_NEXT_GRAPH BUTTON_NEXT 230 - # define FFT_ORIENTATION BUTTON_MENU 231 - # define FFT_WINDOW BUTTON_OK 232 - # define FFT_AMP_SCALE BUTTON_PLAY 233 - # define FFT_QUIT BUTTON_REC 234 - /* Need FFT_FREQ_SCALE key */ 235 - #elif CONFIG_KEYPAD == MPIO_HD200_PAD 236 - # define FFT_PREV_GRAPH BUTTON_REW 237 - # define FFT_NEXT_GRAPH BUTTON_FF 238 - # define FFT_ORIENTATION BUTTON_REC 239 - # define FFT_WINDOW BUTTON_FUNC 240 - # define FFT_AMP_SCALE BUTTON_PLAY 241 - # define FFT_QUIT (BUTTON_REC | BUTTON_PLAY) 242 - /* Need FFT_FREQ_SCALE key */ 243 - #elif CONFIG_KEYPAD == MPIO_HD300_PAD 244 - # define FFT_PREV_GRAPH BUTTON_REW 245 - # define FFT_NEXT_GRAPH BUTTON_FF 246 - # define FFT_ORIENTATION BUTTON_REC 247 - # define FFT_WINDOW BUTTON_ENTER 248 - # define FFT_AMP_SCALE BUTTON_PLAY 249 - # define FFT_QUIT (BUTTON_REC | BUTTON_REPEAT) 250 - /* Need FFT_FREQ_SCALE key */ 251 - #elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD 252 - # define FFT_PREV_GRAPH BUTTON_LEFT 253 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 254 - # define FFT_ORIENTATION BUTTON_PLAYPAUSE 255 - # define FFT_WINDOW BUTTON_SELECT 256 - # define FFT_AMP_SCALE BUTTON_BOTTOMLEFT 257 - # define FFT_FREQ_SCALE BUTTON_BOTTOMRIGHT 258 - # define FFT_QUIT BUTTON_POWER 259 - 260 - #elif (CONFIG_KEYPAD == SANSA_CONNECT_PAD) 261 - # define FFT_PREV_GRAPH BUTTON_LEFT 262 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 263 - # define FFT_ORIENTATION BUTTON_SELECT 264 - # define FFT_WINDOW BUTTON_VOL_DOWN 265 - # define FFT_AMP_SCALE BUTTON_UP 266 - # define FFT_FREQ_SCALE BUTTON_DOWN 267 - # define FFT_QUIT BUTTON_POWER 268 - 269 - #elif CONFIG_KEYPAD == SAMSUNG_YPR0_PAD 270 - # define FFT_PREV_GRAPH BUTTON_LEFT 271 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 272 - # define FFT_ORIENTATION BUTTON_USER 273 - # define FFT_WINDOW BUTTON_MENU 274 - # define FFT_AMP_SCALE BUTTON_SELECT 275 - # define FFT_FREQ_SCALE BUTTON_DOWN 276 - # define FFT_QUIT BUTTON_BACK 277 - 278 - #elif (CONFIG_KEYPAD == HM60X_PAD) 279 - # define FFT_PREV_GRAPH BUTTON_LEFT 280 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 281 - # define FFT_AMP_SCALE BUTTON_UP 282 - # define FFT_FREQ_SCALE BUTTON_DOWN 283 - # define FFT_ORIENTATION BUTTON_SELECT 284 - # define FFT_WINDOW (BUTTON_POWER|BUTTON_SELECT) 285 - # define FFT_QUIT BUTTON_POWER 286 - 287 - #elif (CONFIG_KEYPAD == HM801_PAD) 288 - # define FFT_PREV_GRAPH BUTTON_LEFT 289 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 290 - # define FFT_AMP_SCALE BUTTON_UP 291 - # define FFT_FREQ_SCALE BUTTON_DOWN 292 - # define FFT_ORIENTATION BUTTON_SELECT 293 - # define FFT_WINDOW BUTTON_PLAY 294 - # define FFT_QUIT BUTTON_POWER 295 - 296 - #elif (CONFIG_KEYPAD == SONY_NWZ_PAD) 297 - # define FFT_PREV_GRAPH BUTTON_LEFT 298 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 299 - # define FFT_AMP_SCALE BUTTON_UP 300 - # define FFT_FREQ_SCALE BUTTON_DOWN 301 - # define FFT_QUIT BUTTON_BACK 302 - # define FFT_ORIENTATION BUTTON_POWER 303 - # define FFT_WINDOW BUTTON_PLAY 304 - 305 - #elif (CONFIG_KEYPAD == CREATIVE_ZEN_PAD) 306 - # define FFT_PREV_GRAPH BUTTON_LEFT 307 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 308 - # define FFT_AMP_SCALE BUTTON_UP 309 - # define FFT_FREQ_SCALE BUTTON_DOWN 310 - # define FFT_QUIT BUTTON_BACK 311 - # define FFT_ORIENTATION BUTTON_SELECT 312 - # define FFT_WINDOW BUTTON_MENU 313 - 314 - #elif (CONFIG_KEYPAD == DX50_PAD) 315 - # define FFT_QUIT (BUTTON_POWER|BUTTON_REL) 316 - # define FFT_PREV_GRAPH BUTTON_VOL_UP 317 - # define FFT_NEXT_GRAPH BUTTON_VOL_DOWN 318 - 319 - #elif (CONFIG_KEYPAD == AGPTEK_ROCKER_PAD) 320 - # define FFT_PREV_GRAPH BUTTON_LEFT 321 - # define FFT_NEXT_GRAPH BUTTON_RIGHT 322 - # define FFT_AMP_SCALE BUTTON_UP 323 - # define FFT_FREQ_SCALE BUTTON_DOWN 324 - # define FFT_QUIT BUTTON_POWER 325 - # define FFT_ORIENTATION BUTTON_SELECT 326 - # define FFT_WINDOW BUTTON_VOLDOWN 327 - 328 - #elif (CONFIG_KEYPAD == XDUOO_X3_PAD) 329 - # define FFT_PREV_GRAPH BUTTON_PREV 330 - # define FFT_NEXT_GRAPH BUTTON_NEXT 331 - # define FFT_ORIENTATION BUTTON_HOME 332 - # define FFT_FREQ_SCALE BUTTON_OPTION 333 - # define FFT_WINDOW (BUTTON_HOME|BUTTON_PWRALT) 334 - # define FFT_AMP_SCALE BUTTON_PLAY 335 - # define FFT_QUIT BUTTON_POWER 336 - 337 - #elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD) 338 - # define FFT_PREV_GRAPH BUTTON_PREV 339 - # define FFT_NEXT_GRAPH BUTTON_NEXT 340 - # define FFT_ORIENTATION BUTTON_HOME 341 - # define FFT_FREQ_SCALE BUTTON_OPTION 342 - # define FFT_WINDOW (BUTTON_HOME|BUTTON_POWER) 343 - # define FFT_AMP_SCALE BUTTON_PLAY 344 - # define FFT_QUIT BUTTON_POWER 345 - 346 - #elif (CONFIG_KEYPAD == FIIO_M3K_PAD) 347 - # define FFT_PREV_GRAPH BUTTON_PREV 348 - # define FFT_NEXT_GRAPH BUTTON_NEXT 349 - # define FFT_ORIENTATION BUTTON_HOME 350 - # define FFT_FREQ_SCALE BUTTON_OPTION 351 - # define FFT_WINDOW (BUTTON_HOME|BUTTON_POWER) 352 - # define FFT_AMP_SCALE BUTTON_PLAY 353 - # define FFT_QUIT BUTTON_POWER 354 - 355 - #elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD) 356 - # define FFT_PREV_GRAPH BUTTON_PREV 357 - # define FFT_NEXT_GRAPH BUTTON_NEXT 358 - # define FFT_ORIENTATION BUTTON_HOME 359 - # define FFT_FREQ_SCALE BUTTON_VOL_UP 360 - # define FFT_WINDOW BUTTON_VOL_DOWN 361 - # define FFT_AMP_SCALE BUTTON_PLAY 362 - # define FFT_QUIT BUTTON_POWER 363 - 364 - #elif (CONFIG_KEYPAD == EROSQ_PAD) 365 - # define FFT_PREV_GRAPH BUTTON_SCROLL_BACK 366 - # define FFT_NEXT_GRAPH BUTTON_SCROLL_FWD 367 - # define FFT_ORIENTATION BUTTON_VOL_UP 368 - # define FFT_FREQ_SCALE BUTTON_VOL_DOWN 369 - # define FFT_WINDOW BUTTON_BACK 370 - # define FFT_AMP_SCALE BUTTON_MENU 371 - # define FFT_QUIT BUTTON_POWER 39 + #include "lib/pluginlib_actions.h" 372 40 373 - #elif !defined(HAVE_TOUCHSCREEN) 374 - #error No keymap defined! 375 - #endif 376 - 377 - #ifdef HAVE_TOUCHSCREEN 378 - #ifndef FFT_PREV_GRAPH 379 - # define FFT_PREV_GRAPH BUTTON_MIDLEFT 380 - #endif 381 - #ifndef FFT_NEXT_GRAPH 382 - # define FFT_NEXT_GRAPH BUTTON_MIDRIGHT 383 - #endif 384 - #ifndef FFT_ORIENTATION 385 - # define FFT_ORIENTATION BUTTON_CENTER 386 - #endif 387 - #ifndef FFT_WINDOW 388 - # define FFT_WINDOW BUTTON_TOPLEFT 389 - #endif 390 - #ifndef FFT_AMP_SCALE 391 - # define FFT_AMP_SCALE BUTTON_TOPRIGHT 392 - #endif 393 - #ifndef FFT_QUIT 394 - # define FFT_QUIT BUTTON_BOTTOMLEFT 395 - #endif 396 - /* Need FFT_FREQ_SCALE key */ 397 - #endif /* HAVE_TOUCHSCREEN */ 41 + /* this set the context to use with PLA */ 42 + static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; 43 + #define FFT_PREV_GRAPH PLA_LEFT 44 + #define FFT_NEXT_GRAPH PLA_RIGHT 45 + #define FFT_ORIENTATION PLA_CANCEL 46 + #define FFT_WINDOW PLA_SELECT 47 + #define FFT_AMP_SCALE PLA_UP 48 + #define FFT_FREQ_SCALE PLA_DOWN 49 + #define FFT_QUIT PLA_EXIT 398 50 399 51 #ifdef HAVE_LCD_COLOR 400 52 #include "pluginbitmaps/fft_colors.h" ··· 1609 1261 1610 1262 while(run) 1611 1263 { 1612 - long delay = fft_draw(); 1264 + long delay = fft_draw(); 1613 1265 1614 1266 if(delay <= 0) 1615 1267 { ··· 1617 1269 rb->yield(); /* tmo = 0 won't yield */ 1618 1270 } 1619 1271 1620 - int button = rb->button_get_w_tmo(delay); 1272 + int button = pluginlib_getaction(TIMEOUT_NOBLOCK, plugin_contexts, ARRAYLEN(plugin_contexts)); 1621 1273 1622 1274 switch (button) 1623 1275 {