Mercurial > wgsdk
comparison src/main.c @ 4:59bf702b2b21
*: stylistic changes
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Sun, 14 Aug 2022 13:17:32 -0400 |
| parents | 712c7fd6702a |
| children | be4835547dd0 |
comparison
equal
deleted
inserted
replaced
| 3:8df8af626dca | 4:59bf702b2b21 |
|---|---|
| 30 }; | 30 }; |
| 31 | 31 |
| 32 WNDPROC g_lpWndProcOld = 0; | 32 WNDPROC g_lpWndProcOld = 0; |
| 33 | 33 |
| 34 struct timer_t timer_callbacks = { .interval = 16 }; | 34 struct timer_t timer_callbacks = { .interval = 16 }; |
| 35 struct config_t config = { | 35 struct config config = { |
| 36 .display_title = 1, | 36 .display_title = 1, |
| 37 .show_elapsed_time = 1 | 37 .show_elapsed_time = 1 |
| 38 }; | 38 }; |
| 39 | 39 |
| 40 struct DiscordActivity activity = { | 40 struct DiscordActivity activity = { |
| 69 activity.timestamps.start = dtn - SendMessage(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_GETOUTPUTTIME) / 1000; | 69 activity.timestamps.start = dtn - SendMessage(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_GETOUTPUTTIME) / 1000; |
| 70 } else { | 70 } else { |
| 71 activity.timestamps.start = 0; | 71 activity.timestamps.start = 0; |
| 72 } | 72 } |
| 73 | 73 |
| 74 char* detailsMessage = calloc(256, sizeof(char)); | 74 char* details_message = calloc(256, sizeof(char)); |
| 75 if (config.display_title) { | 75 if (config.display_title) { |
| 76 wchar_t* title = (wchar_t*)SendMessageW(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_GET_PLAYING_TITLE); | 76 wchar_t* title = (wchar_t*)SendMessageW(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_GET_PLAYING_TITLE); |
| 77 assert(WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, title, -1, detailsMessage, 256, NULL, NULL)); | 77 assert(WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, title, -1, details_message, 256, NULL, NULL)); |
| 78 } else { | 78 free(title); |
| 79 strcpy(activity.details, ""); | |
| 80 } | 79 } |
| 81 strcpy(activity.details, detailsMessage); | 80 strcpy(activity.details, details_message); |
| 82 free(detailsMessage); | 81 free(details_message); |
| 83 | 82 |
| 84 app.activities->update_activity(app.activities, &activity, &app, update_activity_callback); | 83 app.activities->update_activity(app.activities, &activity, &app, update_activity_callback); |
| 85 } | 84 } |
| 86 | 85 |
| 87 void report_idle_status(void) | 86 void report_idle_status(void) |
| 95 void update_rich_presence_details(void) | 94 void update_rich_presence_details(void) |
| 96 { | 95 { |
| 97 LONG isPlayingResult = SendMessageW(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_ISPLAYING); | 96 LONG isPlayingResult = SendMessageW(g_plugin.hwndParent, WM_WA_IPC, 0, IPC_ISPLAYING); |
| 98 | 97 |
| 99 switch (isPlayingResult) { | 98 switch (isPlayingResult) { |
| 100 case 1: | |
| 101 report_current_song_status(1); | |
| 102 break; | |
| 103 case 3: | |
| 104 report_current_song_status(3); | |
| 105 break; | |
| 106 case 0: | 99 case 0: |
| 107 report_idle_status(); | 100 report_idle_status(); |
| 108 break; | 101 break; |
| 109 default: break; | 102 case 1: |
| 103 case 3: | |
| 104 report_current_song_status(isPlayingResult); | |
| 105 default: | |
| 106 break; | |
| 110 } | 107 } |
| 111 } | 108 } |
| 112 | 109 |
| 113 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) | 110 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) |
| 114 { | 111 { |
| 162 void CALLBACK TimerProc(HWND, UINT, UINT_PTR, DWORD) { | 159 void CALLBACK TimerProc(HWND, UINT, UINT_PTR, DWORD) { |
| 163 DISCORD_REQUIRE(app.core->run_callbacks(app.core)); | 160 DISCORD_REQUIRE(app.core->run_callbacks(app.core)); |
| 164 } | 161 } |
| 165 | 162 |
| 166 void conf() { | 163 void conf() { |
| 167 DialogBoxW(g_plugin.hDllInstance, (LPWSTR)DIALOG_CONFIG, g_plugin.hwndParent, &cfg_win_proc); | 164 DialogBoxW(g_plugin.hDllInstance, (LPWSTR)DIALOG_CONFIG, g_plugin.hwndParent, (DLGPROC)cfg_win_proc); |
| 168 } | 165 } |
| 169 | 166 |
| 170 __declspec(dllexport) winamp_general_purpose_plugin* winampGetGeneralPurposePlugin() { | 167 __declspec(dllexport) winamp_general_purpose_plugin* winampGetGeneralPurposePlugin() { |
| 171 return &g_plugin; | 168 return &g_plugin; |
| 172 } | 169 } |
