Access Virus TI

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME virus ti

# Can be POLY, DRUM, MPE, or NULL
TYPE NULL

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE NULL

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
[/PC]


# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
1 mod wheel
2 breath ctl
4 foot ctl
5 glide time
7 volume
8 balance
10 Pan
11 expression
17 osc1 shape
18 osc1 pulsewidth
19 osc1 wave select
20 osc1 semitone
21 osc1 kybd
22 osc2 shape
23 osc2 pulsewidth
24 osc2 wave select
25 osc2 semitone
26 osc2 detune
27 osc2 fm amount
28 osc2 sync
29 osc2 fltr eg amt
30 fltr fm eg amt
31 osc2 kybd
32 bank select
33 osc balance
34 subosc volume
35 subosc Shape
36 osc mainvolume
37 noise volume
38 ringmod volume
39 noise color
40 fltr1 cutoff
41 fltr2 cutoff
42 fltr1 resonance
43 fltr2 resonance
44 fltr1 eg amt
45 fltr2 eg amt
46 fltr1 kybd amt
47 fltr2 kybd amt
48 fltr balance
49 saturation curve
51 fltr1 mode
52 fltr2 mode
53 fltr routing
54 fltr eg attack
55 fltr eg decay
56 fltr eg sustain
57 fltr eg sus time
58 fltr eg release
59 amp eg attack
60 amp eg decay
61 amp eg sustain
62 amp eg sus time
63 amp eg release
64 hold pedal
65 glide pedal
66 sostenuto pedal
67 lfo1 rate
68 lfo1 shape
69 lfo1 eg mode
70 lfo1 mode
71 lfo1 symmetry
72 lfo1 kybd
73 lfo1 restart
74 osc1 lfo1 amt
75 osc2 lfo1 amt
76 pw lfo1 amt
77 reso lfo1 amt
78 fltrgain lfo1 amt
79 lfo2 rate
80 lfo2 shape
81 lfo2 eg mode
82 lfo2 mode
83 lfo2 symmetry
84 lfo2 kybd
85 lfo2 restart
86 osc shp lfo2 amt
87 fm lfo2 amt
88 fltr1 lfo2 amt
89 fltr2 lfo2 amt
90 pan lfo2 amt
91 volume
93 transpose
94 key mode
97 unison mode
98 unison detune
99 unison spread
100 unis lfo phase
101 input mode
102 input select
105 chorus mix
106 chorus rate
107 chorus depth
108 chorus delay
109 chor feedback
110 chor lfo shape
112 delay-verb mode
113 effect send
114 delay time
115 delay feedback
116 delay-verb time
117 delay-verb size
118 delay lfo shape
119 delay color
122 kybd local
123 all notes off
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted
  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 
  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively
# DEPTH can be 7 or 14
# For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
[NRPN]
[/NRPN]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# NOTE: You are limited to 64 automation lanes
[AUTOMATION]
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
this will work for ti2 as well
[/COMMENT]
3 Likes

damn, finally a virus instrument definition.

hapax with virus ti is the holy grail

1 Like

i dont have my virus anymore and realize how much i miss it. please let me know if something doesnt work.

Thank you so much! So far, so good on a Ti2!!

3 Likes

@solipsvs I’ve had no problems at all with this pairing.

1 Like

I’ve updated the definition with a program change for each bank.

VERSION 1 # Currently, this should only be 1.

# Supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
TRACKNAME virus ti

# Can be POLY, DRUM, MPE, or NULL
TYPE POLY

# Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

# This defines the default 'MAX RATE' for automation lanes.
# Can be NULL, 192, 96, 64, 48, 32, 24, 16, 12, 8, 6, 4, 3, 2, 1
MAXRATE 24

# DRUMLANES
# Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
# ROW must be between 1 and 8
# TRIG can be between 0 and 127, or NULL
# CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
# NOTENUMBER can be between 0 and 127, or NULL
# NAME supports all alphanumeric ASCII, and ' ', '_', '-', '+' - can also be NULL
# Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
[/DRUMLANES]


