add oversampler

This commit is contained in:
2024-05-24 13:28:31 +02:00
parent e4a4a661a0
commit 989dba5a6b
484 changed files with 313937 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
// used by plug-ins to access imported localization
// usage, in one file:
// #define LOCALIZE_IMPORT_PREFIX "midi_" (should be the directory name with _)
// #include "localize-import.h"
// #include "localize.h"
// import function pointers in initialization
//
// other files can simply import localize.h as normal
// note that if the module might be unloaded, LOCALIZE_FLAG_NOCACHE is essential!
//
#ifdef _WDL_LOCALIZE_H_
#error you must include localize-import.h before localize.h, sorry
#endif
#include <stdio.h>
#include "../wdltypes.h"
// caller must import these 4 function pointers from the running app
static const char *(*importedLocalizeFunc)(const char *str, const char *subctx, int flags);
static void (*importedLocalizeMenu)(const char *rescat, HMENU hMenu, LPCSTR lpMenuName);
static DLGPROC (*importedLocalizePrepareDialog)(const char *rescat, HINSTANCE hInstance, const char *lpTemplate, DLGPROC dlgProc, LPARAM lPAram, void **ptrs, int nptrs);
static void (*importedLocalizeInitializeDialog)(HWND hwnd, const char *d);
const char *__localizeFunc(const char *str, const char *subctx, int flags)
{
if (WDL_NORMALLY(importedLocalizeFunc)) return importedLocalizeFunc(str,subctx,flags);
return str;
}
HMENU __localizeLoadMenu(HINSTANCE hInstance, const char *lpMenuName)
{
HMENU menu = LoadMenu(hInstance,lpMenuName);
if (menu && WDL_NORMALLY(importedLocalizeMenu)) importedLocalizeMenu(LOCALIZE_IMPORT_PREFIX,menu,lpMenuName);
return menu;
}
HWND __localizeDialog(HINSTANCE hInstance, const char *lpTemplate, HWND hwndParent, DLGPROC dlgProc, LPARAM lParam, int mode)
{
void *p[5];
char tmp[256];
if (mode == 1)
{
sprintf(tmp,"%.100s%d",LOCALIZE_IMPORT_PREFIX,(int)(INT_PTR)lpTemplate);
p[4] = tmp;
}
else
p[4] = NULL;
if (WDL_NORMALLY(importedLocalizePrepareDialog))
{
DLGPROC newDlg = importedLocalizePrepareDialog(LOCALIZE_IMPORT_PREFIX,hInstance,lpTemplate,dlgProc,lParam,p,sizeof(p)/sizeof(p[0]));
if (newDlg)
{
dlgProc = newDlg;
lParam = (LPARAM)(INT_PTR)p;
}
}
switch (mode)
{
case 0: return CreateDialogParam(hInstance,lpTemplate,hwndParent,dlgProc,lParam);
case 1: return (HWND) (INT_PTR)DialogBoxParam(hInstance,lpTemplate,hwndParent,dlgProc,lParam);
}
return 0;
}
void __localizeInitializeDialog(HWND hwnd, const char *d)
{
if (WDL_NORMALLY(importedLocalizeInitializeDialog)) importedLocalizeInitializeDialog(hwnd,d);
}
static WDL_STATICFUNC_UNUSED void localizeKbdSection(KbdSectionInfo *sec, const char *nm)
{
if (WDL_NORMALLY(importedLocalizeFunc))
{
int x;
if (sec->action_list) for (x=0;x<sec->action_list_cnt; x++)
{
KbdCmd *p = &sec->action_list[x];
if (p->text) p->text = __localizeFunc(p->text,nm,2/*LOCALIZE_FLAG_NOCACHE*/);
}
}
}