From: terminator356 <ter...@us...> - 2009-02-02 22:31:05
|
Update of /cvsroot/lmuse/muse/synti/fluidsynth In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv7631/synti/fluidsynth Modified Files: Tag: REL07 fluidsynthgui.h fluidsynthguibase.ui fluidsynti.cpp fluidsynti.h Log Message: See ChangeLog Index: fluidsynti.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/synti/fluidsynth/fluidsynti.cpp,v retrieving revision 1.19.2.10 retrieving revision 1.19.2.11 diff -C2 -d -r1.19.2.10 -r1.19.2.11 *** fluidsynti.cpp 18 Aug 2008 00:15:27 -0000 1.19.2.10 --- fluidsynti.cpp 2 Feb 2009 21:38:02 -0000 1.19.2.11 *************** *** 16,43 **** FluidCtrl FluidSynth::fluidCtrl[] = { ! { "Gain", FS_GAIN ,0, 127}, ! { "Master reverb on/off", FS_REVERB_ON , 0, 1}, ! { "Master reverb level", FS_REVERB_LEVEL, 0, 16384 }, ! { "Master reverb size", FS_REVERB_ROOMSIZE, 0, 16384 }, // Interval: [0,1] ! { "Master reverb damping", FS_REVERB_DAMPING, 0, 16384 }, // Interval: [0,1] ! { "Master reverb width", FS_REVERB_WIDTH, 0, 16384 }, // Interval: [0,100] ! { "Master chorus on/off", FS_CHORUS_ON, 0, 1}, ! { "Master chorus num delay lines", FS_CHORUS_NUM, 0, 10 }, //Default: 3 ! { "Master chorus type", FS_CHORUS_TYPE, 0, 1 }, ! { "Master chorus speed", FS_CHORUS_SPEED, 0, 16384 }, // (0.291,5) Hz ! { "Master chorus depth", FS_CHORUS_DEPTH, 0, 16384 }, // [0,40] ! { "Master chorus level", FS_CHORUS_LEVEL, 0, 16384 }, // [0,1] ! { "Modulation", CTRL_MODULATION, 0, 127 }, ! { "Portamento time", CTRL_PORTAMENTO_TIME, 0, 127 }, ! { "Volume", CTRL_VOLUME, 0, 127 }, ! { "Pan", CTRL_PANPOT, 0, 127 }, ! { "Expression", CTRL_EXPRESSION, 0, 127 }, ! { "Sustain", CTRL_SUSTAIN, 0, 127 }, ! { "Portamento", CTRL_PORTAMENTO, 0, 127 }, ! { "Soft Pedal", CTRL_SOFT_PEDAL, 0, 127 }, ! { "Variation", CTRL_VARIATION_SEND, 0, 127 }, ! { "Channel reverb send", CTRL_REVERB_SEND, 0, 127 }, ! { "Channel chorus send", CTRL_CHORUS_SEND, 0, 127 }, ! { "Pitch", CTRL_PITCH, -8192, 8191 } }; --- 16,55 ---- FluidCtrl FluidSynth::fluidCtrl[] = { ! //{ "Expression", CTRL_EXPRESSION, 0, 127 }, ! //{ "Sustain", CTRL_SUSTAIN, 0, 127 }, ! //{ "Portamento", CTRL_PORTAMENTO, 0, 127 }, ! //{ "Soft Pedal", CTRL_SOFT_PEDAL, 0, 127 }, ! //{ "Variation", CTRL_VARIATION_SEND, 0, 127 }, ! //{ "Channel reverb send", CTRL_REVERB_SEND, 0, 127 }, ! //{ "Channel chorus send", CTRL_CHORUS_SEND, 0, 127 }, ! //{ "Pitch", CTRL_PITCH, -8192, 8191 } ! ! // These controllers' initial values are set by the FS_PREDEF_ values, so just set them to zero here. ! { "Gain", FS_GAIN ,0, 127, 0}, ! { "Master reverb on/off", FS_REVERB_ON , 0, 1, 0}, ! { "Master reverb level", FS_REVERB_LEVEL, 0, 16384, 0}, ! { "Master reverb size", FS_REVERB_ROOMSIZE, 0, 16384, 0}, // Interval: [0,1] ! { "Master reverb damping", FS_REVERB_DAMPING, 0, 16384, 0}, // Interval: [0,1] ! { "Master reverb width", FS_REVERB_WIDTH, 0, 16384, 0}, // Interval: [0,100] ! { "Master chorus on/off", FS_CHORUS_ON, 0, 1, 0}, ! { "Master chorus num delay lines", FS_CHORUS_NUM, 0, 10, 0}, //Default: 3 ! { "Master chorus type", FS_CHORUS_TYPE, 0, 1, 0}, ! { "Master chorus speed", FS_CHORUS_SPEED, 0, 16384, 0}, // (0.291,5) Hz ! { "Master chorus depth", FS_CHORUS_DEPTH, 0, 16384, 0}, // [0,40] ! { "Master chorus level", FS_CHORUS_LEVEL, 0, 16384, 0}, // [0,1] ! ! { "Program", CTRL_PROGRAM, 0, 0xffffff, 0}, ! { "Modulation", CTRL_MODULATION, 0, 127, 0}, ! { "Portamento time", CTRL_PORTAMENTO_TIME, 0, 127, 0}, ! { "Volume", CTRL_VOLUME, 0, 127, 100}, ! { "Pan", CTRL_PANPOT, -64, 63, 0}, ! { "Expression", CTRL_EXPRESSION, 0, 127, 127}, ! { "Sustain", CTRL_SUSTAIN, 0, 127, 0}, ! { "Portamento", CTRL_PORTAMENTO, 0, 127, 0}, ! { "Soft Pedal", CTRL_SOFT_PEDAL, 0, 127, 0}, ! { "Variation", CTRL_VARIATION_SEND, 0, 127, 0}, ! { "Channel reverb send", CTRL_REVERB_SEND, 0, 127, 40}, ! { "Channel chorus send", CTRL_CHORUS_SEND, 0, 127, 0}, ! { "Pitch", CTRL_PITCH, -8192, 8191, 0} }; *************** *** 549,552 **** --- 561,565 ---- channels[channel].font_intid == FS_UNSPECIFIED_ID) return false; + if (velo) { if (fluid_synth_noteon(fluidsynth, channel, pitch, velo)) { *************** *** 837,841 **** // getControllerInfo //--------------------------------------------------------- ! int FluidSynth::getControllerInfo(int id, const char** name, int* controller, int* min, int* max) const { if (id >= NUM_CONTROLLER) --- 850,854 ---- // getControllerInfo //--------------------------------------------------------- ! int FluidSynth::getControllerInfo(int id, const char** name, int* controller, int* min, int* max, int* initval) const { if (id >= NUM_CONTROLLER) *************** *** 845,850 **** *min = fluidCtrl[id].min; *max = fluidCtrl[id].max; if (FS_DEBUG) ! printf("FluidSynth::getControllerInfo() id: %d name: %s controller: %d min: %d max: %d\n",id,*name,*controller,*min,*max); return ++id; } --- 858,907 ---- *min = fluidCtrl[id].min; *max = fluidCtrl[id].max; + switch(id) + { + case 0: + *initval = (int)(fluidCtrl[0].max*FS_PREDEF_VOLUME); + break; + case 1: + *initval = 0; + break; + case 2: + *initval = (int)(fluidCtrl[2].max*FS_PREDEF_REVERB_LEVEL); + break; + case 3: + *initval = (int)(fluidCtrl[3].max*FS_PREDEF_REVERB_ROOMSIZE); + break; + case 4: + *initval = (int)(fluidCtrl[4].max*FS_PREDEF_REVERB_DAMPING); + break; + case 5: + *initval = (int)(fluidCtrl[5].max*FS_PREDEF_REVERB_WIDTH); + break; + case 6: + *initval = 0; + break; + case 7: + *initval = (int)(fluidCtrl[7].max*FS_PREDEF_CHORUS_NUM); + break; + case 8: + *initval = (int)(fluidCtrl[8].max*FS_PREDEF_CHORUS_TYPE); + break; + case 9: + *initval = (int)(fluidCtrl[9].max*FS_PREDEF_CHORUS_SPEED); + break; + case 10: + *initval = (int)(fluidCtrl[10].max*FS_PREDEF_CHORUS_DEPTH); + break; + case 11: + *initval = (int)(fluidCtrl[11].max*FS_PREDEF_CHORUS_LEVEL); + break; + default: + *initval = fluidCtrl[id].initval; + break; + } + if (FS_DEBUG) ! //printf("FluidSynth::getControllerInfo() id: %d name: %s controller: %d min: %d max: %d\n",id,*name,*controller,*min,*max); ! printf("FluidSynth::getControllerInfo() id: %d name: %s controller: %d min: %d max: %d initval: %d\n",id,*name,*controller,*min,*max,*initval); return ++id; } *************** *** 960,964 **** // getPatchName //--------------------------------------------------------- ! const char* FluidSynth::getPatchName(int i, int, int) const { if (channels[i].font_intid == FS_UNSPECIFIED_FONT || --- 1017,1021 ---- // getPatchName //--------------------------------------------------------- ! const char* FluidSynth::getPatchName(int i, int, int, bool /*drum*/) const { if (channels[i].font_intid == FS_UNSPECIFIED_FONT || Index: fluidsynti.h =================================================================== RCS file: /cvsroot/lmuse/muse/synti/fluidsynth/fluidsynti.h,v retrieving revision 1.15.2.2 retrieving revision 1.15.2.3 diff -C2 -d -r1.15.2.2 -r1.15.2.3 *** fluidsynti.h 29 Apr 2005 22:24:25 -0000 1.15.2.2 --- fluidsynti.h 2 Feb 2009 21:38:02 -0000 1.15.2.3 *************** *** 37,40 **** --- 37,41 ---- int min, max; //int val; + int initval; }; *************** *** 106,112 **** void setController(int, int , int, bool); virtual void getInitData(int*, const unsigned char**) const; ! virtual const char* getPatchName(int, int, int) const; virtual const MidiPatch* getPatchInfo(int i, const MidiPatch* patch) const; ! virtual int getControllerInfo(int, const char**, int*, int*, int*) const; virtual bool processEvent(const MidiPlayEvent&); --- 107,113 ---- void setController(int, int , int, bool); virtual void getInitData(int*, const unsigned char**) const; ! virtual const char* getPatchName(int, int, int, bool) const; virtual const MidiPatch* getPatchInfo(int i, const MidiPatch* patch) const; ! virtual int getControllerInfo(int, const char**, int*, int*, int*, int*) const; virtual bool processEvent(const MidiPlayEvent&); Index: fluidsynthgui.h =================================================================== RCS file: /cvsroot/lmuse/muse/synti/fluidsynth/fluidsynthgui.h,v retrieving revision 1.10.2.2 retrieving revision 1.10.2.3 diff -C2 -d -r1.10.2.2 -r1.10.2.3 *** fluidsynthgui.h 29 Nov 2008 00:57:00 -0000 1.10.2.2 --- fluidsynthgui.h 2 Feb 2009 21:38:02 -0000 1.10.2.3 *************** *** 48,56 **** // Predefined init-values for fluidsynth ! #define FS_PREDEF_VOLUME 0.2 ! #define FS_PREDEF_REVERB_LEVEL 0.25 ! #define FS_PREDEF_REVERB_ROOMSIZE 0.57 #define FS_PREDEF_REVERB_DAMPING 0.3 ! #define FS_PREDEF_REVERB_WIDTH 0.035 #define FS_PREDEF_CHORUS_NUM 3 #define FS_PREDEF_CHORUS_TYPE 1 --- 48,56 ---- // Predefined init-values for fluidsynth ! #define FS_PREDEF_VOLUME 0.063 ! #define FS_PREDEF_REVERB_LEVEL 0.125 ! #define FS_PREDEF_REVERB_ROOMSIZE 0.125 #define FS_PREDEF_REVERB_DAMPING 0.3 ! #define FS_PREDEF_REVERB_WIDTH 0.125 #define FS_PREDEF_CHORUS_NUM 3 #define FS_PREDEF_CHORUS_TYPE 1 Index: fluidsynthguibase.ui =================================================================== RCS file: /cvsroot/lmuse/muse/synti/fluidsynth/fluidsynthguibase.ui,v retrieving revision 1.6.2.1 retrieving revision 1.6.2.2 diff -C2 -d -r1.6.2.1 -r1.6.2.2 *** fluidsynthguibase.ui 21 May 2008 00:28:54 -0000 1.6.2.1 --- fluidsynthguibase.ui 2 Feb 2009 21:38:02 -0000 1.6.2.2 *************** *** 9,13 **** <x>0</x> <y>0</y> ! <width>613</width> <height>514</height> </rect> --- 9,13 ---- <x>0</x> <y>0</y> ! <width>617</width> <height>514</height> </rect> *************** *** 617,621 **** <images> <image name="image0"> ! <data format="PNG" length="1410">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000005494944415458859597c16be4381687bf340a3c811b24a8051bd250862c4c35bb3015f6b069760ebd3087997fbc2ecdee6d6b0e0bce21e082094810831f94a0e72095ed4a7726892e2eb96cebf77eef7b4ff6c57abdfe7a7777c773438cb0fd67cbaf3f7f06b1346d8b1aa0124484dab5781136f50680ee70200e8176d5d07e6800d8ed7617cf3dff1de9d9b501d0a4ec7febd9ff7f8f0ed0f73d92608c015489b1270ccafe7e0fc0e6aaa65d35740f3dffe93ac2e3c8edededd7e705983f17001063a4db1f2005f401f431e08f9e302824500d00ec0f1d0ab41f1ab6eb0d3106bafb8ef0189e15f14e93beac20c17f7feb08314252c283a204fca3108703a8d2c71e49d989711cf1deb2bddea009f6773dfdefdf17f14e8cbc2c00d041d9ef3b9c038d0a83020a2a448d59844604617fdf311ec1bfb77cfae1234e2cfbfbeebb225e646039babb1ed51110425430208fa0aa68021d0231c57cede17ff9a64bf8b86e71ced3dd7774fdb9885731701a31465473e43a80a61131c098611515c290798803f421ffde7dd95ddcb42d5279bac3b913af63a00c55e81f0e60724ac641515316d60806881035e2c4d21d7ac2e39845ec761737eb165779f6f71d216411af660072943a800062203e28f23eff674738a403de5842eca15cd3c7c314edeecb524416f726064810c70046d0040c8a6a49830aaaca984648d0c58ea6f2c4219cf582dd97ddc5e6aa4551bac3e16d0c00c8a5008a1841018e16051cc2a8634e49ca0b6b02279eeea13b7b86b5b05d6fd021bc8d013192a3a54047864e4c9edba3256ac41b40a11f3aacc955720212320ffebda5bd6a5fdf070030d0ac3c9a280e2836c92c4ef36f051ae3e9878018c1194f88f1acfc76bbdd45e3fcdb181001a924b7dfe2dc98142ee7b9aa3292394095a0015f0987a1673c8ee70fbc7c631f70ab1ae79ac901000b709ce750d263b2d0a88a004e1cddc3e11b17dec4c0cddf1a54178b208c674cc0c9514d8a24210c1105bc787418bf71e1d50cd42b47fda14135473631502de6098499896924c589e43ef224de573120069aeb065fd5a8ea44bd002c1cc0801e0b0b04acb1440d28735ae210dfbe17b895e376bb01ec1ca9113082b3769ea7dc271445f0795efa432e619ba15d3af02203066efeb1c1afea99fe93032e37239922cc0e9cd243e9010024b046f26e7a5c08788981cdba66fbf70da427911a411c4892455f00b132453eb3a12c9d1ed30ce29f32b0beaef9fccb27c06778cc1c29a2782fe82313133057c7d2a9e9fc623e0bf81e0306363facf9f5f3271ad7a27a1eb902ae7670b465b105f5b2a88254c4b1ac0a391361be61c0c0f6c735dbed0d7ed51287f3c835295209b69262ff2232018c628d5d3840e90f5ad2f2c481499901b7123eff6bcbbf7ffa44b36a9fe49c69ee56e7f44f47a338e3660798ab05b3d84595a9148d3550d78ef6ba61b369f1558d183f773c745a1c0352815f79749405fd857a9be13b63a0dc4fd2fc1e4179993d197efbd347bc83ba5e43b2394728ae1c4f14bb1241f3d7b2252b790fb8cc323140054d2540c06151469c51ac51444053448c12e86970dcdefef8d5f8554dbdf245cea98914bb162210a5691c221ecab6cbb4b8a01270952f98813266ff0cdf548337ae442018d47378605e0c212e1727e7b6b972281e7e7705a413800e45d1bf5864a8c1f8723ff4296f4242335f4f8d330d90c59a318d78ec59dd4e541b50a3d4570e71828c52f68273fab5cae74ef44fcca060fcdc8c383921d307abc937f1e4a1855e81e6ca21de22a39b815b1c11e03dd4524fd44fec0075d5cce793e63eb1e83defc634ce914f4da50075ed90ca228f2572ce23172304a33871d8d27e4f91861440043b2d963f6439eda265fc01eeb65cf07410ec6e0000000049454e44ae426082</data> </image> <image name="image1"> --- 617,621 ---- <images> <image name="image0"> ! <data format="PNG" length="1195">89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af400000472494441545885c557cb6e1c45143db7a77b7a5ec699b1c71e3fb0239010f80ff807d6d9b065c12f20250a2862c10690901c93c40111136c1ca448880dec67c18e05444158b63103f22376e2b167babaaafb66d1efd780c2c225cda3abcebdf7dc5375abaaa9dbede2229bf67f8c7f3416f8a7f2225f0881efed0e379a33a8373bf8c1997b61127afce1eb3d83c7da1d58fd535c693fa35186f5e60c94f4f8d7c63bc0596f64a08dfd0657c79be81fede3ed793bf49d5060627109f5d61c5af3afe1dba37661561b87930c3621052005c05cc683934e217e7dbfc5ad975f47bd3587c9c5a5c4584860e3609635ad062508aea3a331b150984d656c0aca262801289f84596f17e2c7da97c1ae01250844556c1e2f8464430266bd0d290065fb59b9657cf3cf426e56a55223c42adb23415a2d37f8fdde5ca856e0bb5c9dc82a0054c28c824fb996cd6a6def323bb294c13ab686fbbd573384cdfa5406cbae992470e7b769766c2d03845bc6178fe7134ecbd5c90c2ef81895163eeb9642fceaa319663673c812ee3ef62a470700add480140c04a60410111880d9e8e0f6af1a2b5ba0d2b884ea4b065c051001cc9e01b38707e9189f59c2e7bf3c612a95506f4e43d914f9856f0780b43a4202400d52a4c563dfc040a5311bf64a2b1a4be38908546aa076c973ce0e41298053780201a84604d82d7b9287aed807e505f3dc913f42218672b1488c47fdae6b44041ca5c3f165050249bddf22074414e2029b64e0081f27cbe1782946c0a64cd024816c0bc7f3120fc213122403169e9dd7496fbdb7c56393af8099235fcce122cccf8863dfc162a418249a42cec107937cf66407baeb185e6dc663b8482a3eaa152850d81f4b8a5d03ba23c9dfcf933629d5121aa495cf1da7c8679e1f6640490dbab4140c334636cd209f7c3edb603898f73cd631901c4a50b7dbc5079b6f7242af3438a70a463db3bf8646e19919ef5ff999740050820b252e4a20dd97988ea0a246f8092a4c07006939007975995f7ee9d0c5cf9efdbfe3999d88803db4a1e95580a333205a95f1dd4c8bf5e568c3c1024c2d8e9c8a701d152760c128a7cff3a862953880eb9cc3a8cc82b46a6c9b8ee302c702caee41d3aad0cd6950c1b55379874a406000a0950fb44fb072759b00e09d6b43361b6f80fce94a3466b82c21fa8fb0fae19000e0dd1b25d6cda95cbf5e4cff3e70ebfa1e498b33e7b6b41cac5cfd3d4cf7ce8d3ed9e7cff2ef0336c11e9c86c10160e5da16c9a1cafa15c0adeb7f52a8000048cb0669d14d05001cf934c37cd8efc1ac37915713f6e03083178363948ca40acc32fc1f4e903d3849317560f577330ed73e3923391c66b31a0adcfbf86966fbfaf2a32d525652057b1025161258fb749ba425fd4ba60b717e88f56591bb1f8ac1912f7b74291583e33ca88f3f8012ae7f295510677b59020020ce77600f4f21067f637d79bb7033deb8d92329546c4e1d6cdcdc2dc4af2fef9238ffcbf37db68bcddb51628937a3efee1e1170549849bcd98343687a0700c1758ab30fda83d51e01d9b7a7177e377c786f87e4f014d23ac5c3affef8af8777a6d145bf9e3f076c35aaedab709f8e0000000049454e44ae426082</data> </image> <image name="image1"> |