mmplayer 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7506ea91a4204c4c6a54de79d645e80315559b98
4
- data.tar.gz: 531967ac3622fc501eab6162d1e63afae815cb69
3
+ metadata.gz: 1f47f0f1fd8bbb17710de9bf78bbb470e37a14b9
4
+ data.tar.gz: dc3f46581956823d9ef5e8c73ade20f612d33591
5
5
  SHA512:
6
- metadata.gz: 737adfeadb792fb1ea7643530635556dd12efe935a047701186c40b43bfdd608ad8b47124c742f1fc33dd4421117c3b506f13d69644499a770498452dad79569
7
- data.tar.gz: b6d88d0809f7b443f136b07ba242f22368fdf14f37ed23ec4581f49d4b05c2c83124867201908c91161e7d003ec0a9f5adc99855f8f25849dbba8261c30df9ca
6
+ metadata.gz: 40d3d58947c602a7ccb76da3af217ff9dcbbb0a9bd1131ed9da89f6eb749b48d43e475c672fdceb596d0cc3d10fa04c351912f80c9f2de3fb574876e9ce0f9e1
7
+ data.tar.gz: c5be2fc40cc8c251dec3d4559dfa67591427effe6c0d90bf11817b050e9769d1de86f1051e2cea44e553545ea7821c1d3a90965acc027be3e4a5ac394dd24b59
@@ -24,7 +24,7 @@ require "mmplayer/context"
24
24
 
25
25
  module MMPlayer
26
26
 
27
- VERSION = "0.0.10"
27
+ VERSION = "0.0.11"
28
28
 
29
29
  # Shortcut to Context constructor
30
30
  def self.new(*args, &block)
@@ -63,6 +63,7 @@ module MMPlayer
63
63
  # @return [Boolean]
64
64
  def start
65
65
  initialize_listener
66
+ @start_time = Time.now.to_i
66
67
  @listener.start(:background => true)
67
68
  true
68
69
  end
@@ -75,11 +76,26 @@ module MMPlayer
75
76
 
76
77
  private
77
78
 
79
+ # Elapsed time since start in seconds
80
+ # @return [Fixnum]
81
+ def now
82
+ Time.now.to_i - @start_time
83
+ end
84
+
85
+ # Should the given MIDI event be processed or thrown away?
86
+ # @param [Hash] event
87
+ # @return [Boolean]
88
+ def process_event?(event)
89
+ @buffer_length.nil? ||
90
+ event[:timestamp].nil? ||
91
+ event[:timestamp].to_i >= now - @buffer_length
92
+ end
93
+
78
94
  # Handle a new MIDI event received
79
95
  # @param [Hash] event
80
96
  # @return [Hash]
81
97
  def handle_new_event(event)
82
- if @buffer_length.nil? || event[:timestamp].nil? || event[:timestamp] >= Time.now.to_i - @buffer_length
98
+ if process_event?(event)
83
99
  message = event[:message]
84
100
  @message_handler.process(@channel, message)
85
101
  event
@@ -61,10 +61,12 @@ class MMPlayer::MIDI::WrapperTest < Minitest::Test
61
61
 
62
62
  setup do
63
63
  @midi.instance_variable_set("@buffer_length", 1)
64
+ @midi.instance_variable_set("@start_time", Time.now.to_i)
65
+ sleep(2)
64
66
  @midi.message_handler.expects(:process).never
65
67
  @event = {
66
68
  :message => MIDIMessage::NoteOn.new(0, 64, 120),
67
- :timestamp=> 4.395330429077
69
+ :timestamp => 0.1
68
70
  }
69
71
  @result = @midi.send(:handle_new_event, @event)
70
72
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmplayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Russo