/*
 * Manufacturer IDs
 *
 * For the current list see:
 *     http://www.midi.org/about-mma/mfr_id.shtml
 *
 * These consist of one byte IDs (Japanese)
 *
 * The next two groups are three byte IDs, which are actually two bytes,
 * since the first byte is always 0x00.
 *
 * Lookup with the subroutine manufacturer_descr()
 *
 */

typedef struct
{
	int id;
	char* descr;
} manufact_id;

manufact_id m_id[196] = {
	/*
	 * 1 byte ID (Japanese group)
	 */
	{0x40, "Kawai"},
	{0x41, "Roland"},
	{0x42, "Korg"},
	{0x43, "Yamaha"},
	{0x44, "Casio"},
	{0x46, "Kamiya Studio"},
	{0x47, "Akai"},
	{0x48, "Victor Co"},
	{0x4B, "Fujitsu"},
	{0x4C, "Sony"},
	{0x4E, "Teac"},
	{0x50, "Matsushita Electric"},
	{0x51, "Fostex Corp"},
	{0x52, "Zoom Corp"},
	{0x54, "Matsushita Comm"},
	{0x55, "Suzuki Music"},
	{0x56, "Fuji Sound"},
	{0x57, "Acoustic Technical Lab"},
	{0x59, "Faith Inc"},
	{0x5A, "Internet Corp"},
	{0x5C, "Seekers Co. Ltd."},
	{0x5F, "SD Card Association"},
	/*
	 * 3 byte ID (North American Group)
	 */
	{0x0074, "Ta Horng Musical Instrument"},
	{0x0075, "e-Tek Labs (Forte Tech)"},
	{0x0076, "Electro-Voice"},
	{0x0077, "Midisoft Corporation"},
	{0x0078, "Q-Sound Labs"},
	{0x0079, "Westrex"},
	{0x007A, "Nvidia*"},
	{0x007B, "ESS Technology"},
	{0x007C, "MediaTrix Peripherals"},
	{0x007D, "Brooktree Corp"},
	{0x007E, "Otari Corp"},
	{0x007F, "Key Electronics, Inc."},
	{0x0100, "Shure Incorporated"},
	{0x0101, "AuraSound"},
	{0x0102, "Crystal Semiconductor"},
	{0x0103, "Conexant (Rockwell)"},
	{0x0104, "Silicon Graphics"},
	{0x0105, "M-Audio"},
	{0x0106, "PreSonus"},
	{0x0108, "Topaz Enterprises"},
	{0x0109, "Cast Lighting"},
	{0x010A, "Microsoft Consumer Division"},
	{0x010B, "Sonic Foundry"},
	{0x010C, "Line 6 (Fast Forward)"},
	{0x010D, "Beatnik Inc"},
	{0x010E, "Van Koevering Company"},
	{0x010F, "Altech Systems"},
	{0x0110, "S & S Research "},
	{0x0111, "VLSI Technology"},
	{0x0112, "Chromatic Research"},
	{0x0113, "Sapphire"},
	{0x0114, "IDRC"},
	{0x0115, "Justonic Tuning"},
	{0x0116, "TorComp Research Inc"},
	{0x0117, "Newtek Inc"},
	{0x0118, "Sound Sculpture"},
	{0x0119, "Walker Technical"},
	{0x011A, "Digital Harmony (PAVO)"},
	{0x011B, "InVision Interactive"},
	{0x011C, "T-Square Design"},
	{0x011D, "Nemesys Music Technology"},
	{0x011E, "DBX Professional (Harman Intl)"},
	{0x011F, "Syndyne Corporation"},
	{0x0120, "Bitheadz"},
	{0x0121, "Cakewalk Music Software"},
	{0x0122, "Staccato Systems"},
	{0x0123, "National Semiconductor"},
	{0x0124, "Boom Theory / Adinolfi Alt Percussion"},
	{0x0125, "Virtual DSP Corporation"},
	{0x0126, "Antares Systems"},
	{0x0127, "Angel Software"},
	{0x0128, "St Louis Music"},
	{0x0129, "Lyrrus dba G-VOX"},
	{0x012A, "Ashley Audio Inc"},
	{0x012B, "Vari-Lite Inc"},
	{0x012C, "Summit Audio Inc"},
	{0x012D, "Aureal Semiconductor Inc"},
	{0x012E, "SeaSound LLC"},
	{0x012F, "U. S. Robotics"},
	{0x0130, "Aurisis Research"},
	{0x0131, "Nearfield Multimedia"},
	{0x0132, "FM7 Inc"},
	{0x0133, "Swivel Systems"},
	{0x0134, "Hyperactive Audio Systems"},
	{0x0135, "MidiLite (Castle Studios Productions)"},
	{0x0136, "Radikal Technologies"},
	{0x0137, "Roger Linn Design"},
	{0x0138, "Helicon Vocal Technologies"},
	{0x0139, "Event Electronics"},
	{0x013A, "Sonic Network Inc"},
	{0x013B, "Realtime Music Solutions"},
	{0x013C, "Apogee Digital"},
	{0x013D, "Classical Organs, Inc."},
	{0x013E, "Microtools Inc"},
	{0x013F, "Numark Industries"},
	{0x0140, "Frontier Design Group LLC"},
	{0x0141, "Recordare LLC"},
	{0x0142, "Starr Labs"},
	{0x0143, "Voyager Sound Inc"},
	{0x0144, "Manifold Labs"},
	{0x0145, "Aviom Inc"},
	{0x0146, "Mixmeister Technology"},
	{0x0147, "Notation Software"},
	{0x0148, "Mercurial Communications"},
	{0x0149, "Wave Arts"},
	{0x014A, "Logic Sequencing Devices"},
	{0x014B, "Axess Electronics"},
	{0x014C, "Muse Research"},
	{0x014D, "Open Labs"},
	{0x014E, "Guillemot R&D Inc"},
	{0x014F, "Samson Technologies"},
	{0x0150, "Electronic Theatre Controls"},
	{0x0151, "Research In Motion"},
	{0x0152, "Mobileer"},
	{0x0153, "Synthogy"},
	{0x0154, "Lynx Studio Technology Inc"},
	{0x0155, "Damage Control Engineering LLC"},
	{0x0156, "Yost Engineering, Inc."},
	{0x0157, "Brooks & Forsman Designs LLC"},
	{0x0158, "Infinite Response"},
	{0x0159, "Garritan Corp"},
	{0x015A, "Plogue Art et Technologie, Inc"},
	{0x015B, "RJM Music Technology"},
	{0x015C, "Custom Solutions Software"},
	{0x015D, "Sonarcana LLC"},
	{0x015E, "Centrance"},
	/*
	 * 3 byte ID (European Group)
	 */
	{0x202B, "Medeli Electronics Co"},
	{0x202C, "Charlie Lab SRL"},
	{0x202D, "Blue Chip Music Technology"},
	{0x202E, "BEE OH Corp"},
	{0x202F, "LG Semicon America"},
	{0x2030, "TESI"},
	{0x2031, "EMAGIC"},
	{0x2032, "Behringer GmbH"},
	{0x2033, "Access Music Electronics"},
	{0x2034, "Synoptic"},
	{0x2035, "Hanmesoft Corp"},
	{0x2036, "Terratec Electronic GmbH"},
	{0x2037, "Proel SpA"},
	{0x2038, "IBK MIDI"},
	{0x2039, "IRCAM"},
	{0x203A, "Propellerhead Software"},
	{0x203B, "Red Sound Systems Ltd"},
	{0x203C, "Elektron ESI AB"},
	{0x203D, "Sintefex Audio"},
	{0x203E, "MAM (Music and More)"},
	{0x203F, "Amsaro GmbH"},
	{0x2040, "CDS Advanced Technology BV"},
	{0x2041, "Touched By Sound GmbH"},
	{0x2042, "DSP Arts"},
	{0x2043, "Phil Rees Music Tech"},
	{0x2044, "Stamer Musikanlagen GmbH"},
	{0x2045, "Soundart (Musical Muntaner)"},
	{0x2046, "C-Mexx Software"},
	{0x2047, "Klavis Technologies"},
	{0x2048, "Noteheads AB"},
	{0x2049, "Algorithmix"},
	{0x204A, "Skrydstrup R&D"},
	{0x204B, "Professional Audio Company"},
	{0x204C, "DBTECH/MadWaves"},
	{0x204D, "Vermona"},
	{0x204E, "Nokia"},
	{0x204F, "Wave Idea"},
	{0x2050, "Hartmann GmbH"},
	{0x2051, "Lion's Tracs"},
	{0x2052, "Analogue Systems"},
	{0x2053, "Focal-JMlab"},
	{0x2054, "Ringway Electronics (Chang-Zhou) Co Ltd"},
	{0x2055, "Faith Technologies (Digiplug)"},
	{0x2056, "Showworks"},
	{0x2057, "Manikin Electronic"},
	{0x2058, "1 Come Tech"},
	{0x2059, "Phonic Corp"},
	{0x205A, "Lake Technology"},
	{0x205B, "Silansys Technologies"},
	{0x205C, "Winbond Electronics"},
	{0x205D, "Cinetix Medien und Interface GmbH"},
	{0x205E, "A&G Soluzioni Digitali"},
	{0x205F, "Sequentix Music Systems"},
	{0x2060, "Oram Pro Audio"},
	{0x2061, "Be4 Ltd"},
	{0x2062, "Infection Music"},
	{0x2063, "Central Music Co. (CME)"},
	{0x2064, "GenoQs Machines"},
	{0x2065, "Medialon"},
	{0x2066, "Waves Audio Ltd"},
	{0x2067, "Jerash Labs"},
	{0x2068, "Da Fact"},
	{0x2069, "Elby Designs"},
	{0x206A, "Spectral Audio"},
	{0x206B, "Arturia"},
	{0x206C, "Vixid"},
	{0x206D, "C-Thru Music"},
	/*
	 * 3 Byte Japanese Group
	 */
	{0x4000, "Crimson Technology Ltd."}
};

/* ------------------------------------------------------------------------ */

char *manufacturer_descr(id)
	int id;
{
	int i;
	for ( i=0; i <= sizeof(m_id); i++) {
		if ( id == m_id[i].id )
			return(m_id[i].descr);
	}
	return("Unknown");
}

