87 lines
2.9 KiB
C
87 lines
2.9 KiB
C
#ifndef NULLSOFT_ML_PLG_MAIN_H
|
|
#define NULLSOFT_ML_PLG_MAIN_H
|
|
#include <windows.h>
|
|
#include "playlist.h"
|
|
#include "../../General/gen_ml/ml.h"
|
|
#include "IDScanner.h"
|
|
#include "api__ml_plg.h"
|
|
#include "../winamp/wa_ipc.h"
|
|
#include "../Agave/Language/api_language.h"
|
|
#include "../nu/threadpool/api_threadpool.h"
|
|
#include <api/service/waservicefactory.h>
|
|
#include "impl_playlist.h"
|
|
|
|
#define DEFAULT_ML_QUERY "playcount = \"0\" OR lastplay < [1 month ago] AND rating != \"1\" AND rating != \"2\""
|
|
#define MAX_ML_QUERY_SIZE 8192
|
|
#define MAX_TITLE_SIZE 512
|
|
|
|
extern winampMediaLibraryPlugin plugin;
|
|
|
|
//extern int plLength;
|
|
extern int plItems;
|
|
extern int plMinutes;
|
|
extern int plMegabytes;
|
|
extern int plLengthType;
|
|
extern int multipleArtists;
|
|
extern int multipleAlbums;
|
|
extern int useSeed;
|
|
|
|
extern int useMLQuery;
|
|
//extern wchar_t *customMLQuery;
|
|
extern wchar_t mlQuery[];
|
|
extern Playlist seedPlaylist;
|
|
extern bool isGenerating;
|
|
|
|
extern IDScanner scanner;
|
|
|
|
extern ThreadID *plg_thread;
|
|
extern bool reset_db_flag;
|
|
extern bool run_full_scan_flag;
|
|
extern volatile bool run_pass2_flag;
|
|
|
|
extern HWND hwndDlgCurrent;
|
|
|
|
INT_PTR CALLBACK PrefsProcedure(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK GenerateProcedure(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK ViewProcedure(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK BGScanProcedure(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR CALLBACK AddPlaylistDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
// util.cpp
|
|
int GetFileInfo(const wchar_t *filename, wchar_t *metadata, wchar_t *dest, int len);
|
|
int updateFileInfo(const wchar_t *filename, wchar_t *metadata, wchar_t *data);
|
|
void WriteFileInfo(const wchar_t *filename);
|
|
|
|
void Pass1(int *killswitch);
|
|
void Pass2(int *killswitch);
|
|
|
|
bool StartScan();
|
|
void StopScan();
|
|
|
|
int ShutdownScanner(HANDLE handle, void *user_data, intptr_t id);
|
|
int ResetDBOnThread(bool silent); // Goes onto the plg dedicated thread when called
|
|
int ResetDB(bool silent); // For calling functions that are already on the plg dedicated thread
|
|
int NukeDB(void); // For nuking the DB old skool (deleting all the files by force)
|
|
|
|
|
|
// ml_plg.cpp
|
|
//void SongSelected(const wchar_t * fn, HWND parent);
|
|
void MultipleInstancesWarning(void);
|
|
HWND SongsSelected(void);
|
|
void WriteSettingsToIni(HWND hwndDlg);
|
|
|
|
// Dialog manipulation methods
|
|
// prefs.cpp & generate.cpp
|
|
void ShowErrorDlg(HWND parent);
|
|
void SetPlLengthTypeComboToItems(HWND hwndDlg, int value);
|
|
void SetPlLengthTypeComboToMinutes(HWND hwndDlg, int value);
|
|
void SetPlLengthTypeComboToMegabytes(HWND hwndDlg, int value);
|
|
int SetRadioControlsState(HWND hwndDlg);
|
|
void BoldStatusText(HWND hwndDlg);
|
|
void PopulateResults(Playlist *playlist);
|
|
void CantPopulateResults(void);
|
|
void SetMarqueeProgress(bool isMarquee);
|
|
void SetButtonsEnabledState(bool enabled_flag);
|
|
BOOL windowOffScreen(HWND hwnd, POINT pt);
|
|
|
|
#endif |