diff options
Diffstat (limited to 'Src/Plugins/Library/ml_plg/main.h')
-rw-r--r-- | Src/Plugins/Library/ml_plg/main.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Src/Plugins/Library/ml_plg/main.h b/Src/Plugins/Library/ml_plg/main.h new file mode 100644 index 00000000..6a47e5d4 --- /dev/null +++ b/Src/Plugins/Library/ml_plg/main.h @@ -0,0 +1,87 @@ +#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
\ No newline at end of file |