mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-31 16:02:43 +01:00 
			
		
		
		
	| @@ -67,6 +67,9 @@ | ||||
| #include "modules/bluetooth.hpp" | ||||
| #include "modules/inhibitor.hpp" | ||||
| #endif | ||||
| #ifdef HAVE_LIBJACK | ||||
| #include "modules/jack.hpp" | ||||
| #endif | ||||
| #include "bar.hpp" | ||||
| #include "modules/custom.hpp" | ||||
| #include "modules/temperature.hpp" | ||||
|   | ||||
							
								
								
									
										42
									
								
								include/modules/jack.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								include/modules/jack.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <fmt/format.h> | ||||
| #include <fstream> | ||||
| #include <jack/jack.h> | ||||
| #include <jack/thread.h> | ||||
| #include "ALabel.hpp" | ||||
| #include "util/sleeper_thread.hpp" | ||||
|  | ||||
| namespace waybar::modules { | ||||
|  | ||||
| class JACK : public ALabel { | ||||
|  public: | ||||
|   JACK(const std::string&, const Json::Value&); | ||||
|   ~JACK() = default; | ||||
|   auto update() -> void; | ||||
|  | ||||
|   int                 bufSize(jack_nframes_t size); | ||||
|   int                 sampleRate(jack_nframes_t rate); | ||||
|   int                 xrun(); | ||||
|   void                shutdown(); | ||||
|  | ||||
|  private: | ||||
|   std::string         JACKState(); | ||||
|  | ||||
|   jack_client_t*      client_; | ||||
|   jack_nframes_t      bufsize_; | ||||
|   jack_nframes_t      samplerate_; | ||||
|   unsigned int        xruns_; | ||||
|   float               load_; | ||||
|   bool                running_; | ||||
|   std::mutex          mutex_; | ||||
|   std::string         state_; | ||||
|   util::SleeperThread thread_; | ||||
| }; | ||||
|  | ||||
| }  // namespace waybar::modules | ||||
|  | ||||
| int bufSizeCallback(jack_nframes_t size, void *obj); | ||||
| int sampleRateCallback(jack_nframes_t rate, void *obj); | ||||
| int xrunCallback(void *obj); | ||||
| void shutdownCallback(void *obj); | ||||
		Reference in New Issue
	
	Block a user
	 Alex
					Alex