# PC
# Syntax: NUMBER NAME
# number must be either:
#   - A number (for simple PC)
#   - Three numbers, delimited by ':', which represent PC:MSB:LSB. You can put 'NULL' to not set the MSB/LSB.
# PC must be between 1...128
# MSB/LSB must be between 0...127
[PC]
1:0:0 RAM-A 0 - 127
1:0:1 RAM-B 0 - 127
1:0:2 RAM-C 0 - 127
1:0:3 RAM-D 0 - 127
1:0:4 ROM-A 0 - 127
1:0:5 ROM-B 0 - 127
1:0:6 ROM-C 0 - 127
1:0:7 ROM-D 0 - 127
1:0:8 ROM-E 0 - 127
1:0:9 ROM-F 0 - 127
1:0:10 ROM-G 0 - 127
1:0:11 ROM-H 0 - 127
1:0:12 ROM-I 0 - 127
1:0:13 ROM-J 0 - 127
1:0:14 ROM-K 0 - 127
1:0:15 ROM-L 0 - 127
1:0:16 ROM-M 0 - 127
1:0:17 ROM-N 0 - 127
1:0:18 ROM-O 0 - 127
1:0:19 ROM-P 0 - 127
1:0:20 ROM-Q 0 - 127
1:0:21 ROM-R 0 - 127
1:0:22 ROM-S 0 - 127
1:0:23 ROM-T 0 - 127
1:0:24 ROM-U 0 - 127
1:0:25 ROM-V 0 - 127
1:0:26 ROM-W 0 - 127
1:0:27 ROM-X 0 - 127
1:0:28 ROM-Y 0 - 127
1:0:29 ROM-Z 0 - 127
[/PC]


# CC
# Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
# DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
1 mod wheel
2 breath ctl
4 foot ctl
5 glide time
7 volume
8 balance
10 Pan
11 expression
17 osc1 shape
18 osc1 pulsewidth
19 osc1 wave select
20 osc1 semitone
21 osc1 kybd
22 osc2 shape
23 osc2 pulsewidth
24 osc2 wave select
25 osc2 semitone
26 osc2 detune
27 osc2 fm amount
28 osc2 sync
29 osc2 fltr eg amt
30 fltr fm eg amt
31 osc2 kybd
32 bank select
33 osc balance
34 subosc volume
35 subosc Shape
36 osc mainvolume
37 noise volume
38 ringmod volume
39 noise color
40 fltr1 cutoff
41 fltr2 cutoff
42 fltr1 resonance
43 fltr2 resonance
44 fltr1 eg amt
45 fltr2 eg amt
46 fltr1 kybd amt
47 fltr2 kybd amt
48 fltr balance
49 saturation curve
51 fltr1 mode
52 fltr2 mode
53 fltr routing
54 fltr eg attack
55 fltr eg decay
56 fltr eg sustain
57 fltr eg sus time
58 fltr eg release
59 amp eg attack
60 amp eg decay
61 amp eg sustain
62 amp eg sus time
63 amp eg release
64 hold pedal
65 glide pedal
66 sostenuto pedal
67 lfo1 rate
68 lfo1 shape
69 lfo1 eg mode
70 lfo1 mode
71 lfo1 symmetry
72 lfo1 kybd
73 lfo1 restart
74 osc1 lfo1 amt
75 osc2 lfo1 amt
76 pw lfo1 amt
77 reso lfo1 amt
78 fltrgain lfo1 amt
79 lfo2 rate
80 lfo2 shape
81 lfo2 eg mode
82 lfo2 mode
83 lfo2 symmetry
84 lfo2 kybd
85 lfo2 restart
86 osc shp lfo2 amt
87 fm lfo2 amt
88 fltr1 lfo2 amt
89 fltr2 lfo2 amt
90 pan lfo2 amt
91 volume
93 transpose
94 key mode
97 unison mode
98 unison detune
99 unison spread
100 unis lfo phase
101 input mode
102 input select
105 chorus mix
106 chorus rate
107 chorus depth
108 chorus delay
109 chor feedback
110 chor lfo shape
112 delay-verb mode
113 effect send
114 delay time
115 delay feedback
116 delay-verb time
117 delay-verb size
118 delay lfo shape
119 delay color
122 kybd local
123 all notes off
[/CC]


# NRPN
# Syntax: "MSB:LSB:DEPTH NAME" or "MSB:LSB:DEPTH:DEFAULT=xx NAME"
# Lsb & msb should be between 0 and 127
  # Note: LSB can be over 127 ONLY if MSB is 0 or omitted
  # e.g. '0:1026:7 FOO', or ':2000:7 BAR' 
  # the examples above would be equivalent to '8:2:7 FOO' and '15:80:7 BAR' respectively
# DEPTH can be 7 or 14
# For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
[NRPN]
[/NRPN]


# ASSIGN
# Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
# POT_NUMBER must be between 1 and 8
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", "NRPN", or "NULL" (this won't assign the pot).
# Non explicitly-defined pots will be considered "NULL"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
#### For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
#### For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
#### For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. "-4.25V" or "1.7V"
#### Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]


# AUTOMATION
# Syntax: TYPE:VALUE
# TYPE can be "CC", "PB" (pitchbend), "AT" (aftertouch), "CV", or "NRPN"
# VALUE VALIDATION
#### For CC: Value must be a valid number between 0 and 119
#### For PB and AT, any text after the TYPE will be ignored
#### For CV, value must be between 1 and 4
#### For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
# NOTE: You are limited to 64 automation lanes
[AUTOMATION]
[/AUTOMATION]


# This section will be readable from Hapax.
[COMMENT]
this will work for ti2 as well
[/COMMENT]

3 Likes