/[svn]/linuxsampler/trunk/src/drivers/midi/MidiInputPort.cpp
ViewVC logotype

Log of /linuxsampler/trunk/src/drivers/midi/MidiInputPort.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 2500 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 10 12:20:05 2014 UTC (5 years, 10 months ago) by schoenebeck
File length: 29864 byte(s)
Diff to previous 2431
* Added support for multiple MIDI input ports per sampler channel (added
  various new C++ API methods for this new feature/design, old C++ API
  methods are now marked as deprecated but should still provide full
  behavior backward compatibility).
* LSCP Network interface: Added the following new LSCP commands for the new
  feature mentioned above: "ADD CHANNEL MIDI_INPUT",
  "REMOVE CHANNEL MIDI_INPUT" and "LIST CHANNEL MIDI_INPUTS". As with the
  C++ API changes, the old LSCP commands for MIDI input management are now
  marked as deprecated, but are still there and should provide full behavior
  backward compatibility.
* New LSCP specification document (LSCP v1.6).
* AbstractEngine::GSCheckSum(): don't allocate memory on the stack (was
  unsafe and caused compilation error with old clang 2.x).
* Bumped version (1.0.0.svn25).


Revision 2431 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 4 15:12:48 2013 UTC (6 years, 8 months ago) by schoenebeck
File length: 29771 byte(s)
Diff to previous 2427
* CoreMIDI fix: a MIDIPacket can contain more than one event per packet.


Revision 2427 - (view) (download) (annotate) - [select for diffs]
Modified Sat Mar 2 07:03:04 2013 UTC (6 years, 8 months ago) by persson
File length: 28819 byte(s)
Diff to previous 2426
* code refactoring: added a lock guard class for exception safe mutex
  handling and used it everywhere appropriate


Revision 2426 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 1 23:00:17 2013 UTC (6 years, 8 months ago) by schoenebeck
File length: 28981 byte(s)
Diff to previous 2380
* MIDI drivers: Implemented missing handling of MIDI "running status".
* MME driver: pass time stamps to the sampler.


Revision 2380 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 21 21:52:15 2012 UTC (7 years ago) by schoenebeck
File length: 27060 byte(s)
Diff to previous 2317
* Added support for MIDI note on velocity filter
* Bumped version to 1.0.0.svn20


