mateosalta / camcastic-desktop Goto Github PK
View Code? Open in Web Editor NEWPort and rework of linux version of camdesk to python3 pygi gtk3 gstreamer 1.0
License: GNU General Public License v3.0
Port and rework of linux version of camdesk to python3 pygi gtk3 gstreamer 1.0
License: GNU General Public License v3.0
Hit F5 to try and get settings window, gets this error:
Traceback (most recent call last):
File "./camdesk.py", line 28, in properties
self.win = Gtk.Window(Gtk.Window.TOPLEVEL)
AttributeError: type object 'Window' has no attribute 'TOPLEVEL'
Survey says that most want the default window position in the Bottom Right of the screen.
Precursor to packaging/putting in PPA or Ubuntu Software Center.
Currently user has to guess on proper ratios (or know them well) producing black bars, making this locked will give better control and simpler interface.
While this it a cutting edge port, I think we should try to maintain compatibility with 12.04.
Preferably a separate packaging blob since the script is a single. Then just source track the gitub repo and adjust paths.
video opens in separate window, something to do with window ID stuff, https://wiki.ubuntu.com/Novacut/GStreamer1.0#prepare-xwindow-id
Users that launch may be confused by lack of direct interface on a blank window.
Plan
I think it would be useful to have an additional hotkey to hide the "selfie" window. If you're in a fullscreen presentation and the webcam window blocks something critical, it should be a simple keypress to toggle the window invisible and back again.
Add sliders for "Brightness", "Contrast" maybe as advanced settings somewhere.
xvimagesink http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-xvimagesink.html#gst-plugins-base-plugins-xvimagesink.synopsis works for this and I can allready hack in values in around say:
def on_sync_message(self, bus, msg):
if msg.get_structure().get_name() == 'prepare-window-handle':
print('prepare-window-handle')
msg.src.set_property('force-aspect-ratio', True)
msg.src.set_property('brightness', -200)
msg.src.set_property('contrast', 200)
print('prepped')
possibly hue and saturation (mine the auto color goes a bit off, would be nice for white balance) or Special effects!
The Status Icon is not present in the unity desktop. did a little bit of research if we want the icon as one of the main modes of interaction with the program:
https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Python_version
Currently uses separate checks for getting the keypress, certainly there is a better way ;)
Pinning seems broken, although I can't remember what is does, or why we want it.
So, I'll investigate what it was... then see about fixing or not from there (maybe renaming it ~)
A new icon is needed.
To be completed after aspect ratio lock
After opening a settings window with F5, click on the cam window, then hit F5 again, another settings window is opened.
Expected behavior would be allowing one settings window.
I'm all for keyboard shortcuts, but I think we should have a second way of starting stopping the camera, possibly a right click or double click on the window (maybe a right click menu in the future).
My camera has a button on top ~ look into ways of using camera buttons?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.