mirror of
				https://github.com/onyx-and-iris/voicemeeter-rb.git
				synced 2025-11-04 06:01:46 +00:00 
			
		
		
		
	adds running? method
returns producer thread alive state fixes bug in strip/bus classes
This commit is contained in:
		
							parent
							
								
									81f277260a
								
							
						
					
					
						commit
						b2194c7aa3
					
				@ -102,7 +102,7 @@ module Voicemeeter
 | 
				
			|||||||
    def getter(mode)
 | 
					    def getter(mode)
 | 
				
			||||||
      convert = ->(x) { (x > 0) ? (20 * Math.log(x, 10)).round(1) : -200.0 }
 | 
					      convert = ->(x) { (x > 0) ? (20 * Math.log(x, 10)).round(1) : -200.0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      vals = if @remote.running && @remote.event.ldirty
 | 
					      vals = if @remote.running? && @remote.event.ldirty
 | 
				
			||||||
        @remote.cache[:bus_level][@init, @offset]
 | 
					        @remote.cache[:bus_level][@init, @offset]
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        (@init...@init + @offset).map { |i| @remote.get_level(mode, i) }
 | 
					        (@init...@init + @offset).map { |i| @remote.get_level(mode, i) }
 | 
				
			||||||
 | 
				
			|||||||
@ -232,7 +232,7 @@ module Voicemeeter
 | 
				
			|||||||
        convert = ->(x) { (x > 0) ? (20 * Math.log(x, 10)).round(1) : -200.0 }
 | 
					        convert = ->(x) { (x > 0) ? (20 * Math.log(x, 10)).round(1) : -200.0 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @remote.cache[:strip_mode] = mode
 | 
					        @remote.cache[:strip_mode] = mode
 | 
				
			||||||
        vals = if @remote.running && @remote.event.ldirty
 | 
					        vals = if @remote.running? && @remote.event.ldirty
 | 
				
			||||||
          @remote.cache[:strip_level][@init, @offset]
 | 
					          @remote.cache[:strip_level][@init, @offset]
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
          (@init...@init + @offset).map { |i| @remote.get_level(mode, i) }
 | 
					          (@init...@init + @offset).map { |i| @remote.get_level(mode, i) }
 | 
				
			||||||
 | 
				
			|||||||
@ -49,13 +49,17 @@ module Voicemeeter
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public
 | 
					    public
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def running?
 | 
				
			||||||
 | 
					      @producer&.alive? # safe navigation
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def init_event_threads
 | 
					    def init_event_threads
 | 
				
			||||||
      que = Queue.new
 | 
					      que = Queue.new
 | 
				
			||||||
      init_worker(que) and init_producer(que)
 | 
					      init_worker(que) and init_producer(que)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def end_event_threads
 | 
					    def end_event_threads
 | 
				
			||||||
      if @producer&.alive?  # safe navigation
 | 
					      if running
 | 
				
			||||||
        @producer[:running] = false
 | 
					        @producer[:running] = false
 | 
				
			||||||
        @producer.join
 | 
					        @producer.join
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user