forked from chundermike/rpi-fruitbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
release_notes.txt
478 lines (385 loc) · 14.5 KB
/
release_notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
fruitbox Release Notes:
-----------------------------------
v1.12.1
-----------------------------------
Bug-fix:
-> Fixed auto play (which broke in v1.12 release)
-----------------------------------
v1.12
-----------------------------------
Highlights:
-> *new* Support for playing (ogv) music videos
-> *new* Support for playing (ogv) video clips in status objects
-> *new* status flags for more flexible skin designs
-> *new* Status object random image file and directory support
-> Debugged support for non-official touchscreens
-> More flexible select code operation
Added skin configuration parameters...
-> [general] SelectButtons
-> [general] SelectButtonsSequence
-> [general] PairedSongText
-> [status] BitmapDirectory
Removed skin configuration parameter...
-> [general] SelectKeys
Enhancements:
-. Added new [video] skin object
-> Added new 'Dissolve' page effect
-> Added --button-map <file> command line option to specify button file (defaults to fruitbox.btn)
-> Added touch co-ordinates to touch status for --test-buttons
-> Added --calibrate-touch
-> Added new buttons
-> ButtonFlag1
-> ButtonFlag2
-> ButtonFlag3
-> ButtonFlag4
Added extra status variables...
-> $START_VIDEO
-> $STOP_VIDEO
-> $PAUSE_VIDEO
-> $UNPAUSE_VIDEO
-> $DRAW_VIDEO
-> $UNDRAW_VIDEO
-> $DRAW_RANDOM_BITMAP
-> $IF_VIDEO_SONG_PLAYING
-> $IF_NOT_VIDEO_SONG_PLAYING
-> $LAST_PLAYED_TITLE
-> $LAST_PLAYED_ARTIST
-> $LAST_PLAYED_ALBUM
-> $LAST_PLAYED_ALB_ARTIST
-> $LAST_PLAYED_TRACK_NUMBER
-> $LAST_PLAYED_YEAR
-> $LAST_PLAYED_GENRE
-> $LAST_PLAYED_PUBLISHER
-> $LAST_PLAYED_ISRC
-> $LAST_PLAYED_CUSTOM_TAG
-> $LAST_PLAYED_LENGTH
-> $SET_FLAG_1_HI
-> $SET_FLAG_1_LO
-> $SET_FLAG_2_HI
-> $SET_FLAG_2_LO
-> $SET_FLAG_3_HI
-> $SET_FLAG_3_LO
-> $SET_FLAG_4_HI
-> $SET_FLAG_4_LO
-> $IF_BUTTON_FLAG_1_PRESSED
-> $IF_NOT_BUTTON_FLAG_1_PRESSED
-> $IF_BUTTON_FLAG_2_PRESSED
-> $IF_NOT_BUTTON_FLAG_2_PRESSED
-> $IF_BUTTON_FLAG_3_PRESSED
-> $IF_NOT_BUTTON_FLAG_3_PRESSED
-> $IF_BUTTON_FLAG_4_PRESSED
-> $IF_NOT_BUTTON_FLAG_4_PRESSED
-> $IF_FLAG_1_HI
-> $IF_FLAG_1_LO
-> $IF_FLAG_2_HI
-> $IF_FLAG_2_LO
-> $IF_FLAG_3_HI
-> $IF_FLAG_3_LO
-> $IF_FLAG_4_HI
-> $IF_FLAG_4_LO
-> $IF_PLAYQUEUE_FULL
-> $IF_NOT_PLAYQUEUE_FULL
-> Fixed typo in user guide (--input_device -> --input-device, --touch_device -> --touch-device)
-----------------------------------
v1.11
-----------------------------------
Highlights:
-> fruitbox versions for Stretch (fruitbox) and Jessie (fruitbox-jessie)
-> Reduced ALSA audio lag (upgraded Allegro library from 5.2.2 to 5.2.4)
Bug-fixes:
-> User Device buttons correctly recognised when reading fruitbox.btn file
Enhancements:
-> Check for duplicated button mappings
-----------------------------------
v1.10
-----------------------------------
Highlights:
-> *new* support for multiple coin slots
-> *new* status for invalid song selection
-> *new* added --touch-scale command line option to support touch
screens with different display and touch resolutions
Added extra buttons for multiple coin inserters...
-> ButtonCoin1
-> ButtonCoin2
-> ButtonCoin3
-> ButtonCoin4
Removed Button...
-> ButtonCoin
Added extra status variables...
-> $PLAYS_PER_COIN1
-> $PLAYS_PER_COIN2
-> $PLAYS_PER_COIN3
-> $PLAYS_PER_COIN4
-> $IF_BUTTON_COIN1_PRESSED
-> $IF_NOT_BUTTON_COIN1_PRESSED
-> $IF_BUTTON_COIN2_PRESSED
-> $IF_NOT_BUTTON_COIN2_PRESSED
-> $IF_BUTTON_COIN3_PRESSED
-> $IF_NOT_BUTTON_COIN3_PRESSED
-> $IF_BUTTON_COIN4_PRESSED
-> $IF_NOT_BUTTON_COIN4_PRESSED
-> $IF_INVALID_CHOICE
-> $IF_NOT_INVALID_CHOICE
Removed stat varaiables...
-> $PLAYS_PER_COIN
-> $IF_BUTTON_COIN_PRESSED
-> $IF_NOT_BUTTON_COIN_PRESSED
Enhancements:
-> don't generate an empty database file if no songs found
-----------------------------------
v1.9
-----------------------------------
Added new command line options...
-> --touch-device for specifying touch device for button config/test
-> --no-scale for disabling the skin scaling to display size (useful for debugging skins)
Bug fixes:
-> TouchDevice and InputDevice now pick up device names corectly in fruitbox.btn file
-> Fixed broken touch input (broken since v1.7)
-> Check for no pages defined in skin config file
-----------------------------------
v1.8
-----------------------------------
-> bug fix for ButtonSkip remapping not working
-> Added 'Screenshot' configuration parameter to allow a screenshot to be associated
with a cfg file rather than the directory it's in (to allow multiple choosr cfg files
with their own screenshots in the same directory)
-----------------------------------
v1.7
-----------------------------------
Highlights:
-> *new* Optional Skin Chooser start-up menu
-> *new* Support for multiple joysticks
-> *new* Support user-specified (key/button based) input devices
-> *new* Status output to external file(s)
-> Improved user interface for button mapping and database creation
Bug fixes:
-> mp3 file extensions now case-insensitive
Added new command line options...
-> --choose-cfg for skin chooser menu
-> --database and --music_path for over-riding skin settings
-> --input-device for specifying input device(s) for button config/test
Enhancements:
-> Support for multiple joysticks
-> Graphics based Info box (rather than terminal output) for database generation and configuring/testing buttons (shows info for GUI-launched fruitbox)
-> Volume control now logarithmic not linear for flatter volume change across the range 0-100
-> --screenshot command line parameter now creates screenshot.jpg in skin directory (not user specified)
-> Added 'ButtonPowerOff'
-> TouchDevice and InputDevice parameters moved from skin cfg files to btn file
-> Added new 'Output' option for [status] objects
...allows text status to be output to file(s) for reading by external applications
Added new button...
-> ButtonPoweroff
Added new status object $ variables...
-> $IF_BUTTON_POWER_OFF_PRESSED
-> $IF_NOT_BUTTON_POWER_OFF_PRESSED
-----------------------------------
v1.6
-----------------------------------
Highlights:
-> *new* Added ability to pause currently playing song
-> *new* Added Extraction of and Sorting by MP3 Genre
-> *new* Ability to auto play random songs only from specified Genre(s)
-> *new* Ability to jump pages by (last) sort group Alphanumeric value
-> *new* Added '--screenshot <filename>' command line option for capturing screenshot of skin
-> Removed 'TextCondenseLimit' and replaced with individual max_width on each text description
Added new buttons...
-> ButtonPause
-> ButtonLeftAlpha
-> ButtonRightAlpha
Added new status object $ variables...
-> $NOW_PLAYING_GENRE
-> $COMING_UP_GENRE
-> $IF_PAUSED
-> $IF_NOT_PAUSED
-> $IF_BUTTON_PAUSE_PRESSED
-> $IF_NOT_BUTTON_PAUSE_PRESSED
-> $IF_BUTTON_LEFT_ALPHA_PRESSED
-> $IF_NOT_BUTTON_LEFT_ALPHA_PRESSED
-> $IF_BUTTON_RIGHT_ALPHA_PRESSED
-> $IF_NOT_BUTTON_RIGHT_ALPHA_PRESSED
-> $AUTO_GENRE
Added new configuration parameters...
-> AutoGenre * (allows auto mode to cycle through different genres, so auto mode random songs are picked only from current genre)
Enhancements...
-> Enhanced parameters...
-> SortSongsBy now includes 'Genre' parameter value
-> All *Text parameters now include optional extra parameter value 'max_width' for condense mode
-> Added Jump by last SortSongsBy category Alphanumeric value
-> Extraction of MP3 ID3v1 parameters
-----------------------------------
v1.5
-----------------------------------
Added new status object $ variables...
-> $IF_BUTTON_LEFT_JUMP_PRESSED
-> $IF_NOT_BUTTON_LEFT_JUMP_PRESSED
-> $IF_BUTTON_RIGHT_JUMP_PRESSED
-> $IF_NOT_BUTTON_RIGHT_JUMP_PRESSED
Improved GPIO input debouncing
-----------------------------------
v1.4
-----------------------------------
Highlights:
-> *new* Button remapping
-> *new* USB controller (joystick) support
-> *new* Touch screen support (tested on official Raspberry Pi 7")
-> *new* GPIO input support for buttons (no need for Adafruit retrogame anymore)
-> *new* GPIO output from status objects
-> *new* User-configurable text descriptions for song pages
-> *new* Prevention of repeated random songs (in user and Auto mode)
-> Various bug fixes
-> Added a bunch of new status $ variables
-> Improved and extended song sorting
Details:
Updated input button handling...
fruitbox now reads custom button mappings from fruitbox.btn mappping file (if it exists).
buttons can be...
-> Mapped to any keyboard key
-> Mapped to any GPIO pin
-> Mapped to USB Joystick buttons / sticks
-> Mapped to touch screen areas
Added new command line options...
-> --config-buttons : Interactive generation of fruitbox.btn button mapping file
-> --test-buttons : For checking button codes
Added new buttons for moving quickly through pages...
-> ButtonLeftJump
-> ButtonRightJump
Added new status object $ variables...
Support for GPIO outputs... GPIO pins can be set/reset from status objects...
-> $SET_GPIO_xx_HI
-> $SET_GPIO_xx_LO
(where xx is 00 to 27)
Support for button detection (useful for animating touch screen buttons)...
-> $IF_BUTTON_<name>_PRESSED
-> $IF_NOT_BUTTON_<name>_PRESSED
Added new variables for extra song information...
-> $NOW_PLAYING_ALB_ARTIST
-> $NOW_PLAYING_TRACK_NUMBER
-> $NOW_PLAYING_PUBLISHER
-> $NOW_PLAYING_ISRC
-> $NOW_PLAYING_CUSTOM_TAG
-> $COMING_UP_ALB_ARTIST
-> $COMING_UP_TRACK_NUMBER
-> $COMING_UP_PUBLISHER
-> $COMING_UP_ISRC
-> $COMING_UP_CUSTOM_TAG
-> $IF_STEREO
-> $IF_NOT_STEREO
Added new variables for playqueue status...
-> $IF_PLAYQUEUE_EMPTY
-> $IF_NOT_PLAYQUEUE_EMPTY
-> $IF_PLAYQUEUE_FULL
-> $IF_NOT_PLAYQUEUE_FULL
Added new variables for general status...
-> $PLAYS_PER_COIN
-> $NUM_SONGS
-> $NUM_PAGES
-> $FIRST_VISIBLE_PAGE
-> $LAST_VISIBLE_PAGE
Changed some status $ variables for consistency...
-> Renamed $IF_SONG_NOT_PLAYING to $IF_NOT_SONG_PLAYING
-> Renamed $IF_SONG_NOT_LOADING to $IF_NOT_SONG_LOADING
-> Renamed $IF_SONG_NOT_UNLOADING to $IF_NOT_SONG_UNLOADING
-> Renamed $IF_PAGE_NOT_MOVING to $IF_NOT_PAGE_MOVING
Added new configuration sections...
-> [touch areas]
...defines touch areas for buttons
-> [touch song]
...allows songs to be selected by touching song name rather than entering select code
Added new configuration parameters...
-> CustomMP3Tag
... allows the specified MP3 ID3v2 tag to be extracted to a songs 'custom' field, to be subsequently
used for song sorting and song/status display
-> SongHistoryDepth
... this prevents a randomly chosen song being repeated within the specified number of previously played songs
(in addition to the play queue contents)
-> SongDescription
...defines the description of the song entries on a page
-> PairedSongDescription
...defines the description of the second song of a song pair
-> ArtistDescription
...defines the description of the artist entries on a page (if artists are different for each song in a pair)
-> MatchedArtistDescription
...defines the description of the artist entries on a page (if artists are the same for each song in a pair)
-> ExtraDescription
...defines an extra text line to accompany each song (or pair) / artist grouping
-> TextCondenseLimit
... specifies the difference between object width and text width after which text condensing is applied
-> PageJump
...specifies how many screens of pages to jump if 'ButtonLeftJump' or 'ButtonRightJump' is pressed
-> ReverseClip
...allows the direction of bitmap clipping to be specified.
Added new SortSongsBy configuration parameter values...
-> TrackNumber
-> AlbumArtist
-> Publisher
-> ISRC
-> Custom
Enhancements...
-> Extraction of more MP3 ID3v2 tags to database...
-> Publisher (TPUB)
-> ISRC (TSRC)
-> User-specified Custom MP3 tag
-> Select Code now updates in joystick and touch song modes
-> User guide expanded and cleaned up
-> Volume and Mute now affect sound effects as well as songs
-> Load and Save playlists now only generate warnings and not errors if files can't be opened / created
-> Hide joystick bitmap when pages are moving
Bug fixes...
-> Mono MP3 files now play properly
-> Multiple SortSongsBy now works as expected
-> Fixed duplicated albums page if SongsPerPage is the same as the number of songs on the album
Skin changes...
-> Wall* skins spinning record now correctly disappears when record not playing
-> Wall* skins Now Playing artist name now correctly displayed
-> Changes to all Status content files containing updated $IF_NOT_* variables
-> Changes to all Status configuration files for SortSongsBy Title and then Artist
-> New "SongTouch" skin demonstrating touch screen operation
-----------------------------------
v1.3
-----------------------------------
Ignore and issue Warning for database song TrackNumber and Length values of > 2^31 - 1, rather than crashing out
-----------------------------------
v1.2
-----------------------------------
Extended Select Code range from A->H to A->K
-----------------------------------
v1.1
-----------------------------------
Highlights:
-> *new* Support for loading and saving playlists to external files
-> Changed handling of Now Playing Artwork
-> *new* Added Album mode
-> Running fruitbox with no arguments shows help (no longer expects default fruitbox.cfg)
Details:
Added new configuration parameters:
-> NowPlayingArtworkMode (None, Auto, Embedded, Specified, Folder, Logo)
-> AlbumPageArtworkMode (None, Auto, Specified, Folder, Logo)
-> NowPlayingMissingArtwork
-> AlbumPageMissingArtwork
-> PageMode (Singles, Albums)
-> AlbumArtSize
-> AlbumArtOffset
-> AlbumArtAngle
-> AlbumPageLineSpacing
Removed configuration parameter:
-> MissingArtwork
Added new SortSongsBy configuration parameter value:
-> Album
Added new command line options
-> --load-playlist <file>
-> --save-playlist <file>
Added new status variables
-> $IF_PAGE_MOVING
-> $IF_NOT_PAGE_MOVING
Behaviour changes
-> joystick image stays on left / right hand edge when pages move rather than switching to opposite side
-> Bug fix : prevent audio artwork load thread hang when trying to extract non-existent MP3 APIC tag picture data.
-> Bug fix : fixed incorrect positioning for rotated objects
-> Bug fix : fixed page animation draw for non-integer page size / speed ratios
-> Bug fix : different page backgrounds now work
-> Bug fix : prevent crash when database loading MP3 songs with audio rate of zero
Added new "Granite" example album skin
-----------------------------------
v1.0
-----------------------------------
Initial release