patchmaster 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ module PM
9
9
  class Connection
10
10
 
11
11
  attr_accessor :input, :input_chan, :output, :output_chan,
12
- :pc_prog, :zone, :xpose, :filter
12
+ :bank, :pc_prog, :zone, :xpose, :filter
13
13
 
14
14
  # If input_chan is nil than all messages from input will be sent to
15
15
  # output.
@@ -25,8 +25,11 @@ class Connection
25
25
  end
26
26
 
27
27
  def start(start_bytes=nil)
28
- midi_out(start_bytes) if start_bytes
29
- midi_out([PROGRAM_CHANGE + @output_chan, @pc_prog]) if pc?
28
+ bytes = []
29
+ bytes += start_bytes if start_bytes
30
+ bytes += [CC_BANK_SELECT + @output_chan, @bank] if @bank
31
+ bytes += [PROGRAM_CHANGE + @output_chan, @pc_prog] if @pc_prog
32
+ midi_out(bytes) unless bytes.empty?
30
33
  @input.add_connection(self)
31
34
  end
32
35
 
@@ -8,7 +8,6 @@ module PM
8
8
  eval <<EOS
9
9
  #{note}f#{oct} = #{base - 1}
10
10
  #{note}b#{oct} = #{base - 1}
11
- #{note}#{oct} = #{base}
12
11
  #{note}s#{oct} = #{base + 1}
13
12
  EOS
14
13
  }
@@ -91,6 +90,7 @@ EOS
91
90
  # = 0 - 31 = continuous, LSB
92
91
  # = 32 - 63 = continuous, MSB
93
92
  # = 64 - 97 = switches
93
+ CC_BANK_SELECT = 0
94
94
  CC_MOD_WHEEL = 1
95
95
  CC_BREATH_CONTROLLER = 2
96
96
  CC_FOOT_CONTROLLER = 4
@@ -120,6 +120,7 @@ EOS
120
120
  CC_GEN_PURPOSE_6 = 51
121
121
  CC_GEN_PURPOSE_7 = 52
122
122
  CC_GEN_PURPOSE_8 = 53
123
+ CC_EXT_EFFECTS_DEPTH = 91
123
124
  CC_TREMELO_DEPTH = 92
124
125
  CC_CHORUS_DEPTH = 93
125
126
  CC_DETUNE_DEPTH = 94
@@ -135,6 +136,7 @@ EOS
135
136
  # Channel mode message values
136
137
  #++
137
138
  # Val 0 == off, 0x7f == on
139
+ CM_RESET_ALL_CONTROLLERS = 0x79
138
140
  CM_LOCAL_CONTROL = 0x7A
139
141
  CM_ALL_NOTES_OFF = 0x7B # Val must be 0
140
142
  CM_OMNI_MODE_OFF = 0x7C # Val must be 0
@@ -98,8 +98,15 @@ class DSL
98
98
  alias_method :conn, :connection
99
99
  alias_method :c, :connection
100
100
 
101
- def prog_chg(prog)
102
- @conn.pc_prog = prog
101
+ # If only +bank_or_prog+ is specified, then it's a program change. If
102
+ # both, then it's bank number.
103
+ def prog_chg(bank_or_prog, prog=nil)
104
+ if prog
105
+ @conn.bank = bank_or_prog
106
+ @conn.pc_prog = prog
107
+ else
108
+ @conn.pc_prog = bank_or_prog
109
+ end
103
110
  end
104
111
  alias_method :pc, :prog_chg
105
112
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patchmaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-24 00:00:00.000000000 Z
12
+ date: 2012-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: midi-eye
16
- requirement: &2156041300 !ruby/object:Gem::Requirement
16
+ requirement: &2156046340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2156041300
24
+ version_requirements: *2156046340
25
25
  description: ! 'PatchMaster is realtime MIDI performance software that alloweds a
26
26
  musician
27
27
 
@@ -60,7 +60,7 @@ files:
60
60
  - lib/patchmaster/trigger.rb
61
61
  - lib/patchmaster.rb
62
62
  - test/test_helper.rb
63
- homepage: https://github.com/jimm/patchmaster
63
+ homepage: http://www.patchmaster.org/
64
64
  licenses:
65
65
  - Ruby
66
66
  post_install_message: