iampoor1 said:The problem with a project like this is defining its scopes and limitations. ;D
The relay control approach is right for some applications, the VCA approach is right for some applications, and the Digital pot is perfect for some applications (AD5290 is the best I know of).
It might make sense to implement all of these as possible options, within a framework, and then develop it bit by bit (no pun intended)
Also, my vote is for NRNP midi.... 14 bits is enough resolution. There are enough challenges with implementing something like this in the first place, no need to reinvent the wheel......
DPOT is 8-Bits, 14-Bits is Overkill
the logic thing to do, is to use 2x CCs for 1x DPOT,
CC# 0-127 for 0~50%
CC#+1 0-127 for 51%~100%.
but that can create opposing forces.
works like a Non-RAID BIG/SPAN architecture.
https://en.wikipedia.org/wiki/Non-RAID_drive_architectures
or maybe:
CC# Pair
CC#+1 Impair,
alternating values like RAID 0. "Stripped"
but automation would be too much complicated, drawing a simple curve would be almost impossible, without a pair/impair splitter.
https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_0
https://en.wikipedia.org/wiki/Nested_RAID_levels
there are only 127 CC per Channel = 64 DPOTs or Relays per MIDI Channel, 16-Channels per MIDI Port...
but...
DMX machines use Channels for features, and CC ranges for On-Off features.
DMX Values table:
https://www.chauvetprofessional.com/wp-content/uploads/2015/07/Q-Spot_260-LED_QRG_Rev-02-1-30-12DEC.pdf
https://www.chauvetprofessional.com/wp-content/uploads/2015/07/Q-Spot_260-LED_UM_Rev-02-1-30-12DEC.pdf
DMX is a similar 8-Bit architecture.
to control multiple DMX lights, they must be split in channels...
if i have 1 machine with 8 channels, and 2 with 16 channels...
one possible DMX configuration is:
1-8 HW1
9-25 HW2
26-42 HW3.
the number of channels each machine uses is fixed, some activate or deactivate advanced mode, 8-channels basic, and 8-optional.
but the value/number of the channel group is dynamic,
and the order of the channels is continuous.
SCSI uses 1 Channel = 1 Machine.
Using same HW layer as MIDI, but different compatible protocol...
some MIDI interfaces are Not multi-client,
that means if you have Protools or Cubase or Logic, or Ableton, etc...
the MIDI interface is busy...
and cannot be shared with other softwares,
assuming the HW control software is Stand alone,
but that depends on the MIDI interface driver design...
RME hdsp 9632 MIDI interface i think is multi-client...
real midi ports are definitely better than USB Midi ports.
Lan rtpMIDI is definitely better than USB Midi ports.