mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-12-11 05:11:33 +00:00
e24a41a447
This commit implements the polymono functionality as per MIDI spec. closes #306 resolves #158 Squashed commit of the following: commit b56e92b378f21b7fbc189e8c580d85e679c2ee3f Merge: 07f4c5330c9dda
Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Mar 3 14:20:23 2018 +0100 Merge branch 'master' into polymono commit 07f4c53b9a0e46f511134d39d72073523fc3e202 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Mar 2 16:51:46 2018 +0100 update API docs for polymono commit 82c74ff07251e0fb34b15a066f501bf1e968a51c Merge: f07e515ba2c053
Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Mar 2 10:41:43 2018 +0100 Merge branch 'master' into polymono commit f07e515ebdeb3d075bd9307ebf8768a6ffaae3e3 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Mar 2 10:39:44 2018 +0100 clarify comment commit 7635825325a168f9ee383afd8023d82d4c33c185 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Mar 1 04:13:52 2018 +0100 Enhancement of portamento performance calculation. - The lost of performance is now -0.5% rather -12%. commit 09cb1d3ec6ced215adec9faa09fac5cae6c0f8fc Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Feb 21 19:40:17 2018 +0100 moving polymono commands among synth commands commit 63b8c480226b15d5d5bee5de8e1722a93ff69493 Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Feb 21 03:16:10 2018 +0100 fixes comments, FLUID_INLINE, update pdf commit 49c1ee39d2ef525ac0af22ab22a4d8f8d49ab0e9 Merge: 200c8604a0a736
Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Feb 11 17:38:31 2018 +0100 Merge branch 'master' into polymono commit 200c8609582560d781c0d49b99a9d02bdb7d2a2a Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Feb 8 23:27:28 2018 +0100 Fixes typos, update /doc/polymono commit 9f6474cee712f947a0227957acbb4d1e4f56f2d6 Merge: cb7f43f 28b1bef Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Feb 7 00:44:52 2018 +0100 merge before updating pdf document. commit cb7f43feb56edeed016b0b3ad7293fbd64beb7ae Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Feb 7 00:40:52 2018 +0100 fixes typos in pdf document commit 28b1bef97a498ea5e15fdffb57b861998642bd5a Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 23:02:05 2018 +0100 avoid type redefinition warning commit 551940854053ccf0ff0d4cfd21d0e6328a9e657c Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Feb 6 18:58:16 2018 +0100 cleanup fluid_synth.c commit 263f9badcb7f75bf8027df60abb20b3354ea67e2 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 16:36:55 2018 +0100 cleanup fluid_synth.h commit fd58bc0c22756b67e75c80ed8efecfed9baf2901 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 16:30:46 2018 +0100 move synth API macros back to fluid_synth.c commit 101ea0961a18c4724d7bd7f4d47f5a7fc27bb679 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 16:17:15 2018 +0100 rename fluid_synth_mono.c to fluid_synth_monopoly.c commit ec60840304fdebf4d854a0879045249e9a90af79 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 16:05:06 2018 +0100 move fluid_synth_polymono functions back to fluid_synth.c commit b18e99d34fcfef1444f235bed4c866985433f072 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Feb 6 15:43:18 2018 +0100 explicitly check for default_vel2att_mod commit ceeba2af7824c3e12f6a5302d79d4e582732141d Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Feb 4 22:30:17 2018 +0100 Using INVALID_NOTE instead of -1 - polishing fluid_synth_noteon_monopoly_legato(). - Adds chapter "introducing Poly/mono basic channels API" (2.6.1) in pdf. commit 04d1a2119ad4847797c9cfc848a4158c6b0b3ce8 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Feb 4 19:49:25 2018 +0100 const correctness commit 7583bc24ad21df5e01b73b685f50e8a2eef3b2f3 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Feb 4 19:45:05 2018 +0100 fix naming convention commit a8e109f9f1ec3a55b6e0b9bfd9163e6dd4ea9e09 Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Feb 4 01:39:58 2018 +0100 fixes comments, update pdf commit 1f33394a6579f9ee7341246df3e110db6926abeb Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Feb 3 17:19:33 2018 +0100 remove duplicate comments commit e9451695aafece991af74ee2cfb9368d256c728a Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Feb 3 17:06:09 2018 +0100 specify enum types explicitly commit f810f1942eaf19447ed29487209e227d7c4f8bd6 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Feb 2 18:54:03 2018 +0100 fix construction of new_mode - cleanup comment commit 3108da38ecc877e2f7428db0a988e1f05d324743 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Feb 2 11:42:44 2018 +0100 cleanup fluid_synth_cc_LOCAL() commit d61eea6aeff75cfb051e4baf546ff26073c2e62b Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Feb 2 11:18:46 2018 +0100 inline warn string commit b7ed427470309e85c44da632f6fe9a319fc49683 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Feb 2 11:16:14 2018 +0100 unlock API mutex commit bc12603c993bf4af8ad260e18fd79f46e98c0785 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Feb 2 00:33:04 2018 +0100 fix comments in fluid_synth_polymono.c commit 34d8b73d856e3a0f664bfc816f20beff5f340627 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Feb 1 23:59:27 2018 +0100 fixes typos in comments commit eba067d735118077bf6bd8bb4ebb4bdab5046258 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Feb 1 23:47:58 2018 +0100 moving fluid_synth_check_next_basic_channel() commit 7976be599a4940ec0dc4420954ef8cfe310dd386 Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Jan 31 23:26:42 2018 +0100 fluid_synth_set_basic_channel_LOCAL cannot change an existing basic channels. - Both fluid_synth_set_basic_channel_LOCAL() and fluid_synth_set_basic_channel_LOCAL() behave the same way. - Update documentation pdf. commit a22d1a35fac5b4f697c1d41ae3e368a61a27d653 Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Jan 30 14:07:50 2018 +0100 command setbasicchannels can change an existing basic channel. - fix comments. - update documentation pdf. commit 4777f7b1f428935691be7d1289cb244c56137793 Author: jjceresa <jjc_fluid@orange.fr> Date: Mon Jan 29 23:37:16 2018 +0100 fluid_synth_set_basic_channel() is not allowed to change an existing basic channel commit 5161e4cec71a5c09eed08510458544257b7a66b2 Merge: 435d0622a4b208
Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Jan 27 14:40:58 2018 +0100 Merge branch 'master' into polymono commit 435d062513583dea397686ec8fd442eba732f820 Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Jan 27 00:09:42 2018 +0100 Fixes typos, update pdf documentation commit 13a8c6c6dd1a7dc861e367aed286c7f071b4e0ea Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 26 19:49:18 2018 +0100 correct comments of fluid_synth_set_basic_channel() - comments compliant with MIDI spec when val is 0. "means all possible channels from basic channel to MIDI count - 1". commit 0689257d8f1e880617a6039b677c1fe26a02d27b Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 20:03:07 2018 +0100 remove redundant channel mode flags from public API commit d632e30c419652cbb5e986fb35aeaf055dfc5b43 Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 19:57:11 2018 +0100 make fluid_synth_get_basic_channel() only return MIDI modes not fluidsynth's internal flags commit d1aa433e4a9aa1121bfaa78e1aa33e7ea5a88bae Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 19:43:42 2018 +0100 update API doc of fluid_synth_reset_basic_channel() commit b96f17b0c95a43e172da876108cb50756d023f94 Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 19:34:21 2018 +0100 make val of fluid_synth_set_basic_channel() compliant to MIDI spec commit 904fd36bc1fa7013665190d3a54469094892c0ec Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 19:25:16 2018 +0100 rename fluid_synth_reset_basic_channels() to fluid_synth_reset_basic_channel() commit 15a52f6bdfda37f5b25909ad566405543b4c0572 Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Jan 25 19:21:00 2018 +0100 API doc cleanup and clarification commit 74c22da6fbfc3444cba448945579e451c28a333b Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Jan 24 13:50:45 2018 +0100 Fixes mores comments in synth.h, fluid_cmd.c, fluid_synth_polymono.c commit 6718cfe68e8e4209bfc396d53bdc71f27edea1ba Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Jan 23 20:19:17 2018 +0100 fix build, fix minor comments commit 9a4d9afc4230a3ff1ebfe8f5035ddd4aee1d4484 Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Jan 23 19:53:12 2018 +0100 Cleanup basic channels API. - Removing fluid_basic_channels_infos struct. - Removing fluid_synth_get_basic_channels() API. - Clarifying fluid_synth_reset_basic_channels() API and fluid_synth_set_basic_channel() APIs. - Changes commands resetbasicchannels , setbasicchannels accordling to API changes. - Replace fluid_synth_get_channel_mode() API by fluid_synth_get_basic_channel() API. commit a2ec80ded11f95fcbde842c69b69efd8023c0e44 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 19 13:35:32 2018 +0100 update examples in /doc/polymono, fix comments commit 1f283c49551d546db2394ba376291f716f8f3bbc Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 18 18:15:47 2018 +0100 remame SIZE_MONOLIST to FLUID_CHANNEL_SIZE_MONOLIST commit 06093a23e42379ba05ba888937bc9351208583c0 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 18 16:08:43 2018 +0100 Adding comments compliant with MIDI specs. - Adding comments compliant with MIDI spec. for val parameters. - Cleanup comments. - Cleanup pdf document. commit 87e1dbda569b91f5f585232e4ca9086ac579b350 Author: jjceresa <jjc_fluid@orange.fr> Date: Mon Jan 15 10:23:43 2018 +0100 Adding fluid_synth_get_previous_basic_channel() commit 82fa1702643a506667c6d997962ac63381ce81ce Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Jan 14 11:28:37 2018 +0100 adding fluid_channel_update_legato_staccato_state() commit 3309b6f172c56e9cb7c95fbeb09f6ebfe88351da Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 12 22:49:22 2018 +0100 integrates fluid_channel_keep_lastnote_monolist() commit 92f1e9230d065c8153baf64b77222891de417c99 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 11 02:24:53 2018 +0100 adds comments commit f4241272d8fdd70da268fbdf04458055f084c446 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 11 01:32:53 2018 +0100 Removing prev field in mononote struct - this is replaced by adding i_prev parameter in functions fluid_channel_search_monolist(),fluid_channel_remove_monolist(). commit b09da5ed213ba36279755a306c379d33e3cd3716 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 11 01:28:11 2018 +0100 update comment API, update pdf commit 3308ca252d1f5894be6d9c26bb1763a2efb6a5a9 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 10 11:01:45 2018 +0100 use fluid_cb2amp rather than fluid_atten2amp fixes build commit 6d648f44aeb1132e0f576521c2f35c4e30e7122f Merge: f881a0837218ba
Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 10 11:00:41 2018 +0100 Merge branch 'master' into polymono commit f881a08e6b3019f07a675e3dc11972364f1e4620 Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Jan 10 09:51:23 2018 +0100 naming convention for fluid_synth_polymono commit bfb359a3299c7c6cc3384aa11a63eac354d93b62 Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Jan 9 13:16:52 2018 +0100 apply allman braces commit 9275d7ae677463f8354c1163d9fd5af92a669b40 Author: jjceresa <jjc_fluid@orange.fr> Date: Tue Jan 9 11:23:18 2018 +0100 adding result checking functions commit 6e3c804ca4a43394929b6f77b6f43d486ea1db24 Author: jjceresa <jjc_fluid@orange.fr> Date: Mon Jan 8 12:48:39 2018 +0100 removing tabs mixed with spaces commit 94c46a8b689db7ce2e214f574d061d1f61f73e4b Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Jan 7 19:29:01 2018 +0100 fix comment commit 1bedf8d5d4c547a7d7c9b920e7bfefa8204ed894 Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Jan 7 19:05:06 2018 +0100 rename key_sustained, cleanup, fix typos commit 959144acad2312085ade3071c2cfa5b82ab87511 Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Jan 7 04:36:27 2018 +0100 fix typos in comments commit c7b25cfd120f70c5b4092e5c625e903eeb40afdc Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Jan 7 04:17:15 2018 +0100 cleanup on search/remove monolist functions commit 756424065e67913b09a1945413cde4513f727426 Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Jan 6 20:22:22 2018 +0100 fix typo commit da991a236fac2e273aa9d60acb89061db956e980 Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Jan 6 20:20:51 2018 +0100 use FLUID_STRCMP wrapper macro commit 0dc6d9bcd06615f9d33dfea7beec5fa29dc7230c Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Jan 6 00:22:48 2018 +0100 simplify arguments checking functions commit 0103aa4ab08ab3cc8fe12906e8193f6a2a1984bd Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 5 16:57:12 2018 +0100 fix build warning commit 26773a567b894e2720038a26752b56b8705f4464 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 5 16:04:17 2018 +0100 declare release_voice_on_same_note_LOCAL in fluid_synth.h commit 693ba8d300d824674b3d3d0dea0d89eb46a83e69 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 5 15:50:39 2018 +0100 fix global cc, update comment, update pdf commit 9d35a509480aef4ea5be09c453fc0c5ce7e53077 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Jan 5 14:44:22 2018 +0100 adding arguments checking functions commit bd63cd2021bf46a78454884ba5c76a9659d3e5ee Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Jan 4 18:01:57 2018 +0100 missing static const commit 4d24109b457a038cfb70d7e2fbe7fbbd1e25d05c Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 20:04:38 2018 +0100 apply naming convention to is_valid_note commit b1b6738b982cddd4c08839f557a46a6c8b23fa02 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 20:00:46 2018 +0100 reoder fluid_channel_* declarations commit 56279b2622d738c1c910d7c64a30ab055670a6a1 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 19:56:40 2018 +0100 move fluid_channel_*() functions to fluid_chan.c commit 2e54feb3beb0b89ec2203de259fa93c5343f1dfe Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 19:30:46 2018 +0100 more naming convention for fluid_synth_mono.c commit cd84bf96af7b4219920b5b070fbbf606eb5a21ef Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Jan 3 18:57:13 2018 +0100 simplify portamemto pitch calc. commit af98b362ed0d471c46b7f1475c3c0de469d4f432 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:37:42 2018 +0100 readd accidently removed custom_breath2att_mod fix build commit 1a4d5d392bee44677ed8e633d2acf4589b3dfdf6 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:35:16 2018 +0100 make fluid_gen_info static again commit da4481dc278069cdc7452cd5e533613191df4830 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:35:08 2018 +0100 fix comments commit fa6734bcdc66c581de39ff8db56d737852111a86 Merge: 47a0718dd2b78a
Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:14:35 2018 +0100 Merge branch 'master' into polymono commit 47a0718175ca8bd900d8ed823d502f0ef004a7d5 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:11:36 2018 +0100 cleanup fluid_synth_*() forward decl. commit c730bcf296c0e5895158ef08bbee278a33e43e93 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 10:06:32 2018 +0100 move polymono fluid_channel_* macros to fluid_chan.h commit 228c7bca6a17c13ac5a82d8faaf3fbc1fba39162 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Jan 3 09:57:09 2018 +0100 apply naming convention to polymono helper macros commit 0d2e16497f93b02649041a7dd5ff0697e94b443c Author: jjceresa <jjc_fluid@orange.fr> Date: Mon Jan 1 22:36:10 2018 +0100 move param checking, FLUID_API_ENTRY_CHAN to API, cleanup commit 1d73cec83bc4da75b754191db0105097874c8f39 Author: derselbst <tom.mbrt@googlemail.com> Date: Mon Jan 1 17:52:59 2018 +0100 remove redundant null termination for FLUID_SNPRINTF commit bca5472c347ef17203dfe7d37311a24b1c608b64 Merge: e64b08a70dffe7
Author: derselbst <tom.mbrt@googlemail.com> Date: Mon Jan 1 17:49:25 2018 +0100 Merge branch 'master' into polymono commit e64b08a800976bd5176a594f93ea4e050db5846c Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Dec 31 15:22:54 2017 +0100 fix scope mode names commit fba23b6a018a96c4cb3779b43de79eb1b82b0495 Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Dec 31 14:53:11 2017 +0100 fix comments, typo errors, update doc commit 330826eb4739e8521a31d58205359a353e7fc9ef Author: jjceresa <jjc_fluid@orange.fr> Date: Sun Dec 31 05:34:37 2017 +0100 adding mode name for shell command commit 52689198d1224540b36fc584aad0d885c9eea39a Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 22:48:37 2017 +0100 update doc API fluid_synth_set_basic_channel() commit 329df43f5d67a99b8dcdf2c7c6dd35bec6b3e356 Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 19:18:45 2017 +0100 fluid_synth_get_channel_mode() return basicchan commit 29de66116b2bf7a1545818a0604adf5a0559420f Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 17:59:32 2017 +0100 Simplfying fluid_synth_set_basic_channel signature - also cleanup variable declarations (static, scope, ...). - calling fluid_synth_set_basic_channel_LOCAL() instead of fluid_synth_set_basic_channel(). commit 5e9bc3977a9a3616ac4697c6b16e186656cd2baf Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 03:39:24 2017 +0100 cleanup status variable and rename variables commit 650ad51af9fcb1fa88ab64cfad868ce0d80fc917 Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 00:55:16 2017 +0100 remove basic channels settings update FluidPolyMono-0004.pdf - removing basic channels settings. - addding comment for Global channel. commit 1bbb520ab9b5c9b5cb954f3bc3d0ecf929237369 Author: jjceresa <jjc_fluid@orange.fr> Date: Sat Dec 30 00:49:31 2017 +0100 update comments on breat flags commit 795321aa8710c409dccd4773ccd8491f5427a7d9 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 20:28:30 2017 +0100 reorder synth API macros commit e1589234d01a62e304e8edf53107e5a404829367 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 20:20:52 2017 +0100 introduce FLUID_API_RETURN_IF_CHAN_DISABLED macro for synth to reduce nesting commit f8dee9b6ab02140d2104167fe7d273bfcf597abb Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 19:42:15 2017 +0100 correct API comment of fluid_synth_cc() commit 41083f4b970fa46e652609f92302f228dc6fe550 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 10:49:43 2017 +0100 fix build forgot to commit fluid_synth.c commit ac04f365c715615f44885445ba7666050c655525 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 10:49:03 2017 +0100 remove redundant fluid_channel_get_cc_portamento helper macro commit d707f5e0bc8807c4c43b51eb0503ef91f0d5c8b9 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 10:45:13 2017 +0100 fix naming of fluid_channel helper macros commit fa38f6a9b2c3250f9dd77e5fd94a7107790ad1f6 Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Dec 29 10:44:49 2017 +0100 handle BREATH_MSB is switch-case commit c68c7eb40cd020f0a0b068d8497328692c8e0800 Author: jjceresa <jjc_fluid@orange.fr> Date: Fri Dec 29 00:20:10 2017 +0100 fix comment in enum fluid_basic_channel_modes commit 56a63af296bc90f8b0e8bd075e7b4b57d2425310 Merge: c29e401 d35601a Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Dec 28 20:33:19 2017 +0100 Merge branch 'polymono' of https://github.com/FluidSynth/fluidsynth into polymono commit c29e40157921a2de0abe8e8d7ff467ea63bc33a7 Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Dec 28 20:32:33 2017 +0100 reorder polymono API calls to place them after the other synth functions commit 6ac82ff2b7a4b4079ec5121b40fe06bd13a4d08c Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Dec 28 20:29:52 2017 +0100 cleanup polymono API comments commit d35601ae5a71bfbb11f2e6ea79c5a7bf766f6983 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Dec 28 19:15:10 2017 +0100 Fix typo in FluidPolyMono-0004.pdf Cleanup fluid_synth.c commit 731c59bcd64ac4e1ef06decf36774ed771c7bd41 Author: jjceresa <jjc_fluid@orange.fr> Date: Thu Dec 28 16:50:03 2017 +0100 Fix parameters checking in commands with no arguments. commit 6d0fa0f53ed07edaf0a71bc219d807ee35a5f50d Author: jjceresa <jjc_fluid@orange.fr> Date: Wed Dec 27 11:33:58 2017 +0100 update doc/polymono/readme.txt commit 3fa932e9188e27241be4acb4c4d3360ba630eda7 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Dec 24 22:20:05 2017 +0100 - Fix typos errors. commit 59e2ed3cc52c782dbad17847f083b96fff004165 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Dec 24 00:03:57 2017 +0100 Comments additions. commit 88f11588750b1e8196508c19e32e98ca540bf3f2 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Dec 23 23:42:21 2017 +0100 Removing fluid_voice_update_release() signature. commit 9b8cd5e5532a6f87ed516b83f728509f2ad0d890 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Dec 23 23:38:50 2017 +0100 Removing fluid_voice_update_release(). - removing fluid_voice_update_release(). - adding comments. commit 2787d150deb0c64519507f4fbfa8ef58a28d11b9 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Dec 23 23:24:55 2017 +0100 Using fluid_voice_release() in legato mode 0. substitute fluid_voice_update_release() by fluid_voice_release(). commit 68f7c7778b07a384d3d1648bb34bcf705a05affb Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Dec 23 23:14:12 2017 +0100 Add comments to poly/mono public API. commit 51cedfdfed88883e00f08e4e9253f5bf08cb5287 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Dec 23 00:55:09 2017 +0100 Update FluidPolyMono-0004.pdf -Cleanup chapter 1. -Update doc API. commit 1ac23daf6dd10f1d1c0afc52bf1d7182d4d0538f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 23:12:38 2017 +0100 Change enum in fluid_cmd.c commit 902f603c102689b58f86dfd789c01155d26c8bd8 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 23:09:38 2017 +0100 Change enum names in fluid_synth_polymono.c commit df52819193c058cbce9201af647e740931889900 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 23:03:59 2017 +0100 Change enum names in fluid_synth_mono.c commit 8aea95e0f4276d9904f9428e9a2cc93d8188a3e3 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 22:56:29 2017 +0100 Change enum names in fluid_chan.c commit da0e94c2a8d8d7af8c5bbd81de7fa4cb7953372b Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 22:52:54 2017 +0100 Change legato and portamento enum -Change enum LegatoMode to enum fluid__channel_legato_mode. -Change enum PortamentoModeto enum fluid__fluid__channel_portamento_mode commit 75309ef3a322050b4d452144028ca909fef0977c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 19:22:30 2017 +0100 Channel mode and Breath in commands Make use of enum fluid_basic_channel_mode_flags. commit 0aca0a4e9405dc2201f7201904a0192af0f4f5d4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 19:14:12 2017 +0100 Channel mode and breath in fluid_synth_polymono.c Make use of new enum fluid_basic_channel_mode_flags commit 4828760f45326884322d850ec50401825ded997b Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 18:52:59 2017 +0100 Rename enum in Fluid_synth_mono.c Make use of new values enum fluid_basic_channel_mode_flags commit a0246d16ed5db3d5771a9a60c13d66c628e11447 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 18:44:31 2017 +0100 Rename enum in fluid_synth.c Make use of new enum fluid_basic_channel_mode_flags commit ba6dea233ab6667361eaefbb0e9b8cacbab6724f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 18:10:34 2017 +0100 Change MONO name Change MONO to FLUID_CHANNEL_POLY_OFF commit 091bf7f3eeab75f1d5766592da9e6a0b1b1da5f4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 18:04:48 2017 +0100 Renaming enum fluid_basic_channel_mode_flags -Renaming enum fluid_basic_channel_mode_flags values. -Integrating Breath mode in enum fluid_basic_channel_mode_flags values. commit de945f2bb3af2692f9268e3afb37093709d47845 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 03:56:40 2017 +0100 Move signatures to fluid_chan.h commit 614b74202b7c2d6aaf6b75cc524c908523549e37 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 03:54:36 2017 +0100 Add sigature functions. void fluid_channel_set_onenote_monolist(fluid_channel_t* chan, unsigned char key, unsigned char vel); void fluid_channel_clear_monolist(fluid_channel_t* chan); void fluid_channel_invalid_prev_note_staccato(fluid_channel_t* chan); void fluid_channel_cc_legato(fluid_channel_t* chan, int value); void fluid_channel_cc_breath_note_on_off(fluid_channel_t* chan, int value); commit 963a37a36f3c2b2d494deeb472efe8b4ce5365a7 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 22 01:39:25 2017 +0100 fix incorrect cast fix incorrect unsigned cast. remove unused extern. commit 67ff72659f4e83a0e0e24912e919071ae692f590 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 23:45:12 2017 +0100 fix comments - fix help commands strings commit 2c4aff8773a363fa5902f1425c302bd4da8c8c68 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 23:11:53 2017 +0100 Fix comments. commit 301712ac4686d2768aa6d441492a172f805c7fc4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 23:02:55 2017 +0100 Update FluidPolyMono-0004.pdf commit d4c4d0fc1382ee8795d3565d2373e8c2f36600a4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 22:45:07 2017 +0100 Update FluidPolyMono-0004.pdf commit 410b073565395ce6bc73194c99d9f8d48d632642 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 22:33:44 2017 +0100 Add files via upload commit 0ce5bc65a676144631a3264ef27a6602b87152ae Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:27:16 2017 +0100 Update poly_mono_4.txt commit 088fd806464187dc23e07c843c3a25925a94313f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:22:36 2017 +0100 Adds files leg_port_00.txt - leg_port_01.txt commit 9b98446a3f1c49c7bfcd51eb00a726eb918cdb70 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:13:29 2017 +0100 Delete leg_por_4.txt commit c832a9b123af5456bce860197786f50555111652 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:13:12 2017 +0100 Delete leg_por_3.txt commit 8cacbb99375b37310e30c1a681bcdcb204a9bd91 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:12:57 2017 +0100 Delete leg_por_2.txt commit af04826db6ca384ed1797fcedf9200db40bbe458 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:12:42 2017 +0100 Delete leg_por_1.txt commit 0cdf52de97779720917839f842d776eb7e1a7856 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:12:25 2017 +0100 Delete leg_por_0.txt commit d750fe34dbd918bf0f3e6be391befc16c962bd1d Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:10:12 2017 +0100 Update leg_01.txt commit 1d9541d8cddb3a761d26739556275560d43acc10 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:08:53 2017 +0100 Update leg_00.txt commit 237f6d500c375aea569930c675ff3463796e71b6 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:03:44 2017 +0100 Delete Legato_demo.sf2 commit e875c02fbe8bf11fb3cb3ffc847e1d786c952a15 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 19:01:34 2017 +0100 Update readme.txt Removing soundfont file commit 07335cfdb93a6b65d595debdef7973b53adfb62e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:36:23 2017 +0100 Add FluidPolyMono-0004.pdf commit aa94b3fe12a1301a23c10a3f69a8212d18c36d8e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:34:36 2017 +0100 Update readme.txt commit 3aa942922149541102f2c46584aac1aa1341c5ab Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:33:54 2017 +0100 Delete FluidPolyMono-0003.pdf commit ddd9b2de37d056a20b430f113e351ea6c786fc8e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:30:52 2017 +0100 documentation files adding/update leg_00.txt leg_01.txt poly_mono_0.txt poly_mono_1.txt poly_mono_2.txt poly_mono_3.txt poly_mono_4.txt poly_mono_5.txt commit 89983fb42eb54a6bab5b6045e5a31a6800ef23ba Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:26:50 2017 +0100 Update readme.txt Removing legato modes 0,3,4 Tutorials examples addition chapter 2.1 poly_mono_0.txt poly_mono_1.txt poly_mono_2.txt poly_mono_3.txt poly_mono_4.txt poly_mono_5.txt commit dcedce20d79d317c834bfd6c961a3fdf87ed1f7f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:17:56 2017 +0100 Delete leg_2.txt commit a9d765def0170e204027abfa42fc02acfdd47704 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:17:29 2017 +0100 Delete leg_1.txt commit 8e0fc533d69cb261c0cfd6a8f58fe729b758ab0e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:17:00 2017 +0100 Delete leg_4.txt commit ae670075e592241830ef539c9bf26c4cd84a3a47 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:16:14 2017 +0100 Delete leg_3.txt commit 6040f7575277f53c8803155d58fd158cb8e29a5f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Dec 20 00:15:23 2017 +0100 Delete leg_0.txt commit 1e8c4ad4dc7b6ecd0727a73b0ac814679b9fd4f3 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 23:34:03 2017 +0100 fix build type conflict. commit a0fa4debd6fc21d652edfabaaf963b31babcd045 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 23:21:10 2017 +0100 Removing legato modes (0,3,4). commit f53476bfc0c46b313f5b293243a3f3b6d9c3af64 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 23:01:50 2017 +0100 Removing legato modes (0,3,4). commit d69868bdb8179e1eb75661d6b02799de0d7a3e48 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:57:22 2017 +0100 Removing legato modes (0,3,4). commit ebd37fdb680e3062f0174fe7c414b3fce6b8c60f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:53:38 2017 +0100 Removing legato modes (0,3,4). commit 265eeb4f321a8bab54ae6aa700474d96a3c83951 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:47:25 2017 +0100 Removing legato modes (0,3,4). commit 601216e83e01953c58ceabd0e44cc4f361d1c4ae Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:44:18 2017 +0100 Removing legato modes (0,3,4). commit 16b0e65697d57d3bc653e3419d924799b37e3a01 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:39:17 2017 +0100 Removing legato modes (0,3,4). commit 5c4b9322e7b6f8600be9849d869233f20beb3d4c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:31:16 2017 +0100 Two legato modes 1 and 2 (rnumbered 0 and 1). Removing legato modes (0,3,4). Legato modes 1,2 are numbered 0,1 respectively. commit 8c4096910e9e44c896f7169345d6a262a17e522d Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:25:33 2017 +0100 Two legato modes 0 and 1 (dfefault mode: 1). commit fb4205b215648efc1949708073f68237eed8679a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 19 22:20:56 2017 +0100 Two legato modes 1 and 2 (rnumbered 0 and 1). Removing legato modes (0,3,4). Legato modes 1,2 are numbered 0,1 respectively. commit d0adfe31f4961d034483a95705ac8b86839cf11d Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Dec 16 11:42:31 2017 +0100 refactor poly mono bit flags commit da5ac8dd79479b6a19f5c3608be7ec3507a5b637 Merge: 13754fa07a167c
Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Dec 16 10:37:34 2017 +0100 Merge branch 'master' into polymono commit 13754fad6acbce51bdf5b57526a4ca243948a3ed Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Dec 15 19:38:04 2017 +0100 Fix bug in new_fluid_preset_zone(). Add missing initialization since moving ignoreInstrumentZone check to fluid_zone_inside_range(). commit 64dc235485a004e7b0f6e8f9afae1375321f6afa Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Dec 13 13:41:32 2017 +0100 move ignoreInstrumentZone check to fluid_zone_inside_range() commit 427a513e2caac645bc571a8fbe7e3a513f874fa1 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Dec 13 13:20:36 2017 +0100 fix spelling of IGNORE_INST_ZONE commit c9b74903f1e54976b0ed3e5d4aa5e5a2ba2f8c1c Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Dec 13 13:17:32 2017 +0100 remove redundant NULL check fixes #302 commit 9c8f41be408475ebc8a16dbf468067c795ee5830 Merge: 09fcf6c5806d9e
Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Dec 10 10:03:31 2017 +0100 Merge branch 'master' into polymono commit 09fcf6c3fc36739a29b79008224dd0b46f827cd1 Merge: 94408841629f9f
Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Dec 9 15:16:51 2017 +0100 Merge branch 'master' into polymono commit 944088440f4c91ce712909a12af1332b09b9a1c5 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Dec 5 00:51:55 2017 +0100 fix bug GEN_VELRANGE commit 73caf02a323776bd320d30624ebe4dd60a1c940f Author: derselbst <tom.mbrt@gmail.com> Date: Sun Dec 3 14:59:30 2017 +0100 cleanup commit b0f43feac5de166f5791d6203d4c78f9f4f3ab38 Author: derselbst <tom.mbrt@gmail.com> Date: Sun Dec 3 14:31:45 2017 +0100 rename fluid_inst_zone_range_t to fluid_zone_range_t find . -type f -exec sed -i 's/fluid_inst_zone_range_t/fluid_zone_range_t/g' {} + commit 133b418ca5641579eb22cacb5059c48b642b8f5e Author: derselbst <tom.mbrt@gmail.com> Date: Sun Dec 3 14:28:45 2017 +0100 make use of range struct for presets as well remove code duplications commit 42e23a5e398520959bf1124439539e0f278a80fc Author: derselbst <tom.mbrt@gmail.com> Date: Sun Dec 3 13:44:33 2017 +0100 remove zone_range from _fluid_synth_t prefer explicit parameter passing rather than hacky non-threadsafe param struct saving commit 2bc061557b9aedb9a2c0f891488aeb1122272395 Merge: 6037bdbcdfe8d3
Author: derselbst <tom.mbrt@gmail.com> Date: Sun Dec 3 13:31:57 2017 +0100 Merge branch 'master' into polymono commit 6037bdbd30f793b007c589b5f870cabea2c85c6a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 23:45:10 2017 +0100 fix parameter flfuid_voice_init() commit bb0da222bd420989b63b0229568b178e8da3e293 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 23:24:12 2017 +0100 fix IGNORE_INST_Z0NE commit d8752cc835b52eda6122dba7d6ab2354a7e83deb Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 23:16:56 2017 +0100 fix fluid_voice_init in voice.h commit 41e4b77fe5f6fc0766b1974d5031d516a7ff0c11 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 23:04:45 2017 +0100 Add zone_range tp poly_mono.c commit f3550d18e74845a09800af8aef12f5c5da21fc7b Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:51:30 2017 +0100 Add zone_range to fluid_voice_init() commit 2e9ebad6cb5bd44e82674e87ef4fb7b88b9b9445 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:48:13 2017 +0100 Add zone_range to fluid_voice_t commit d779583c490d85ea8b14481fcedbe50efda27aed Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:41:45 2017 +0100 restore fluid_synth_alloc_voice signature restore fluid_synth_alloc_voice signature to synth.h commit 27a4e4407843cfb7c7c86b6a99c0f10d43ad4326 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:36:06 2017 +0100 Add zone_range to fluid_synth.c Restore API signature luid_synth_alloc_voice() commit f4749fc88372a32b055a6dcb6a1b00e247d15c6b Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:27:03 2017 +0100 Add zone_range to fluid_synth.h commit 7250f40d7aa3dc074c3ffd6dfb1e6aa2821c26f2 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:24:37 2017 +0100 Add zone_range to ramsfont commit a3ffce39355c7fcb86c25ae5c0254758a502b1f3 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:19:39 2017 +0100 Adding zone_range. commit e2f99a91e58950373f99032eb1fa752805ed8eee Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 22:03:44 2017 +0100 type fluid_inst_zone_range_t commit adb5e74311b6010289d7f672985cc24f9153bcfd Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 29 21:57:05 2017 +0100 Adding fluid_inst_zone_range_t in fluid_inst_zone_t commit 89ed46f063301096f0ce4a3b673a8fce3b6c4cde Merge: 45773e17ed5d1f
Author: derselbst <tom.mbrt@googlemail.com> Date: Fri Nov 24 17:40:17 2017 +0100 Merge branch 'master' into polymono commit 45773e14d21a56085da7344d0168fb87a9a58607 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 23 23:44:10 2017 +0100 Ignore voices when there is no instrument zone. commit 156eb2f547cff9e0bca43830ed35f9bb315e48c4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sat Nov 11 00:03:29 2017 +0100 Fix warning build commit 1b1233014a3d8b1fdf043d1fdd4ea51cb6b0aaf9 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Nov 10 20:06:23 2017 +0100 Fix fluid_voice_is_on(voice) commit 88317aaaa8e33f999393a0a582110642e1726e93 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Nov 10 19:55:30 2017 +0100 Replacement of macro _ON(voice ) Replacement of macro _ON() by fluid_voice_is_on() Note : fluid_voice_is_on() isn't yet in fluid_voice.h, so to avoid a failing build we define fluid_voice_is_on() extern. commit 0ba247f2c6c5b93c3354069b791b46be9d9b6235 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Nov 10 18:35:34 2017 +0100 Fix functions naming in chapter 4. commit aeaceefa24b03f0ff28b6fb734c56ab40d16fbf8 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Nov 10 18:34:25 2017 +0100 Delete FluidPolyMono-0003.pdf commit 24f1fa56974dde407007b48f065f0779d78ddfb5 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Nov 10 18:31:25 2017 +0100 Addition of missing comments Comments in fluid_synth_noteon_LOCAL(), fluid_synth_damp_voices_by_sustain_LOCAL(), fluid_synth_damp_voices_by_sostenuto_LOCAL() commit 023a101642fc246c542e900cabdbc1dae24829f0 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 23:15:59 2017 +0100 renaming functions commit 87e26ff24b7f30731ff59878f444c58747dc3277 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 23:08:46 2017 +0100 Renaming functions commit 1b41b67e6fd9ec4ee789abc0448bec8db8923046 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 23:04:54 2017 +0100 renaming functions commit 486dfed111bce8e48b4bad59d0330e4593e92cbf Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 22:59:41 2017 +0100 Renaming functions commit 0d5269520b652114251c13f0d87b2c8ec062a60c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 22:01:24 2017 +0100 Fix build commit 7c0c3c2944ee15a69d7e1b6c1ae6d4c35f062156 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 21:58:46 2017 +0100 Fix build commit 1c7958250d48bdfa46b7df8918d087323ee9bc4c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 20:15:35 2017 +0100 fix build commit dd4c86a2245c76c74781fa3dfa236cd9acfd225e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 20:02:32 2017 +0100 Fix build commit 490d0745dc6e6338b2641f68bac8da86a83b6ed7 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 19:49:29 2017 +0100 Add macro #define _ON(voice) to fix build commit 553a1dc13b87ea0158c7dd2cab8aa7787dc60f2f Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 18:26:04 2017 +0100 Fix build in legato_on_off() commit e075c1e7ba695f3529422c74a77ed2571368a729 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 18:22:10 2017 +0100 Fix comments commit fe763339e3ac3872afcb7bbf557884d31306868a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 18:19:01 2017 +0100 Fix comments commit 662a3632d863fab6e9a949e4030f3018cea49660 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 16:41:37 2017 +0100 Updating Chapter 4 commit e15a0198fe6af9c52004159933faeb7cc7bdb0fc Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 16:40:30 2017 +0100 Delete FluidPolyMono-0003.pdf commit 5bec835f3aa7c4d605a04d66b7eadce9aaf2e276 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 16:01:00 2017 +0100 Renaming fluid_synth_noteon_mono_legato() Renaming fluid_synth_noteon_mono_legato() to fluid_synth_noteon_monopoly_legato() commit 1192769461366dbe496ae41d3ba24f97418013eb Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 15:56:17 2017 +0100 Renaming fluid_synth_noteon_mono_legato() Renaming fluid_synth_noteon_mono_legato() to fluid_synth_noteon_monopoly_legato() commit f76b3062f8ec32ad0cc361af3b4755db128e020e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 15:52:51 2017 +0100 Renaming fluid_synth_noteon_mono_legato() Renaming fluid_synth_noteon_mono_legato() to fluid_synth_noteon_monopoly_legato() commit b80684df57523f55f346c95e4731756715821572 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 15:47:57 2017 +0100 Renaming fluid_synth_noteon_mono_legato() Renaming fluid_synth_noteon_mono_legato() to fluid_synth_noteon_monopoly_legato() commit 181affa17f9099fb3606ee326ee819ad4736cc6b Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 15:45:51 2017 +0100 Renaming fluid_synth_noteon_mono_legato() Renaming fluid_synth_noteon_mono_legato() to fluid_synth_noteon_monopoly_legato() commit 2efbfa98c7a2f80a11a8847ff3d89cc2d545f971 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 00:11:39 2017 +0100 Update documentation Addition of figures in chapter 4. Part 4: Appendices for understanding implementations in FluidSynth. commit a32b12b15c37669c1c1bda9228955bacd9844400 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 00:08:26 2017 +0100 Delete FluidPolyMono-0003.pdf commit ee3820fedd5024131ecbf0f6a66936792c651818 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 9 00:01:45 2017 +0100 Comments addition Comment addition about the size of monolist SIZE_MONOLIST. commit fbf496d8f7c79ed8a72ffb22a12f0ead28815084 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Nov 8 23:57:59 2017 +0100 Comments addition Comments addition relative to FluidPolyMono-0003.pdf chapter 4: "Appendices for understanding implementations in FluidSynth" commit af551859b7558e73915c6fefab873c0ebb46221c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Nov 7 00:29:30 2017 +0100 Update FluidPolyMono.pdf Removing obsoletes chapters. Adding appendices for understanding implementations in FluidSynth (see chapter 4). commit 8953f099bcfbeb58ecbf0b4ad69e97d004cef7bd Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Nov 7 00:26:36 2017 +0100 Delete FluidPolyMono-0003.pdf commit d000ddac93df0c12ecbe4b2de6b3d4fee1b6b06e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Nov 7 00:23:33 2017 +0100 Fix typos errors commit 539c0b3c5db214765ada1ac214391bea33aa2f97 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Nov 7 00:19:06 2017 +0100 Fix typos errors commit 168669bb603fff83166e3c8df1aff972415dd921 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 03:11:11 2017 +0100 correction typos erros commit 8afb104f880660c08556f712aa804c2cb889eb2d Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 02:16:02 2017 +0100 Adding a new chapter. Adding chapter : 3.11. PART 3: APPENDICES FOR UNDERSTANDING IMPLEMENTATIONS IN FS. commit d21a528e474e13d62ac4141d224b9d1d16ca8a29 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 02:13:16 2017 +0100 delete FluidPolyMono-0003.pdf commit 942d911dc886ef391cb8975b93c4380c1c4d8977 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 02:07:08 2017 +0100 changes functions name invalid_prev_note_staccato(), legato_on_off(),breath_note_on_off() commit 62c2529ae3f983797713b64cdaaa2e4c2cb2e3c9 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 02:01:03 2017 +0100 Changes names functions invalid_prev_note_staccato(),legato_on_off(), breath_note_on_off() commit 10271467d86530b16ef606ddbda964215e73690e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Nov 5 01:53:35 2017 +0100 update functions documentation Documentation addition. Correct get_fromkey_portamento_legato() name. Changes names: legato_on_off(), breath_note_on_off(),invalid_prev_note_staccato() commit decf7817706a5ade25903730d11135acfee77817 Merge: 84ee8b330c0a72
Author: derselbst <tom.mbrt@gmail.com> Date: Sat Nov 4 08:52:21 2017 +0100 Merge branch 'master' into polymono commit 84ee8b3304d87485cd21d802214d670183e51c17 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 20:18:03 2017 +0100 Polishing and documenting commit 99eaf83cef87555926c0078eb38912901a80b003 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 20:14:36 2017 +0100 Polishing and documenting commit 172a9b0cae9aef9a18abb31aa4c2d7543b4ea054 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 19:43:51 2017 +0100 Polishing commit 0d0b47181df5cea717ab848e88e5e87a2ce643e1 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 19:00:41 2017 +0100 Polishing commit f55273986d847e99814bd92d8fc109dea02a85f3 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 18:50:38 2017 +0100 Polishing commit fb6f0eac8ce50a987ff438e942d59d1c24b769c4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 18:43:54 2017 +0100 Polishing commit fe8e7f692d89be52a95ae2726b1b20870c7fe042 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 18:35:56 2017 +0100 Polishing commit 8e37f562c14141c573a13bb43e9612a3586e672e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 18:23:06 2017 +0100 polishing commit 8a20a766f995c3c5d9928bb46270758fc92c29a1 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Thu Nov 2 18:18:25 2017 +0100 polishing commit 3dab1a0edc973c0ddfa762b214a22dff4d2e9bb5 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 01:23:11 2017 +0100 Again avoid macros Avoid GetPortamentoMode, GetLegatoMode macros commit d39cfe5a199cb7179a174d11dadbfd2bcb992088 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 01:18:44 2017 +0100 Again avoiding macros Avoid GetChanPortamentoMode, GetChanLegatoMode macros commit bb519495956f5e3d0bc5264d3aea491e5de85afb Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 01:11:54 2017 +0100 Again avoiding macros Avoiding GetChanLegatoMode, GetChanPortamentoMode macros commit c31449626ad195b3fd44215f8bd51be8cfcc6a29 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:40:05 2017 +0100 Add FluidPolyMono-0003.pdf Adding explanations about the legato detector (3.4.3). Adding example about breathmode (3.4.5). commit 53f215e602156ecfbb8aeef81ba7a19e201313d4 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:38:15 2017 +0100 Delete FluidPolyMono-0003.pdf commit 7dcde051986ae8b17c0613e83f0253db647dd1ee Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:30:20 2017 +0100 Again avoiding macros commit 8afbb4503a98d9caa9a85f703d19740bd07ade36 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:24:57 2017 +0100 Again avoid macros commit 4e2a6750c15973cb2515c2f9b7971d821b04031a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:16:04 2017 +0100 Again avoid macros commit 21ae600907287e87f35a8f9c1cd1e0fe6e920565 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 30 00:02:41 2017 +0100 Again avoiding macros commit a0ec029bd886682b3d88ed8150ef90c29a75eec7 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Oct 29 23:46:53 2017 +0100 Again avoiding macros commit 1e583799f6690253bfcad4cbc4fb5fb0f5b9fa99 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Sun Oct 29 23:18:26 2017 +0100 avoiding macros commit d92445b99f0a3fd7f896bd03afca05eaa1271b9c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 27 16:37:34 2017 +0200 Avoid nested macros commit 71d6a180cb574a754e30a821b52b1a975bc4b2f6 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 27 16:13:30 2017 +0200 avoid nested macros commit e22013c37d01734c4bc535eba65e6b2cd8db0aad Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 27 15:40:47 2017 +0200 Avoid nested macros commit 92ba702ffca8284470f45d6568ffa6d81be3a5db Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 27 14:54:19 2017 +0200 Cleanup macro. commit 2a31e93320907779cd7f56d62991bcce00bedaba Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 27 14:49:52 2017 +0200 Removing nested macros. commit 9433f2bf2c91939fddb67ba24057225c9e1be7a7 Merge: 71f7c35cdd9f75
Author: derselbst <tom.mbrt@googlemail.com> Date: Thu Oct 26 19:56:02 2017 +0200 Merge branch 'master' into polymono commit 71f7c35a77e8192596f95df6894dae5e2a653dc2 Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 25 10:38:05 2017 +0200 remove static from fluid_gen_info to fix build commit 6c70db9065f81bc323eadcd654a5d5800ca4622c Merge: 1dbae28e485129
Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 25 09:55:15 2017 +0200 Merge branch 'master' into polymono commit 1dbae2874f68d1eb62db2ab34dcb4e3e1105f47d Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 24 03:02:32 2017 +0200 Add FluidPolyMono-0003.pdf Correction API documentation (see 2.6.1, 2.6.4) commit f01b955de22c4551821199aa670c713a4456e14a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 24 02:57:18 2017 +0200 Delete FluidPolyMono-0003.pdf commit b557289b5f6c3ccb531c6c38b45fc61e089a83bc Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 24 02:55:31 2017 +0200 Replacing FLUID_POLYMONO_WARNING by FLUID_FAILED commit 2d06adef8af6e8d2cef2e03ab669270a727a1742 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 24 02:52:06 2017 +0200 Replacing FLUID_POLYMONO_WARNING by FLUID_FAILED commit 06108d9f7a61f8773cac02bc32749859e415794e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 24 02:38:23 2017 +0200 Replacing FLUID_POLYMONO_WARNING by FLUID_FAILED commit 66b85fb38ec24bb3468e5b8c205a8b15a0002272 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 16:08:46 2017 +0200 Polymono documentation has moved to ./doc/polymono commit 1a03ef03e1ad1043152224cf604ec2bb47756f74 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 15:41:21 2017 +0200 Adapt functions names to follow fluidsynth conventions. commit d40cf8798612eea9accf41aba7e325d6a69f326e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 15:33:42 2017 +0200 Adapt functions naming to follow fluidsynth conventions. commit 49423cb8bfb7b19b9164d6e642b4549468f003f7 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 15:28:08 2017 +0200 Adapt functions names to fluidsynth conventions Avoiding abbreviations. Change functions names to follow fluidsynth conventions commit bc5345ab1c37173cf075b6572dbff5d8bd57a85a Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 14:56:41 2017 +0200 Clarify variables spelling and bug fix Avoiding abbreviations in comments and variables names. Bug fix. commit 1f0a1ad3cbf1180ed242eb5997b18b79a98db6ba Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 14:48:00 2017 +0200 Clarify variables meaning avoiding abbreviations in comment and variables. commit c947686bfc8d6adde47c831a411d639938df8428 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 14:35:05 2017 +0200 Clarify comments. Avoiding abbreviations on comments commit 7e7296e276b1c9ef254788634e5e2bc565dec211 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 01:34:53 2017 +0200 Adding others documentation files. commit 4a6417ff8fb3afa60f6cd39f6b299759e122398c Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Fri Oct 20 01:32:02 2017 +0200 Create readme.txt commit 3babbed01e6fb3a264bb61d6e0be0d67e45cd853 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Wed Oct 18 16:27:48 2017 +0200 Update and fix API parameters checking in fluid_synth_polymono.c Fix correction in Poly/Mono API fluid_synth_get_channel_mode() fluid_synth_set_legato_mode(), fluid_synth_get_legato_mode() fluid_synth_set_portamento_mode(), fluid_synth_get_portamento_mode() fluid_synth_set_breath_mode(),fluid_synth_get_breath_mode() commit 98234eb7c146c75bd25cef0813b1f1b12d93ad84 Merge: bb7b483b908c04
Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 13:18:05 2017 +0200 Merge branch 'master' into polymono commit bb7b48340cde04ee7c8e0d19942e45de3fa5197e Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 12:51:19 2017 +0200 fix param check for fluid_synth_set_basic_channel() commit b2157bdc4aa614647ff0a32d46b53941999d6fed Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 12:34:14 2017 +0200 another param check fix for fluid_synth_reset_basic_channels() commit 2ff7dccb555099f1f508e5318aa295338638123a Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 10:52:40 2017 +0200 correctly check parameters and enter synth API for fluid_synth_reset_basic_channels() commit 55ca184b1fa1a2bfa61918d155e9b8d7a32d2c0e Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 10:29:05 2017 +0200 move synth API entry macros to header so they are usable in polymono and mono synth files commit deb1ea53a121625eaa913b9b16f4a63a8eb4183e Author: derselbst <tom.mbrt@googlemail.com> Date: Wed Oct 18 10:25:17 2017 +0200 Revert "Update API parameter checking" This reverts commit 8ca4c7d16130c928580f410af9c79663fc8d069e. Crashes if synth == NULL commit 8ca4c7d16130c928580f410af9c79663fc8d069e Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Tue Oct 17 20:50:26 2017 +0200 Update API parameter checking Update Poly mono API parameters checking to be thread safe. commit d5b95232efcc14c072d9237c26a5bd68fe647b69 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 16 18:25:48 2017 +0200 Cleaning up the documentation Cleaning up the documentation, comments, typos errors. commit 72d9cdfc99cef9da1638adfde86138444a8f6817 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 16 17:45:52 2017 +0200 cleaning up the API documentation cleaning up the API documentation and comments so it is usable with doxygen. commit bf587f4998267ebfbbc7682abdb1abec3fc12009 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 13:31:24 2017 +0200 move polymono shell commands to fluid_cmd and fix build commit 20d417e83b42ea0403f484d4c45d3723a3616c13 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 13:30:49 2017 +0200 fix public synth portamento function decl commit f1a9856f5f79c1fd7e9e31bdf2c1c3276545ad94 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 11:34:48 2017 +0200 move function decl. to header commit 4c75d038973413e97e9c52b19237cae4850e592b Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 11:12:17 2017 +0200 fluid_synth_noteoff_monopoly(): use voice getter functions commit fa00735fa1af49089026abf30f6763e3481bccf2 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 11:05:00 2017 +0200 fix declaration of fluid_voice_noteoff() commit f53c00f2e0defa91a49185919b4ea451e4b58ac9 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 11:02:18 2017 +0200 fix broken merge of fluid_synth_program_change() commit c18f88df9a8fd80a0ad58ad3a08ea12c6eb10681 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 11:01:58 2017 +0200 reorder modulator decalaration commit 12b378244be1b137dfc1e18e4e928bed8073e7c2 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 10:42:30 2017 +0200 rename breath2att modulator commit ba3b3c855a8dbcab1a4b8601f52577600061fd42 Author: derselbst <tom.mbrt@googlemail.com> Date: Sun Oct 15 10:35:42 2017 +0200 manually resolved conflict in fluid_synth_alloc_voice() for polymono commit 7b31b8605c94bea44dbacc0779ded1ef7b3eaaab Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Oct 14 11:25:49 2017 +0200 fix indentation commit 1d1d03cb3a27a99643e5f6a4d701b137191cd1b1 Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Oct 14 11:24:52 2017 +0200 manually merge fluid_synth_noteoff_monopoly() commit f8fa5d6534553fbb7d617f06620fd3b746349cdd Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Oct 14 11:12:37 2017 +0200 refactor fluid_voice_noteoff() to return void commit 3430db0dce1ff0084da60beb157fb36ca1a23c7d Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Oct 14 10:35:45 2017 +0200 add PDF documenting polymono functionality commit e3818abe427a14bcd05d7c959cd6d125533b4219 Author: derselbst <tom.mbrt@googlemail.com> Date: Sat Oct 14 10:34:52 2017 +0200 manually resolve fluid_voice_calculate_pitch() conflict commit b94d42b3923bfcab0a270903ad69bba2d3531089 Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Oct 10 22:49:16 2017 +0200 move polymono synth files to correct dir commit 2719e03cfce460a132477080d383e5de5de70fed Merge: badddc50902b26
Author: derselbst <tom.mbrt@googlemail.com> Date: Tue Oct 10 21:03:49 2017 +0200 Merge branch 'master' into polymono a few too complex conflicts remain unresolved commit badddc5b43e064b597c72992434a9786f1367597 Author: jjceresa <32781294+jjceresa@users.noreply.github.com> Date: Mon Oct 9 17:50:58 2017 +0200 applied jjc's poly mono patch start of poly/mono implementation, addressing #158
364 lines
11 KiB
C
364 lines
11 KiB
C
/* FluidSynth - A Software Synthesizer
|
|
*
|
|
* Copyright (C) 2003 Peter Hanappe and others.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public License
|
|
* as published by the Free Software Foundation; either version 2.1 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful, but
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free
|
|
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301, USA
|
|
*/
|
|
|
|
/* fluid_portaudio.c
|
|
*
|
|
* Drivers for the PortAudio API : www.portaudio.com
|
|
* Implementation files for PortAudio on each platform have to be added
|
|
*
|
|
* Stephane Letz (letz@grame.fr) Grame
|
|
* 12/20/01 Adapdation for new audio drivers
|
|
*
|
|
* Josh Green <jgreen@users.sourceforge.net>
|
|
* 2009-01-28 Overhauled for PortAudio 19 API and current FluidSynth API (was broken)
|
|
*/
|
|
|
|
#include "fluid_synth.h"
|
|
#include "fluid_settings.h"
|
|
#include "fluid_adriver.h"
|
|
|
|
#if PORTAUDIO_SUPPORT
|
|
|
|
#include <portaudio.h>
|
|
|
|
|
|
/** fluid_portaudio_driver_t
|
|
*
|
|
* This structure should not be accessed directly. Use audio port
|
|
* functions instead.
|
|
*/
|
|
typedef struct
|
|
{
|
|
fluid_audio_driver_t driver;
|
|
fluid_synth_t *synth;
|
|
fluid_audio_callback_t read;
|
|
PaStream *stream;
|
|
} fluid_portaudio_driver_t;
|
|
|
|
static int
|
|
fluid_portaudio_run (const void *input, void *output, unsigned long frameCount,
|
|
const PaStreamCallbackTimeInfo* timeInfo,
|
|
PaStreamCallbackFlags statusFlags, void *userData);
|
|
void delete_fluid_portaudio_driver (fluid_audio_driver_t *p);
|
|
|
|
#define PORTAUDIO_DEFAULT_DEVICE "PortAudio Default"
|
|
|
|
/**
|
|
* Checks if device_num is a valid device and returns the name of the portaudio device.
|
|
* A device is valid if it is an output device with at least 2 channels.
|
|
*
|
|
* @param device_num index of the portaudio device to check.
|
|
* @param name_ptr if device_num is valid, set to a unique device name, ignored otherwise
|
|
*
|
|
* The name returned is unique for each num_device index, so this
|
|
* name is useful to identify any available host audio device.
|
|
* This name is convenient for audio.portaudio.device setting.
|
|
*
|
|
* The format of the name is: device_index:host_api_name:host_device_name
|
|
*
|
|
* example: 5:MME:SB PCI
|
|
*
|
|
* 5: is the portaudio device index.
|
|
* MME: is the host API name.
|
|
* SB PCI: is the host device name.
|
|
*
|
|
* @return #FLUID_OK if device_num is a valid output device, #FLUID_FAILED otherwise.
|
|
* When #FLUID_OK, the name is returned in allocated memory. The caller must check
|
|
* the name pointer for a valid memory allocation and should free the memory.
|
|
*/
|
|
static int fluid_portaudio_get_device_name(int device_num, char **name_ptr)
|
|
{
|
|
const PaDeviceInfo *deviceInfo = Pa_GetDeviceInfo (device_num);
|
|
|
|
if( deviceInfo->maxOutputChannels >= 2 )
|
|
{
|
|
const PaHostApiInfo *hostInfo = Pa_GetHostApiInfo( deviceInfo->hostApi );
|
|
/* The size of the buffer name for the following format:
|
|
device_index:host_api_name:host_device_name.
|
|
*/
|
|
int i = device_num;
|
|
int size = 0;
|
|
do {size++; i = i/10 ;} while(i); /* index size */
|
|
/* host API size + host device size + 2 separators + zero termination */
|
|
size += strlen(hostInfo->name) + strlen(deviceInfo->name) + 3;
|
|
*name_ptr = FLUID_MALLOC (size);
|
|
if (*name_ptr)
|
|
{ /* the name is filled if allocation is successful */
|
|
FLUID_SPRINTF(*name_ptr,"%d:%s:%s",device_num,
|
|
hostInfo->name, deviceInfo->name);
|
|
}
|
|
return FLUID_OK; /* device_num is a valid device */
|
|
}
|
|
else return FLUID_FAILED; /* device_num is an invalid device */
|
|
}
|
|
|
|
/**
|
|
* Initializes "audio.portaudio.device" setting with an options list of unique device names
|
|
* of available sound card devices.
|
|
* @param settings pointer to settings.
|
|
*/
|
|
void
|
|
fluid_portaudio_driver_settings (fluid_settings_t *settings)
|
|
{
|
|
int numDevices;
|
|
PaError err;
|
|
int i;
|
|
|
|
fluid_settings_register_str (settings, "audio.portaudio.device", PORTAUDIO_DEFAULT_DEVICE, 0);
|
|
fluid_settings_add_option (settings, "audio.portaudio.device", PORTAUDIO_DEFAULT_DEVICE);
|
|
|
|
err = Pa_Initialize();
|
|
|
|
if (err != paNoError)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Error initializing PortAudio driver: %s",
|
|
Pa_GetErrorText (err));
|
|
return;
|
|
}
|
|
|
|
numDevices = Pa_GetDeviceCount();
|
|
|
|
if (numDevices < 0)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "PortAudio returned unexpected device count %d", numDevices);
|
|
}
|
|
else for (i = 0; i < numDevices; i++)
|
|
{
|
|
char * name;
|
|
if(fluid_portaudio_get_device_name(i, &name) == FLUID_OK)
|
|
{
|
|
/* the device i is a valid output device */
|
|
if(name)
|
|
{
|
|
/* registers this name in the option list */
|
|
fluid_settings_add_option (settings, "audio.portaudio.device", name);
|
|
FLUID_FREE (name);
|
|
}
|
|
else
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Out of memory");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* done with PortAudio for now, may get reopened later */
|
|
err = Pa_Terminate();
|
|
|
|
if (err != paNoError)
|
|
printf ("PortAudio termination error: %s\n", Pa_GetErrorText (err) );
|
|
}
|
|
|
|
/**
|
|
* Creates the portaudio driver and opens the portaudio device
|
|
* indicated by audio.portaudio.device setting.
|
|
*
|
|
* @param settings pointer to settings
|
|
* @param synth the synthesizer instance
|
|
* @return pointer to the driver on success, NULL otherwise.
|
|
*/
|
|
fluid_audio_driver_t *
|
|
new_fluid_portaudio_driver (fluid_settings_t *settings, fluid_synth_t *synth)
|
|
{
|
|
fluid_portaudio_driver_t *dev = NULL;
|
|
PaStreamParameters outputParams;
|
|
char *device = NULL; /* the portaudio device name to work with */
|
|
double sample_rate; /* intended sample rate */
|
|
int period_size; /* intended buffer size */
|
|
PaError err;
|
|
|
|
dev = FLUID_NEW (fluid_portaudio_driver_t);
|
|
|
|
if (dev == NULL)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Out of memory");
|
|
return NULL;
|
|
}
|
|
|
|
err = Pa_Initialize ();
|
|
|
|
if (err != paNoError)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Error initializing PortAudio driver: %s",
|
|
Pa_GetErrorText (err));
|
|
FLUID_FREE (dev);
|
|
return NULL;
|
|
}
|
|
|
|
FLUID_MEMSET (dev, 0, sizeof (fluid_portaudio_driver_t));
|
|
|
|
dev->synth = synth;
|
|
|
|
/* gets audio parameters from the settings */
|
|
fluid_settings_getint (settings, "audio.period-size", &period_size);
|
|
fluid_settings_getnum (settings, "synth.sample-rate", &sample_rate);
|
|
fluid_settings_dupstr(settings, "audio.portaudio.device", &device); /* ++ alloc device name */
|
|
|
|
memset (&outputParams, 0, sizeof (outputParams));
|
|
outputParams.channelCount = 2; /* For stereo output */
|
|
outputParams.suggestedLatency = (PaTime)period_size / sample_rate;
|
|
|
|
/* Locate the device if specified */
|
|
if (FLUID_STRCMP (device, PORTAUDIO_DEFAULT_DEVICE) != 0)
|
|
{ /* The intended device is not the default device name, so we search
|
|
a device among available devices */
|
|
int numDevices;
|
|
int i;
|
|
|
|
numDevices = Pa_GetDeviceCount ();
|
|
|
|
if (numDevices < 0)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "PortAudio returned unexpected device count %d", numDevices);
|
|
goto error_recovery;
|
|
}
|
|
|
|
for (i = 0; i < numDevices; i++)
|
|
{
|
|
char * name;
|
|
if(fluid_portaudio_get_device_name(i, &name) == FLUID_OK )
|
|
{
|
|
/* the device i is a valid output device */
|
|
if(name)
|
|
{
|
|
/* We see if the name corresponds to audio.portaudio.device */
|
|
char found = (FLUID_STRCMP (device, name) == 0);
|
|
FLUID_FREE (name);
|
|
|
|
if(found)
|
|
{
|
|
/* the device index is found */
|
|
outputParams.device = i;
|
|
/* The search is finished */
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Out of memory");
|
|
goto error_recovery;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (i == numDevices)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "PortAudio device '%s' was not found", device);
|
|
goto error_recovery;
|
|
}
|
|
}
|
|
else
|
|
{ /* the default device will be used */
|
|
outputParams.device = Pa_GetDefaultOutputDevice();
|
|
}
|
|
|
|
/* The device is found. We set the sample format and the audio rendering
|
|
function suited to this format.
|
|
*/
|
|
if (fluid_settings_str_equal (settings, "audio.sample-format", "16bits"))
|
|
{
|
|
outputParams.sampleFormat = paInt16;
|
|
dev->read = fluid_synth_write_s16;
|
|
}
|
|
else if (fluid_settings_str_equal (settings, "audio.sample-format", "float"))
|
|
{
|
|
outputParams.sampleFormat = paFloat32;
|
|
dev->read = fluid_synth_write_float;
|
|
}
|
|
else
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Unknown sample format");
|
|
goto error_recovery;
|
|
}
|
|
|
|
/* PortAudio section */
|
|
|
|
/* Open an audio I/O stream. */
|
|
err = Pa_OpenStream (&dev->stream,
|
|
NULL, /* Input parameters */
|
|
&outputParams, /* Output parameters */
|
|
sample_rate,
|
|
period_size,
|
|
paNoFlag,
|
|
fluid_portaudio_run, /* callback */
|
|
dev);
|
|
|
|
if (err != paNoError)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Error opening PortAudio stream: %s",
|
|
Pa_GetErrorText (err));
|
|
goto error_recovery;
|
|
}
|
|
|
|
err = Pa_StartStream (dev->stream); /* starts the I/O stream */
|
|
|
|
if (err != paNoError)
|
|
{
|
|
FLUID_LOG (FLUID_ERR, "Error starting PortAudio stream: %s",
|
|
Pa_GetErrorText (err));
|
|
goto error_recovery;
|
|
}
|
|
|
|
if (device) FLUID_FREE (device); /* -- free device name */
|
|
|
|
return (fluid_audio_driver_t *)dev;
|
|
|
|
error_recovery:
|
|
if (device) FLUID_FREE (device); /* -- free device name */
|
|
delete_fluid_portaudio_driver ((fluid_audio_driver_t *)dev);
|
|
return NULL;
|
|
}
|
|
|
|
/* PortAudio callback
|
|
* fluid_portaudio_run
|
|
*/
|
|
static int
|
|
fluid_portaudio_run (const void *input, void *output, unsigned long frameCount,
|
|
const PaStreamCallbackTimeInfo* timeInfo,
|
|
PaStreamCallbackFlags statusFlags, void *userData)
|
|
{
|
|
fluid_portaudio_driver_t *dev = (fluid_portaudio_driver_t *)userData;
|
|
/* it's as simple as that: */
|
|
dev->read (dev->synth, frameCount, output, 0, 2, output, 1, 2);
|
|
return 0;
|
|
}
|
|
|
|
/*
|
|
* delete_fluid_portaudio_driver
|
|
*/
|
|
void
|
|
delete_fluid_portaudio_driver(fluid_audio_driver_t *p)
|
|
{
|
|
fluid_portaudio_driver_t* dev = (fluid_portaudio_driver_t*)p;
|
|
PaError err;
|
|
fluid_return_if_fail(dev != NULL);
|
|
|
|
/* PortAudio section */
|
|
if (dev->stream) Pa_CloseStream (dev->stream);
|
|
|
|
err = Pa_Terminate();
|
|
|
|
if (err != paNoError)
|
|
printf ("PortAudio termination error: %s\n", Pa_GetErrorText (err) );
|
|
|
|
FLUID_FREE (dev);
|
|
}
|
|
|
|
#endif /* PORTAUDIO_SUPPORT */
|