porkbuns / shmile Goto Github PK
View Code? Open in Web Editor NEWThis project forked from andrewhao/shmile.bak
The DIY photobooth, at your service.
This project forked from andrewhao/shmile.bak
The DIY photobooth, at your service.
I'd really like to run shmile without the continuous console outputs that it creates as I find it slows the app down as more and more photo's are taken, id there any way to achieve this? I'm not fantasic with code, and while I can find instances of console.log and remove, this doesn't seem like the best option. I have considered using coffeebar to run the app.coffee with the -s option that suppresses console output, would this work?
Hello Guys, I am really excited about your photo booth project and installed it the first time I saw it. Unfortunatelly I good some problems with shmile. I am total beginner but I sticked to the instruction. I am using node v0.12.6 and npm v2.11.2 on my rasbian jessie because I had problem download the right version of node.js with you script. All functions seem to run fine. Webgallery/Initator/Gphoto. But after taking the picture(s) they are not processed and displayed.
Is there any log I can send or post?
Thank you for your support.
I'm trying to print the photo to 4"x6" photo paper. I have set up the default paper size on my printer settings (Mac), but the printer keeps reporting wrong paper size.
Just wondering if anyone else has managed to do this.
Stuff like this makes peoples' eyes burn:
State = image_src_list: []
Factor out the global and instead pass it around as inputs to the system.
Greetings
Raspberry Pis keep losing camera connection.
http://blog.brainmassage.co.uk/2012/12/raspberry-pi-usb-reset-code/
Shows the code to resolve the USB issue for the Raspberry Pis and will also help other machines if they have an issue.
This revision would greatly help the build.
Just thought it would help with the inconsistent stability. Every time it loses ability to take next picture if I manually do the USB reset it seems to resolve and when I don't I can't even take a test snap with gphoto. This should resolve the issues.
Thank you,
Hugh
Hi, I've been getting an error every time I run shmile
Once this error has occurred shmile crashes and has to me restarted.
If anyone has any tips, or ideas as to why this error is happening, please let me know, I've tried to figure it out, but unfortunately my skills and understanding a pretty lacking, so I'm struggling!
SVG is slow on some mobile devices (ahem, Android). Let's swap with the plain ol' DOM w/ CSS3 transforms.
@glenwong suggests http://janne.aukia.com/zoomooz/. It's pretty slick.
Hello, just spent about 30 minutes to figure out that the Node ImageMagick package was installed, but the binary CLI tools were not:
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
See also: http://stackoverflow.com/questions/17951133/spawn-enoent-error
Simple solution: Add "brew install imagemagick" to your install instructions.
Now that Node is ES6 compatible, we should begin transitioning app code to use it.
Hi,
i was planning on using this code for an event im running at school for charity, however im not at all experienced in this kind of codeing (im used to python and swift) . please help... its tomorrow!!
i have followed all the instructions but at the moment the localhost page just shows a start button ? this is the terminal output...
printer is: undefined
info - socket.io started
(node:9384) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead.
debug - served static content /socket.io.js
If anybody wants to take up the mantle of increasing coverage, please be my guest :)
I've begun the work of abstracting away certain system dependencies behind proxy or stub objects, but there remains much more work to be done.
Currently, all 4 photos are taken in landscape orientation. An option to turn all 4 photos to use portrait orientation would be awesome.
Might want to factor it into proper/idiomatic JS models (Backbone/Reactjs? Angular?)
I think this has to do partially with the way that state is captured in the server -- the server tracks the frame # in a global var. We can refactor state out of the server-end and let it be passed back and forth in each session. This also ensures that the client can connect and disconnect from the server and proceed reliably.
I'm not sure if anyone has had success with this previously but I've tried using symbolic links and changing the directories in the /lib coffee scripts and have found that it will only write "tmpfilexxxxxx" files rather than provide the correct filenames hence breaking the remainder of the program when it goes to resize and composit. Not sure if I'm overlooking a directory location or if it's a file system problem (trying to write to fat32 usb key) but any advice would be great.
Hi Andrew,
First: excuse me for bothering you with an email about "just" a question. Second: I'm incredibly grateful that you made this application. It's awesome!
Now the question: why are the app and UI part of the system split into different repositories?
I've currently spent a few minutes in the app, and became quite frustrated with the UI being in a remote place. Changing something in the UI means committing and pushing in UI, and running Yarn again in this repo. Thats get old very fast...
I've loaded the latest code on my RPi 2 by following the instructions in the wiki.
The page loads but the program only takes the first 4 pictures before crashing.
I don't know where or what to fix based on the error (can't find an "events.js").
Here's my log output:
pi@raspberrypi:~/shmile $ coffee app.coffee
(node) sys is deprecated. Use util instead.
printer is: false
info - socket.io started
debug - client authorized
info - handshake authorized Lk2m-0dwRFhLDpSsyPVK
debug - setting request GET /socket.io/1/websocket/Lk2m-0dwRFhLDpSsyPVK
debug - set heartbeat interval for client Lk2m-0dwRFhLDpSsyPVK
debug - client authorized for
debug - websocket writing 1::
(node) util.puts is deprecated. Use console.log instead.
Web browser connected
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - websocket writing 5:::{"name":"camera_snapped"}
debug - websocket writing 5:::{"name":"photo_saved","args":[{"filename":"05-16-19_20:51:39.jpg","path":"public/photos/05-16-19_20:51:39.jpg","web_url":"/photos/05-16-19_20:51:39.jpg"}]}
debug - emitting heartbeat for client Lk2m-0dwRFhLDpSsyPVK
debug - websocket writing 2::
debug - set heartbeat timeout for client Lk2m-0dwRFhLDpSsyPVK
debug - got heartbeat packet
debug - cleared heartbeat timeout for client Lk2m-0dwRFhLDpSsyPVK
debug - set heartbeat interval for client Lk2m-0dwRFhLDpSsyPVK
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - websocket writing 5:::{"name":"camera_snapped"}
debug - websocket writing 5:::{"name":"photo_saved","args":[{"filename":"05-16-19_20:51:48.jpg","path":"public/photos/05-16-19_20:51:48.jpg","web_url":"/photos/05-16-19_20:51:48.jpg"}]}
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - websocket writing 5:::{"name":"camera_snapped"}
debug - websocket writing 5:::{"name":"photo_saved","args":[{"filename":"05-16-19_20:51:57.jpg","path":"public/photos/05-16-19_20:51:57.jpg","web_url":"/photos/05-16-19_20:51:57.jpg"}]}
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - emitting heartbeat for client Lk2m-0dwRFhLDpSsyPVK
debug - websocket writing 2::
debug - set heartbeat timeout for client Lk2m-0dwRFhLDpSsyPVK
debug - got heartbeat packet
debug - cleared heartbeat timeout for client Lk2m-0dwRFhLDpSsyPVK
debug - set heartbeat interval for client Lk2m-0dwRFhLDpSsyPVK
debug - websocket writing 5:::{"name":"camera_snapped"}
debug - websocket writing 5:::{"name":"photo_saved","args":[{"filename":"05-16-19_20:52:06.jpg","path":"public/photos/05-16-19_20:52:06.jpg","web_url":"/photos/05-16-19_20:52:06.jpg"}]}
img_src_list is: public/photos/05-16-19_20:51:39.jpg,public/photos/05-16-19_20:51:48.jpg,public/photos/05-16-19_20:51:57.jpg,public/photos/05-16-19_20:52:06.jpg
executing: convert -size 2550x1750 canvas:white public/photos/05-16-19_20:51:39.jpg -geometry 1200x800+50+50 -composite public/photos/05-16-19_20:51:48.jpg -geometry 1200x800+1300+50 -composite public/photos/05-16-19_20:51:57.jpg -geometry 1200x800+50+900 -composite public/photos/05-16-19_20:52:06.jpg -geometry 1200x800+1300+900 -composite public/temp/out.jpg
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn convert ENOENT
at exports._errnoException (util.js:874:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at doNTCallback2 (node.js:439:9)
at process._tickCallback (node.js:353:17)
I detected (and then confirmed, e.g. http://stackoverflow.com/questions/12680909/ipad-web-app-freezes-on-startup) that the current meta tags in views/layout.jade
meta(name='apple-mobile-web-app-status-bar-style', content='black-translucent')
causes the app to "hog" the whole device, you can't quit, you can't multitask, home button stops working, and only a hard reset works (see post above). Changing to this:
meta(name='apple-mobile-web-app-status-bar-style', content='black')
seems to have no visible impact for me, but on the upside the app works as expected.
Or perhaps this is a feature, sort of a "kiosk" mode? ;-)
Hi! I know you don't want to deal with Linux, but I'm wondering if you can point me in the right direction. shmile works great on my macbook, but I thought it would be really neat to get it going on a raspberry pi.
Symptom: It will hang and stop taking pictures some time before the 4th picture. Sometimes it won't take any, sometimes it will take one or two or even three - but three is rare. Always, what will happen is it will hang after one of the "camera_begin_snap" events.
Let me know if you have any ideas I can pursue. Sample output below:
pi@raspberrypi ~/shmile $ coffee app.coffee
printer is: false
CameraControl is: function CameraControl(filename, cwd, web_root_path) {
this.filename = filename != null ? filename : "%m-%y-%d_%H:%M:%S.jpg";
this.cwd = cwd != null ? cwd : "public/photos";
this.web_root_path = web_root_path != null ? web_root_path : "/photos";
}
info - socket.io started
debug - served static content /socket.io.js
debug - client authorized
info - handshake authorized wXcnot4OtRdFaRxx-91P
debug - setting request GET /socket.io/1/websocket/wXcnot4OtRdFaRxx-91P
debug - set heartbeat interval for client wXcnot4OtRdFaRxx-91P
debug - client authorized for
debug - websocket writing 1::
Web browser connected
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - websocket writing 5:::{"name":"camera_snapped"}
debug - websocket writing 5:::{"name":"photo_saved","args":[{"filename":"10-14-19_19:36:47.jpg","path":"public/photos/10-14-19_19:36:47.jpg","web_url":"/photos/10-14-19_19:36:47.jpg"}]}
debug - websocket writing 5:::{"name":"camera_begin_snap"}
debug - emitting heartbeat for client wXcnot4OtRdFaRxx-91P
debug - websocket writing 2::
debug - set heartbeat timeout for client wXcnot4OtRdFaRxx-91P
debug - got heartbeat packet
debug - cleared heartbeat timeout for client wXcnot4OtRdFaRxx-91P
debug - set heartbeat interval for client wXcnot4OtRdFaRxx-91P
debug - emitting heartbeat for client wXcnot4OtRdFaRxx-91P
debug - websocket writing 2::
debug - set heartbeat timeout for client wXcnot4OtRdFaRxx-91P
debug - got heartbeat packet
debug - cleared heartbeat timeout for client wXcnot4OtRdFaRxx-91P
debug - set heartbeat interval for client wXcnot4OtRdFaRxx-91P
Hello,
Im struggling witt an issue on Raspbian.
If I don't wait 1 minutes... and pressing "Start" Im will get only one or someting no photo on the final output...
Its look like, img_src_list on image_composer its empty :(
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.