Revision 2317 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 19 12:13:19 2012 UTC (7 years, 9 months ago) by persson
File length: 25465 byte(s)
Diff to previous 2025
* sfz engine bugfix: looping was disabled if loop_start was set to 0
* sfz engine: allow regions with end=-1 to turn off other regions
  using the group and off_by opcodes (#168)
* sfz engine: made end=0 play the whole sample
* sfz engine: fixed support for lochan and hichan opcodes (#155)
* bumped version to 1.0.0.svn17


Revision 2025 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 1 18:47:59 2009 UTC (10 years ago) by schoenebeck
File length: 25257 byte(s)
Diff to previous 1924
* added support for sending MIDI CC messages via LSCP command
  "SEND CHANNEL MIDI_DATA CC <sampler-chan> <ctrl> <val>"


Revision 1924 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 28 16:43:38 2009 UTC (10 years, 4 months ago) by persson
File length: 24599 byte(s)
Diff to previous 1887
* made program change handling in MIDI thread real-time safe by moving
  the logic to a non-RT thread


Revision 1887 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 18 08:17:16 2009 UTC (10 years, 7 months ago) by persson
File length: 27579 byte(s)
Diff to previous 1765
* bugfix: pitch bend wasn't working with JackMidi, VST, LV2, Mme,
  CoreMidi or AU
* theoretical fix: made SynchronizedConfig follow C++0x memory model
  more strictly


Revision 1765 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 6 16:44:42 2008 UTC (11 years, 2 months ago) by persson
File length: 26477 byte(s)
Diff to previous 1751
* refactoring: extracted lscp notification from main() to a separate
  function
* added helper function MidiInputPort::DispatchRaw for midi device
  implementations with raw byte data
* fixed a win32 build error (atomic.h is working on windows too)
* code cleanup: moved lscp classes into LinuxSampler namespace


Revision 1751 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 28 07:36:35 2008 UTC (11 years, 3 months ago) by schoenebeck
File length: 25326 byte(s)
Diff to previous 1695
* bugfix: process chromatic / drumkit mode sysex message only for
  the respective engine channels that are connected to the MIDI
  input port on which the message was received


Revision 1695 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 16 01:09:33 2008 UTC (11 years, 9 months ago) by schoenebeck
File length: 25320 byte(s)
Diff to previous 1424
* added new LSCP event "DEVICE_MIDI" which can be used by frontends to
  react on MIDI data arriving on certain MIDI input devices (so far only
  Note-On and Note-Off events are sent via this LSCP event)
* bumped version to 0.5.1.4cvs


Revision 1424 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 14 22:00:17 2007 UTC (12 years, 1 month ago) by schoenebeck
File length: 22776 byte(s)
Diff to previous 1135
* code cleanup:
- global.h now only covers global definitions that are needed for the C++
  API header files, all implementation internal global definitions are now
  in global_private.h
- atomic.h is not exposed to the C++ API anymore (replaced the references
  in SynchronizedConfig.h for this with local definitions)
- no need to include config.h anymore for using LS's API header files
- DB instruments classes are not exposed to the C++ API
- POSIX callback functions of Thread.h are hidden
- the (optional) gig Engine benchmark compiles again
- updated Doxyfile.in
- fixed warnings in API doc generation
* preparations for release 0.5.0


Revision 1135 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 29 09:40:45 2007 UTC (12 years, 7 months ago) by iliev
File length: 22735 byte(s)
Diff to previous 973
* Added new LSCP command - SET FX_SEND NAME
* The default map is now the first available map


Revision 973 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 15 21:40:27 2006 UTC (12 years, 11 months ago) by schoenebeck
File length: 22531 byte(s)
Diff to previous 947
* revised and extended MIDI instrument mapping feature to allow managing
  arbitrary amount of maps and assigning each sampler channel individually
  to one map (this commit batch includes LSCP spec document update and
  respective implementation on LS side)


Revision 947 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 27 21:34:55 2006 UTC (12 years, 11 months ago) by schoenebeck
File length: 21758 byte(s)
Diff to previous 922
* implemented MIDI instrument mapping according to latest LSCP draft


Revision 922 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 2 18:40:10 2006 UTC (13 years, 1 month ago) by persson
File length: 16784 byte(s)
Diff to previous 906
* small fix of LFO1 behaviour (dampening from max volume instead of
  amplifying from 0)
* added checks for bad MIDI data


Revision 906 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 23 16:44:08 2006 UTC (13 years, 4 months ago) by schoenebeck
File length: 16165 byte(s)
Diff to previous 880
* MIDI driver API extension for MIDI drivers which already supply exact
  time stamps for events (i.e. for offline rendering based MIDI drivers)


Revision 880 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 27 22:57:37 2006 UTC (13 years, 4 months ago) by schoenebeck
File length: 12080 byte(s)
Diff to previous 846
just some refactoring work:
- renamed class LinuxSamplerException -> Exception
- encapsulated LS API relevant files into LS namespace
- removed unnecessary header inclusions


Revision 846 - (view) (download) (annotate) - [select for diffs]
Modified Sun Mar 19 16:38:22 2006 UTC (13 years, 8 months ago) by persson
File length: 12092 byte(s)
Diff to previous 840
* more thread safety fixes: another fix for lscp "load engine" and
  midi thread. Sysex midi protected against lscp. Instrument loader
  thread protected against lscp thread.


Revision 840 - (view) (download) (annotate) - [select for diffs]
Modified Sun Feb 26 13:00:08 2006 UTC (13 years, 8 months ago) by persson
File length: 11322 byte(s)
Diff to previous 836
* fixed some concurrency problems between the lscp thread and the
  audio/midi threads for these commands: load engine, set channel
  audio output device, set channel midi input device/port/channel and
  remove channel. Thanks to Vincent Bongiorno for bug reports and
  testing.
* removed an autotools warning
* fixed an iterator bug
* minor code clean-ups


Revision 836 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 8 20:28:46 2006 UTC (13 years, 9 months ago) by persson
File length: 10201 byte(s)
Diff to previous 775
* fixed some invalid iterator errors


Revision 775 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 21 14:30:43 2005 UTC (14 years, 2 months ago) by schoenebeck
File length: 10209 byte(s)
Diff to previous 675
* src/drivers/MidiInputPort.cpp: fixed legacy SysEx code which caused
  dispatching of MIDI SysEx messages several times instead of once
* src/engines/gig/Engine.cpp: fixed bug in SysEx handling
  (patch by Juan Linietsky)


Revision 675 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 22 22:09:28 2005 UTC (14 years, 5 months ago) by schoenebeck
File length: 11031 byte(s)
Diff to previous 670
* update MIDI channel info on program change


Revision 670 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 21 18:00:52 2005 UTC (14 years, 5 months ago) by schoenebeck
File length: 10125 byte(s)
Diff to previous 551
* don't reset volume, pan, pitch and MIDI controller values on instrument
  or audio output device change
* send 'CHANNEL_INFO' LSCP event on MIDI program change messages


Revision 551 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 17 18:16:54 2005 UTC (14 years, 6 months ago) by schoenebeck
File length: 9991 byte(s)
Diff to previous 411
* Implemented MIDI program change as general, engine independant solution.
  The program number will determine the sampler channel to which the MIDI
  device will be connected to and the given MIDI channel defines on which
  MIDI channel that sampler channel should listen to. Also the program
  change will disconnect probably established connection from the previous
  program change event.


Revision 411 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 26 02:01:14 2005 UTC (14 years, 8 months ago) by schoenebeck
File length: 8623 byte(s)
Diff to previous 274
* design change: using now one sampler engine instance and one disk thread
  instance for all sampler channels that are connected to the same audio
  output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
  dependencies e.g. of the lscpserver to the actual sampler engine
  implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
  previous, stable CVS version was tagged as "v0_2_0" and is also available
  as source tarball)


Revision 274 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 9 00:46:18 2004 UTC (15 years, 1 month ago) by schoenebeck
File length: 8131 byte(s)
Diff to previous 244
* MidiInputPort: fixed dispatching of MIDI events to engines which are
  listening to all MIDI channels
* switched MIDI channel indexing to low level indexing (means 0..15 now)


Revision 244 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 17 01:01:11 2004 UTC (15 years, 2 months ago) by schoenebeck
File length: 5668 byte(s)
Diff to previous 221
* added support for scale tuning via MIDI GS system exclusive message


Revision 221 - (view) (download) (annotate) - [select for diffs]
Added Fri Aug 20 17:25:19 2004 UTC (15 years, 3 months ago) by schoenebeck
File length: 5247 byte(s)
* src/drivers/midi/MidiInputDeviceAlsa.cpp: implemented port parameter
 "NAME" which now updates the registered ALSA seq port name as well, fixed
  port parameter "ALSA_SEQ_BINDINGS" to allow more than one binding
* src/network/lscp.y: fixed symbol STRINGVAL (that is strings encapsulated
  into apostrophes) which didn't allow space characters
* changed all driver names and driver paramaters to upper case
* fixed typo in LSCP documentation
  (section 5.3.12, was: "SET MIDI_INPUT_PORT PARAMETER",
   should be: "SET MIDI_INPUT_PORT_PARAMETER")


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC