38
38
config .set ('Options' , 'frames' , '30' )
39
39
config .set ('Options' , 'delay' , '0' )
40
40
config .set ('Options' , 'folder' , "file://" + GLib .get_user_special_dir (GLib .USER_DIRECTORY_VIDEOS ))
41
- config .set ('Options' , 'pipeline' , 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' )
42
41
config .set ('Options' , 'command' , '' )
43
42
config .set ('Options' , 'filename' , '' )
44
43
config .set ('Options' , 'videocheck' , 'True' )
81
80
def recorderindicator ():
82
81
# Create the app indicator widget.
83
82
global indicator
84
- indicator = appindicator .Indicator .new ("Green Recorder" , '/usr/share/pixmaps/green-recorder.png' , appindicator .IndicatorCategory .APPLICATION_STATUS )
83
+ try :
84
+ s = subprocess .check_output ("ps -cat|grep mate-panel" , shell = True )
85
+ except :
86
+ indicator = appindicator .Indicator .new ("Green Recorder" , '/usr/share/pixmaps/green-recorder.png' , appindicator .IndicatorCategory .APPLICATION_STATUS )
87
+ pass
88
+ else :
89
+ indicator = appindicator .Indicator .new ("Green Recorder" , 'green-recorder' , appindicator .IndicatorCategory .APPLICATION_STATUS )
85
90
indicator .set_status (appindicator .IndicatorStatus .ACTIVE )
86
91
indicator .set_menu (indicator_menu ())
87
92
# Make middle-click stops the recording process.
@@ -169,7 +174,12 @@ def RecordXorg():
169
174
170
175
def RecordGnome ():
171
176
AudioRecording = []
172
-
177
+
178
+ global RecorderPipeline
179
+
180
+ if formatchooser .get_active_id () == "webm" :
181
+ RecorderPipeline = "vp8enc min_quantizer=10 max_quantizer=50 cq_level=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
182
+
173
183
if audiocheck .get_active () == True :
174
184
AudioRecording .append ("ffmpeg" )
175
185
AudioRecording .append ("-f" )
@@ -258,6 +268,9 @@ def stoprecording(self):
258
268
elif "gnomewayland" in DisplayServer :
259
269
subprocess .call (["sleep" , "1" ])
260
270
271
+ global RecorderPipeline
272
+ del RecorderPipeline
273
+
261
274
try :
262
275
GNOMEScreencast .StopScreencast ()
263
276
AudioProcess .terminate ()
@@ -311,7 +324,6 @@ delayvalue = builder.get_object("spinbutton2")
311
324
frameslabel = builder .get_object ("frameslabel" )
312
325
delaylabel = builder .get_object ("delaylabel" )
313
326
folderlabel = builder .get_object ("folderlabel" )
314
- pipelinelabel = builder .get_object ("pipelinelabel" )
315
327
commandlabel = builder .get_object ("commandlabel" )
316
328
audiosourcelabel = builder .get_object ("audiosourcelabel" )
317
329
framespref = builder .get_object ("spinbutton3" )
@@ -320,7 +332,6 @@ delayadjustment = builder.get_object("adjustment1")
320
332
framesadjustment = builder .get_object ("adjustment2" )
321
333
delayprefadjustment = builder .get_object ("adjustment3" )
322
334
framesprefadjustment = builder .get_object ("adjustment4" )
323
- pipelineentry = builder .get_object ("gtkentry1" )
324
335
commandentry2 = builder .get_object ("gtkentry2" )
325
336
playbutton = builder .get_object ("playbutton" )
326
337
prefrecvidlabel = builder .get_object ("label10" )
@@ -374,7 +385,6 @@ commandtext.set_label(_("Run Command After Recording:"))
374
385
frameslabel .set_label (_ ("Default frames:" ))
375
386
delaylabel .set_label (_ ("Default delay:" ))
376
387
folderlabel .set_label (_ ("Default folder:" ))
377
- pipelinelabel .set_label (_ ("Default pipeline:" ))
378
388
commandlabel .set_label (_ ("Default command:" ))
379
389
audiosourcelabel .set_label (_ ("Audio Input Source:" ))
380
390
prefrecvidlabel .set_label (_ ("Record Video" ))
@@ -392,7 +402,6 @@ framesprefadjustment.set_value(int(config.get('Options', 'frames')))
392
402
FolderPath = config .get ('Options' , 'folder' )
393
403
folderchooser .set_uri (urllib .unquote (FolderPath ))
394
404
folderchooser2 .set_uri (urllib .unquote (FolderPath ))
395
- pipelineentry .set_text (config .get ('Options' , 'pipeline' ))
396
405
commandentry .set_text (config .get ('Options' , 'command' ))
397
406
commandentry2 .set_text (config .get ('Options' , 'command' ))
398
407
videoswitch .set_state (checkbool (config .get ('Options' , 'videocheck' )))
@@ -406,8 +415,6 @@ videocheck.set_active(checkbool(config.get('Options', 'videocheck')))
406
415
audiocheck .set_active (checkbool (config .get ('Options' , 'audiocheck' )))
407
416
mousecheck .set_active (checkbool (config .get ('Options' , 'mousecheck' )))
408
417
followmousecheck .set_active (checkbool (config .get ('Options' , 'followmousecheck' )))
409
- global RecorderPipeline
410
- RecorderPipeline = pipelineentry .get_text ()
411
418
412
419
playbutton .set_sensitive (False )
413
420
@@ -433,7 +440,7 @@ if "wayland" in DisplayServer:
433
440
windowgrabbutton .set_sensitive (False )
434
441
followmousecheck .set_sensitive (False )
435
442
formatchooser .remove_all ()
436
- # Actually, other formats can also be supported. However, we'll need format-specific pipelines to be passed for the screencasting service. Those will be GStreamer Pipelines.
443
+
437
444
formatchooser .append ("webm" , "WebM (The Open WebM Format)" )
438
445
formatchooser .set_active (0 )
439
446
@@ -513,12 +520,6 @@ class Handler:
513
520
global confFile
514
521
with open (confFile , 'w+' ) as newconfFile :
515
522
config .write (newconfFile )
516
-
517
- def pipelinechanged (self , GtkEntry ):
518
- config .set ('Options' , 'pipeline' , pipelineentry .get_text ())
519
- global confFile
520
- with open (confFile , 'w+' ) as newconfFile :
521
- config .write (newconfFile )
522
523
523
524
def commandchanged (self , GtkEntry ):
524
525
config .set ('Options' , 'command' , commandentry2 .get_text ())
0 commit comments