Maxx V6 .flp (Funlights) Editing
Thanks by apristel, cash7c3, and poetic_follyLighting notifications in the Maxx are controlled by .flp files (previously known as funlights in older Motorola phones). These files are located in your a/mobile/system directory on your Maxx, and can be accessed with P2k Commander version 4.9.3 and above. Stock .flp files can be found at
www.poeticfolly.com/maxx/a/mobile/system/. Thanks to Keiri for the Maxx backup provided there.
At the moment, Maxx .flp editing can be done via text editing only. Simply take the .flp file you would like to edit, open it in Notepad or your text editor of choice, and edit as desired. A definition of the values and structure of the .flp file follows, but first, lets define which .flp file does what. These file can all be found in a/mobile/system.
001.flp- pulse ring light style
002.flp- flicker right light style
003.flp- rhythmic ring light style
128.flp- power up sequence
138.flp- incoming message, voicemail notification, missed message alert
148.flp- Bluetooth something
149.flp- Bluetooth something
150.flp- Bluetooth something
158.flp- charging
159.flp- charge complete
bluetooth-connect.flp- nothing. perhaps can seem enable for carrier custom ring lights?
bluetooth-connected.flp - nothing. perhaps can seem enable for carrier custom ring lights?
bluetooth-disconnect.flp- nothing. perhaps can seem enable for carrier custom ring lights?
charge-complete.flp- nothing. perhaps can seem enable for carrier custom ring lights?
charging.flp- nothing. perhaps this can be seem enabled for carrier custom ring lights?
motologo-keypad-blinking.flp- not sure yet
motologo-keypad-on.flp- not sure yet
As a sidenote, all the numbered .flp files are stored in the lightingpatterns.manifest file which is also located in a/mobile/system. You can edit in extra .flp files if you know what they do. If you add 4 = /a/mobile/system/004.flp, and you have a 004.flp file in your a/mobile/system directory, then you will get a new ring style-hyperactive.
All right, lets take a look inside an .flp file.
EXAMPLE FLP FILE:
Pattern ID:1
Type:FLP
Regions:1
Version:0002
Period(4301);
Set(16,0,0xFFF,0);
Set(3,0,0xFFF,0);
Set(16,0,0x0,60);
Set(16,0,0x777,330);
Set(16,0,0x0,600);
Set(16,0,0xFFF,860);
Set(16,0,0x0,1130);
Set(16,0,0x777,1400);
Set(16,0,0x0,1660);
Set(16,0,0xFFF,1930);
Set(16,0,0x0,2200);
Set(16,0,0x777,2460);
Set(16,0,0x0,2730);
Set(16,0,0xFFF,3000);
Set(16,0,0x0,3260);
Set(6,0,0xFFF,3480);
Set(6,0,0xFFF,4300);
Now, lets define what those values are.
The first 4 values are the header, and are always the same.
Pattern ID- this should be set to 1.
Type- this should be set to FLP (FunLight.Pat).
Regions- this should be set to 1.
Version- this should be set to 0002.
Now come the options we change per .flp file.
Period- this is the total amount of milliseconds the ringlight will last, plus 1.
Set- beginning command of each line of info in the ring light.
Now, lets look within the Set lines to see what does what. Each value should be separated from the next with a comma, and no space.
1st number- light ID. Defines which light should light up. Here are the values:
0- Flash
1- LCD Backlight
2- LCD Backlight
3- Motorola symbol on exterior
5- keypad
6- Bluetooth status light on exterior
7- charge light (this only works when plugged in)
10- Music Touch Keys
11- Music Touch Keys
12- Music Touch Keys
13- Music Touch Keys
14- Music Touch Keys
15- Video Indicator
16- side lights (the long blue lights on exterior lcd)
(Some new values thanks to kimsn)
2nd number- unsure, this should be set to 0.
3rd number- defines brightness level. Here are the values:
0xFFF- bright
0x777- dim
0x0- off
4th number- cumulative # in milliseconds of when things are activated in the pattern.
This is the millsecond value for when in the routine this specific Set line activates. For instance, the first line will have a value of 0 here, and if the second value had a time value of 60, that would mean it occurs 60 milliseconds into the routine. Then the third line may say 270, which means it comes on 270 milliseconds into the routine, etc.
The Period value at the beginning of the .flp file is the last sum number plus 1. A value of 0 in the first line without referencing that specific light again in the file will make that specific light come on for the duration of the file. This can be repeated with whichever lights you would like to be on the entire time.
Each consecutive number will be a running total of the elapsed time in milliseconds. For example, in the .flp file referenced above, the second Set line (Set(3,0,0xFFF,0)
tells the Motorola symbol (light number 3) to come on the entire time. The side lights will not come on the entire time, even though they have a value of 0 as well, because they are referenced again in the file. The next lines tell the side lights to be off (0x0) for 60 milliseconds (Set(16,0,0x0,60)
, then to come on dim (0x777) for 270 milliseconds (330-60) (Set(16,0,0x777,330)
, then to be off (0x0) for 270 milliseconds (600-330) (Set(16,0,0x0,600)
, then to be on bright (0xFFF) for 260 milliseconds (860-600) (Set(16,0,0xFFF,860)
, etc.
You can also set multiple lights to blink at the same time by setting their times to be the same. for example, the following .flp file would make the side lights turn on the whole time, and the Motorola symbol and Bluetooth light blink at the same time (this is actually cash7c3's incoming message .flp file, 138.flp).
Pattern ID:1
Type:FLP
Regions:1
Version:0002
Period(3261);
Set(16,0,0xFFF,0);
Set(3,0,0xFFF,0);
Set(6,0,0xFFF,0);
Set(3,0,0x0,60);
Set(6,0,0x0,60);
Set(3,0,0x777,330);
Set(6,0,0x777,330);
Set(3,0,0x0,600);
Set(6,0,0x0,600);
Set(3,0,0xFFF,860);
Set(6,0,0xFFF,860);
Set(3,0,0x0,1130);
Set(6,0,0x0,1130);
Set(3,0,0x777,1400);
Set(6,0,0x777,1400);
Set(3,0,0x0,1660);
Set(6,0,0x0,1660);
Set(3,0,0xFFF,1930);
Set(6,0,0xFFF,1930);
Set(3,0,0x0,2200);
Set(6,0,0x0,2200);
Set(3,0,0x777,2460);
Set(6,0,0x777,2460);
Set(3,0,0x0,2730);
Set(6,0,0x0,2730);
Set(3,0,0xFFF,3000);
Set(6,0,0xFFF,3000);
Set(3,0,0x0,3260);
Set(6,0,0x0,3260);
If you'd like to download this example 138.flp file, you can here. Make sure and use your right-click, Save As function, since some browsers will just open the text file in your browser instead of saving it to your computer.
Remember, each Set line must end with a ; to separate the Set commands. The last line ends with the total amount of milliseconds, followed by the close parenthesis and then a semi-colon, like so: );. To find the Period value easily, just add 1 to this number.
Now you know how to edit your Maxx's funlight files! Adjust as desired, and save the file when done, then upload to your phone using P2k Commander and you're good!