Commit Graph

54 Commits

Author SHA1 Message Date
Albert Graef fe3378be4f Add an option and directive for pass-through of non-system messages. 2018-09-20 01:25:18 +02:00
Albert Graef 5a87c30f66 Make it possible to specify exactly which ports MIDI pass-through should be applied to. 2018-09-18 22:31:12 +02:00
Albert Graef 5e284565df Basic regexes are too limited. Switch to extended regexes in matching translation sections instead. 2018-09-18 11:53:43 +02:00
Albert Graef 36bbdd037f Bugfix: ensure that we don't override an incremental data translation with a default key/mod translation and vice versa. 2018-09-16 09:52:04 +02:00
Albert Graef a81a0f87da Add synthetic macro events, change detection, and some refactoring bugfixes. 2018-09-15 23:52:56 +02:00
Albert Graef b7701e496b Rework the processing of shift status, part 2. Removed the ? prefix, rules are now anyshift by default. The prefix 0^ now denotes a rule only active in unshifted state. 2018-09-14 06:51:40 +02:00
Albert Graef 4ceef9cbd9 Rework the processing of shift status, bugfixes. Anyshift rules are now considered default rules which may be overridden. 2018-09-14 06:28:13 +02:00
Albert Graef f2aedd6267 Add support for direct feedback. 2018-09-13 19:38:32 +02:00
Albert Graef fd883c1391 Allow up to four different internal shift keys. 2018-09-12 19:57:03 +02:00
Albert Graef 3e47533617 Add an automatic feedback option (enabled by default) to keep track of incoming feedback, so that incremental data translations use the right values. Also add a command line option and config file directive to disable it if needed, and a directive for system pass-through which corresponds to the -s command line option. 2018-09-12 10:51:27 +02:00
Albert Graef 8f9d1a4ae8 Bugfixes in mod translations. 2018-09-05 04:58:32 +02:00
Albert Graef 7fbae6adb8 Allow empty output sequences, and add a special NOP token which doesn't produce any output. This makes it possible to have translations which don't produce any output, suppressing any default translations. 2018-09-03 17:04:37 +02:00
Albert Graef 22ff7683d2 Fix up -o option. 2018-09-02 00:12:36 +02:00
Albert Graef b3b74f7579 Add an empty modulus bracket as syntactic sugar to denote a basic mod translation with zero offset. 2018-09-01 17:14:12 +02:00
Albert Graef 2bb1113fac Bugfix in MIDI parser. 2018-09-01 07:42:39 +02:00
Albert Graef b2ecfbff26 Bugfix: config parser was skipping the last token at eof if not followed by newline. 2018-08-30 20:53:18 +02:00
Albert Graef c509e46926 Improved error messages. 2018-08-30 16:23:46 +02:00
Albert Graef 8d42c1658d Add a syntax for enumerations in value lists. 2018-08-30 14:46:35 +02:00
Albert Graef 395fd5ebe8 Comment changes. 2018-08-30 06:08:16 +02:00
Albert Graef bad70bfaf7 Change the value list syntax to curly braces to avoid some ambiguities. 2018-08-30 05:46:30 +02:00
Albert Graef 67a34e7693 Add a transposition flags for swapping offset and value in mod translations. 2018-08-29 14:52:20 +02:00
Albert Graef 5241d9a0c9 Add support for recursive translations (experimental). 2018-08-29 00:35:07 +02:00
Albert Graef 376956207a Improve checks so that each input can be be bound to at most one output sequence per translation section. 2018-08-28 17:34:15 +02:00
Albert Graef fe255692c1 Make maximum list size large enough to accommodate pitch bend. 2018-08-28 15:22:42 +02:00
Albert Graef 832e98266c For consistency, treat notes like the other messages having a parameter value, so that they can be used in data translations. 2018-08-28 10:14:55 +02:00
Albert Graef ca4e82ca7a Comment changes, update the manual. 2018-08-26 14:48:22 +02:00
Albert Graef 0329d608e9 Allow list values to be repeated. 2018-08-26 10:28:50 +02:00
Albert Graef 46d15aa3d2 Special mod translations in key mode (experimental). 2018-08-25 19:14:44 +02:00
Albert Graef 919285f528 Cosmetic changes in error messages from the config parser. 2018-08-23 08:57:30 +02:00
Albert Graef afad148573 Cosmetic change: remove empty square brackets in debugging output of data translations. 2018-08-20 14:49:42 +02:00
Albert Graef 52fa84bf12 Make negative step sizes work on output in data mode, and also with pb in key mode. 2018-08-19 22:50:45 +02:00
Albert Graef 94f59441cd Warn if the incremental flag is used in key translations. 2018-08-19 21:45:34 +02:00
Albert Graef 496591cd5d Add support for aftertouch (key and channel pressure) messages, update documentation. 2018-08-19 21:24:06 +02:00
Albert Graef 8a4bad93db Typo. 2018-08-17 02:32:28 +02:00
Albert Graef ade9aa3db8 Optimize memory usage of the translation tables, using sorted arrays and binary search. Still runs reasonably fast, and memory usage is much lower know (in the KB range). 2018-08-15 00:06:08 +02:00
Albert Graef 9d6cc38171 Add an internal shift status and SHIFT token to make it possible to translate the same input to different outputs depending on the shift status. 2018-08-14 10:52:34 +02:00
Albert Graef ffa3ba5e05 Allow step sizes also with keypress-like events (note etc.) in the output, improved debugging output. 2018-08-12 23:52:11 +02:00
Albert Graef 3c95512b81 Add an option (-j) to set the Jack client name. Moreover, add equivalent directives for both the -j and -o options, so that they can also be set from the midizaprc file. 2018-08-12 10:30:08 +02:00
Albert Graef 2b2d11ed3c Rework the MIDI_OCTAVE directive so that the octave offset can also be given in the next token. 2018-08-12 09:01:54 +02:00
Albert Graef eccbb9ce64 Add a debugging option for MIDI input (-dm). 2018-08-12 08:38:33 +02:00
Albert Graef 1b1edeea1a Add a MIDI_OCTAVE directive which enables the user to choose the preferred octave numbering scheme. 2018-08-12 01:21:11 +02:00
Albert Graef baf25584c9 Update example.midizaprc and README.md, comment changes. 2018-08-11 23:53:11 +02:00
Albert Graef 6f0bec4b74 Refactoring and bugfixes. Also added the capability to add another pair of MIDI ports (-o2). 2018-08-11 22:34:55 +02:00
Albert Graef b7afc6bd51 Add step size option to CC messages, bugfixes. 2018-08-10 20:43:05 +02:00
Albert Graef af48ab56b2 Add some convenience syntax for bidirectional cc and pb translations. 2018-08-10 19:24:23 +02:00
Albert Graef 19e92acdef Cosmetic changes in MIDI parser. 2018-08-10 17:12:53 +02:00
Albert Graef 597847cece Rename the -t option to -o. 2018-08-10 05:26:02 +02:00
Albert Graef 465a16cee6 Check whether we need to reload the config file in regular intervals, even if the focus doesn't change and no MIDI input is being processed. 2018-08-10 04:44:26 +02:00
Albert Graef 3270f70cc1 Comment changes. 2018-08-09 20:29:34 +02:00
Albert Graef e1468bd401 Add support for incremental (endless rotary) controls, bugfixes. 2018-08-09 20:29:34 +02:00