32
# Number, gstreamer element name, string description, file extension, advanced
36
[0, None, 'RAW / AVI', '.avi', True],
37
[1, 'vp8enc', 'VP8 / WEBM', '.webm', False],
38
[2, 'x264enc', 'H264 / MP4', '.mp4', False],
39
[3, 'ffenc_huffyuv', 'HUFFYUV / AVI', '.avi', True],
40
[4, 'ffenc_ljpeg', 'Lossless JPEG / AVI', '.avi', True],
29
43
# PulseAudio Error Codes
74
# Blink modes and states
96
from gi.repository import Gdk, GdkX11
100
self.logger = logging.getLogger("Constants")
101
self.logger.debug("Getting hardware specs")
103
self.combined_screen = None
107
def get_current_screen(self, window = None):
110
screen = self.default_screen.get_monitor_at_window(window.get_window())
112
disp = GdkX11.X11Display.get_default()
113
dm = Gdk.Display.get_device_manager(disp)
114
pntr_device = dm.get_client_pointer()
115
(src, x, y) = pntr_device.get_position()
116
screen = self.default_screen.get_monitor_at_point(x, y)
121
def get_screens(self):
123
self.logger.debug("Getting Video sources.")
125
self.default_screen = Gdk.Screen.get_default()
126
self.logger.debug("Found {0} monitor(s).".format(self.default_screen.get_n_monitors()))
128
for i in range(self.default_screen.get_n_monitors()):
129
rect = self.default_screen.get_monitor_geometry(i)
130
self.logger.debug(" Monitor {0} - X: {1}, Y: {2}, W: {3}, H: {4}".format(i,
135
self.screens.append({"x": rect.x,
138
"height": rect.height})
140
if self.default_screen.get_n_monitors() > 1:
141
self.combined_screen = {"x": 0, "y": 0,
142
"width": self.default_screen.get_width(),
143
"height": self.default_screen.get_height()}
144
self.logger.debug(" Combined screen - X: 0, Y: 0, W: {0}, H: {1}".format(self.default_screen.get_width(),
145
self.default_screen.get_height()))
147
self.combined_screen = None
150
self.logger.warning("Unable to find any video sources.")