24 int m = strlen(needle);
25 for(
int i=0;
i<
n;
i++) {
27 for(
int j=0;
j<
m; ++
j) {
28 if(toupper(hay[
i+
j]) != toupper(needle[
j])) {
41bool sfind(std::string hay, std::string needle)
62 return (this->
bank+this->
file) < (
b.bank+
b.file);
70 if(isspace(
c) && !
ss.empty()) {
73 }
else if(!isspace(
c)) {
104 vec.push_back(field);
107 std::sort(vec.begin(), vec.end());
119 banks.push_back(bnk);
130 char name[512] = {0};
132 "/.zynaddsubfx-bank-cache.xml");
144 for(
auto node:nodes) {
146#define bind(x,y) if(node.has(#x)) {be.x = y(node[#x].c_str());}
150 bind(comments,
string);
151 bind(author,
string);
169 for(
auto value:vec) {
170 XmlNode binding(
"instrument-entry");
171#define bind(x) binding[#x] = to_s(value.x);
196 cc[
c.bank +
c.file] =
c;
201 DIR *dir = opendir(bank.c_str());
209 while((
fn = readdir(dir))) {
218 ncache.push_back(xiz);
228 std::string bank,
bmap &cache)
const
238 int ret = lstat(fname.c_str(), &st);
240 time = st.st_mtim.tv_sec;
248 if(cache.find(fname) != cache.end() &&
249 cache[fname].time ==
time)
256 unsigned int startname = 0;
258 for(
unsigned int i = 0;
i < 4; ++
i) {
268 if(startname + 1 <
filename.length())
274 for(
int i =
name.size() - 1;
i >= 2;
i--) {
289 entry.
name =
name.substr(startname);
293 const char *types[] = {
296 "Chromatic Percussion",
323 xml.
getparstr(
"comments", comments, 1024);
#define NUM_KIT_ITEMS
Definition globals.h:135
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
std::vector< std::string > svec
Definition BankDb.h:32
bvec fields
Definition BankDb.h:55
void addBankDir(std::string)
Definition BankDb.cpp:112
void scanBanks(void)
Definition BankDb.cpp:190
bvec search(std::string) const
Definition BankDb.cpp:95
svec banks
Definition BankDb.h:56
std::map< std::string, BankEntry > bmap
Definition BankDb.h:34
std::vector< BankEntry > bvec
Definition BankDb.h:33
BankEntry processXiz(std::string, std::string, bmap &) const
Definition BankDb.cpp:227
void clear(void)
Definition BankDb.cpp:122
Definition XMLwrapper.h:47
int getpar(const std::string &name, int defaultpar, int min, int max) const
Definition XMLwrapper.cpp:467
std::vector< XmlNode > getBranch(void) const
Definition XMLwrapper.cpp:682
void endbranch()
Definition XMLwrapper.cpp:291
void exitbranch()
Definition XMLwrapper.cpp:441
void getparstr(const std::string &name, char *par, int maxstrlen) const
int saveXMLfile(const std::string &filename, int compression) const
Definition XMLwrapper.cpp:190
int loadXMLfile(const std::string &filename)
Definition XMLwrapper.cpp:312
void beginbranch(const std::string &name)
int getparbool(const std::string &name, int defaultpar) const
Definition XMLwrapper.cpp:499
void add(const XmlNode &node)
Definition XMLwrapper.cpp:674
int enterbranch(const std::string &name)
Definition XMLwrapper.h:35
unsigned * m
Definition inflate.c:1559
register unsigned j
Definition inflate.c:1576
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
static char filename[]
Definition features.c:5
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
Definition zynaddsubfx-src.cpp:569
static bvec loadCache(void)
Definition BankDb.cpp:136
static const char * INSTRUMENT_EXTENSION
Definition Bank.cpp:41
static void saveCache(bvec vec)
Definition BankDb.cpp:165
const AbsTime * time
Definition PADnoteParameters.h:189
static std::string getCacheName(void)
Definition BankDb.cpp:128
static svec split(string s)
Definition BankDb.cpp:65
bool platform_strcasestr(const char *hay, const char *needle)
Definition BankDb.cpp:21
BankDb::bvec bvec
Definition BankDb.cpp:15
BankDb::svec svec
Definition BankDb.cpp:14
bool sfind(std::string hay, std::string needle)
Definition BankDb.cpp:41
#define false
Definition ordinals.h:83
std::string name
Definition BankDb.h:13
bool add
Definition BankDb.h:18
bool pad
Definition BankDb.h:19
bool sub
Definition BankDb.h:20
int time
Definition BankDb.h:21
std::string type
Definition BankDb.h:16
std::string bank
Definition BankDb.h:12
std::string file
Definition BankDb.h:11
BankEntry(void)
Definition BankDb.cpp:17
bool operator<(const BankEntry &b) const
Definition BankDb.cpp:60
bool match(std::string) const
Definition BankDb.cpp:48
int id
Definition BankDb.h:17
std::string author
Definition BankDb.h:15
std::string comments
Definition BankDb.h:14
const char const char const char const char char * fn
Definition swell-functions.h:168
int n
Definition crypt.c:458
return c
Definition crypt.c:175
int match(string, pattern, ignore_case __WDL) ZCONST char *string
#define dirent
Definition unix.c:70
closedir((DIR *) G.wild_dir)
struct zdirent * file
Definition win32.c:1500
ss
Definition zipinfo.c:2292