Made slights adjustement to the parser to correctly parse the artist song tag when the album tag is present
This commit is contained in:
parent
faefc7df74
commit
677c3f3a67
@ -1107,11 +1107,15 @@ gadget_bridge_parser_code_e gadget_bridge_parser_run(void)
|
||||
else to_return = GADGET_BRIDGE_PARSER_CODE_OK;
|
||||
break;
|
||||
case GADGET_BRIDGE_PARSER_FSM_FOUND_MUSICINFO:
|
||||
if((start = strstr(_gadget_bridge_internals.buffer, "artist:"))
|
||||
&& (end = strstr(_gadget_bridge_internals.buffer, ",track")))
|
||||
if((start = strstr(_gadget_bridge_internals.buffer, "artist:")) &&
|
||||
(end = strstr(_gadget_bridge_internals.buffer, ",track")))
|
||||
{
|
||||
end2 = strstr(_gadget_bridge_internals.buffer, ",album");
|
||||
printf("###Found TRACK\n");
|
||||
_parser_extract_char_str(start + 8, end - 1, &_gadget_bridge_internals.event_data.music_info.artist);
|
||||
if(end2 != NULL && end2 < end)
|
||||
_parser_extract_char_str(start + 8, end2 - 1, &_gadget_bridge_internals.event_data.music_info.artist);
|
||||
else
|
||||
_parser_extract_char_str(start + 8, end - 1, &_gadget_bridge_internals.event_data.music_info.artist);
|
||||
|
||||
// We remove the parsed part from the buffer
|
||||
end += 1;
|
||||
@ -1235,6 +1239,7 @@ const char *gadget_bridge_notification_type_2_str(gadget_bridge_notification_typ
|
||||
{
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_NOTIFICATION_TYPE_SMS)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_NOTIFICATION_TYPE_EMAIL)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_NOTIFICATION_TYPE_WHATSAPP)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_NOTIFICATION_TYPE_GADGET_BRIDGE)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_NOTIFICATION_TYPE_UNKNOWN)
|
||||
default:
|
||||
@ -1248,6 +1253,7 @@ const char *gadget_bridge_music_state_2_str(gadget_bridge_music_state_e music_st
|
||||
{
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_MUSIC_STATE_PAUSE)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_MUSIC_STATE_PLAY)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_MUSIC_STATE_STOP)
|
||||
CASE_RETURN_STR(GADGET_BRIDGE_MUSIC_STATE_UNKNOWN)
|
||||
default:
|
||||
return "Unknown music state";
|
||||
@ -1407,11 +1413,13 @@ static void _parser_extract_tel(char *start, char *end)
|
||||
static void _parser_extract_src(char *start, char *end)
|
||||
{
|
||||
*end = '\0';
|
||||
if(strcmp(start, "Messages") == 0)
|
||||
if(strcasecmp(start, "Messages") == 0)
|
||||
_gadget_bridge_internals.event_data.notification.notification_type = GADGET_BRIDGE_NOTIFICATION_TYPE_SMS;
|
||||
else if(strcmp(start, "E-mail") == 0)
|
||||
else if(strcasecmp(start, "E-mail") == 0)
|
||||
_gadget_bridge_internals.event_data.notification.notification_type = GADGET_BRIDGE_NOTIFICATION_TYPE_EMAIL;
|
||||
else if(strcmp(start, "Gadgetbridge") == 0)
|
||||
else if(strcasecmp(start, "WhatsApp") == 0)
|
||||
_gadget_bridge_internals.event_data.notification.notification_type = GADGET_BRIDGE_NOTIFICATION_TYPE_WHATSAPP;
|
||||
else if(strcasecmp(start, "Gadgetbridge") == 0)
|
||||
_gadget_bridge_internals.event_data.notification.notification_type = GADGET_BRIDGE_NOTIFICATION_TYPE_GADGET_BRIDGE;
|
||||
else
|
||||
_gadget_bridge_internals.event_data.notification.notification_type = GADGET_BRIDGE_NOTIFICATION_TYPE_UNKNOWN;
|
||||
@ -1449,6 +1457,8 @@ static void _parser_extract_state(char *start, char *end)
|
||||
_gadget_bridge_internals.event_data.music_state.music_state = GADGET_BRIDGE_MUSIC_STATE_PLAY;
|
||||
else if(strcmp(start, "pause") == 0)
|
||||
_gadget_bridge_internals.event_data.music_state.music_state = GADGET_BRIDGE_MUSIC_STATE_PAUSE;
|
||||
else if(strcmp(start, "stop") == 0)
|
||||
_gadget_bridge_internals.event_data.music_state.music_state = GADGET_BRIDGE_MUSIC_STATE_STOP;
|
||||
else
|
||||
_gadget_bridge_internals.event_data.music_state.music_state = GADGET_BRIDGE_MUSIC_STATE_UNKNOWN;
|
||||
|
||||
|
@ -130,6 +130,7 @@ typedef enum gadget_bridge_notification_type
|
||||
{
|
||||
GADGET_BRIDGE_NOTIFICATION_TYPE_SMS = 0,
|
||||
GADGET_BRIDGE_NOTIFICATION_TYPE_EMAIL,
|
||||
GADGET_BRIDGE_NOTIFICATION_TYPE_WHATSAPP,
|
||||
GADGET_BRIDGE_NOTIFICATION_TYPE_GADGET_BRIDGE,
|
||||
GADGET_BRIDGE_NOTIFICATION_TYPE_UNKNOWN,
|
||||
} gadget_bridge_notification_type_e;
|
||||
@ -138,6 +139,7 @@ typedef enum
|
||||
{
|
||||
GADGET_BRIDGE_MUSIC_STATE_PAUSE = 0,
|
||||
GADGET_BRIDGE_MUSIC_STATE_PLAY,
|
||||
GADGET_BRIDGE_MUSIC_STATE_STOP,
|
||||
GADGET_BRIDGE_MUSIC_STATE_UNKNOWN,
|
||||
} gadget_bridge_music_state_e;
|
||||
|
||||
|
@ -16,18 +16,18 @@
|
||||
<stdbool.h>
|
||||
<time.h>
|
||||
|
||||
1681114227 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.c
|
||||
1684074204 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.c
|
||||
"gadget_bridge.h"
|
||||
<stdio.h>
|
||||
<stdlib.h>
|
||||
<string.h>
|
||||
|
||||
1681150637 d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.h
|
||||
1684074112 d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\gadget_bridge.h
|
||||
<stdint.h>
|
||||
<stdbool.h>
|
||||
<time.h>
|
||||
|
||||
1681114227 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\main.c
|
||||
1684074076 source:d:\users\think\programmation\arduino\git_projects\w800_smart_watch\src\gadget_bridge_parser\main.c
|
||||
<stdio.h>
|
||||
<stdlib.h>
|
||||
<string.h>
|
||||
|
@ -2,19 +2,19 @@
|
||||
<CodeBlocks_layout_file>
|
||||
<FileVersion major="1" minor="0" />
|
||||
<ActiveTarget name="Debug" />
|
||||
<File name="gadget_bridge.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="main.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="1906" topLine="64" />
|
||||
<Cursor1 position="11119" topLine="337" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="main.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="gadget_bridge.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="9858" topLine="284" />
|
||||
<Cursor1 position="61086" topLine="1211" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="gadget_bridge.c" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<File name="gadget_bridge.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="252" topLine="0" />
|
||||
<Cursor1 position="4063" topLine="120" />
|
||||
</Cursor>
|
||||
</File>
|
||||
</CodeBlocks_layout_file>
|
||||
|
@ -278,6 +278,20 @@ const char *sample[] =
|
||||
"deo with subtitles)\"",
|
||||
",dur:219,c:-1,n:-1})",
|
||||
|
||||
"[16]GB({t:\"musicinfo\",a",
|
||||
"rtist:\"Inna\",album:\"",
|
||||
",track:\"Sun Is Up\",",
|
||||
"dur:185,c:-1,n:0})",
|
||||
|
||||
"[16]GB({t:\"musicinfo\",a",
|
||||
"rtist:\"The Fat ",
|
||||
"Rat\",track:\"The cal",
|
||||
"ling by laur",
|
||||
"a brem) [Gabry Ponte Ice P",
|
||||
"op Mix] (Original Vi",
|
||||
"deo with subtitles)\"",
|
||||
",dur:219,c:-1,n:-1})",
|
||||
|
||||
"[16]GB({t:\"notify\",i",
|
||||
"d:1680859061,body:\"tes",
|
||||
"t hehe test\",sender:\"",
|
||||
@ -316,6 +330,23 @@ const char *sample[] =
|
||||
"sender :\"This is a test",
|
||||
"payload \",tel:\"This is",
|
||||
" a test payload \"})[10]",
|
||||
|
||||
"[16]GB({t:\"notify\",id:1",
|
||||
"684049367,src:\"Whats",
|
||||
"App\",title:\"Backyard",
|
||||
" ⸮: ~?PIERRE EMMANUE",
|
||||
"L DUCHET\",body:\"F⸮li",
|
||||
"citations ⸮ Adrien q",
|
||||
"ui vient de finir no",
|
||||
"n pas son Ultra comm",
|
||||
"e annonc⸮ (annul⸮) m",
|
||||
"ais un 92 km 2000d+ ",
|
||||
"en terminant premier",
|
||||
" ex aequo en 7h59!!\\",
|
||||
"nUn concurrent s⸮rie",
|
||||
"ux pour la backyard ",
|
||||
"!\nEncore bravo :cla",
|
||||
"p::+1:\"})[10]",
|
||||
};
|
||||
|
||||
int main()
|
||||
|
Loading…
Reference in New Issue
Block a user