Skip to content

Commit

Permalink
pushing to github at last!!
Browse files Browse the repository at this point in the history
  • Loading branch information
Klaatu committed Feb 18, 2016
0 parents commit bb1eeba
Show file tree
Hide file tree
Showing 40 changed files with 4,036 additions and 0 deletions.
22 changes: 22 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Python
---------

Klaatu @member.fsf.org
Seth Kenlon @slackermedia.ml



Design and Project Management
----------------------------------

Jess Weichler [email protected]




Special Thanks
-----------------

Thanks to Jan Bodnar at Zetcode.com for
converting me from PyQt to wxPython (for this
project, at least) with his great tutorials.
674 changes: 674 additions & 0 deletions COPYING

Large diffs are not rendered by default.

83 changes: 83 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Install
=======

StopGo is a Python application, and uses wxPython for its GUI, so it's
very cross-platform. Should work with practically anything. But it's a
multimedia application, so there are some software requirements:


Requirements (Software)
-----------------------

* python `<python.org>`_
* wxpython `<wxpython.org>`_
* vcl `<https://videolan.org>`_
* vlc.py `<https://pypi.python.org/pypi/python-vlc>`_
* ffmpeg `<https://www.ffmpeg.org/>`_


Requirements (Hardware)
-----------------------

* Computer. Any recent computer should be able to run StopGo. In fact,
even old computers (my laptop is 12) should run it, although very
old computers may struggle with playing your movie back *inside of
StopGo*; after you export it to a movie file, it can be played by
anything that has a web browser.
* Webcam. USB webcams are what we have tested, but at least on Linux
nearly any camera should work, as long as your computer registers it
as a video device.



Install
-------

StopGo is written in Python, so installation is fairly flexible as
long as you know Python.

If not, let's keep it simple:


Linux (Users)
+++++++++++++

This is by far the easiest install method.

If you are running Linux (even if only as a live OS), then there
*is* no install. Just download StopGo, double click, and you're
animating.

In order for StopGo to run, though, you will need VLC and ffmpeg
installed. You should be able to install these from your Linux
distribution's software repository.

.. note:: On some versions of Debian (and things based on it, like
Ubuntu and Mint), the ``ffmpeg`` package actually installs
``avconv``. This will NOT work. You NEED
ffmpeg. https://assetbank.co.uk/support/documentation/install/ffmpeg-debian-squeeze/ffmpeg-debian-jessie/



Mac OS
++++++++

Install VLC.

Install FFmpeg.

StopGo is not yet supported. Coming soon-ish.


Windows
++++++++

Install VLC.

Install FFmpeg.

Run the stopgo-dependencies.exe to install Python and wxPython.

Run the stopgo-installer.exe to install StopGo.

Launch StopGo; if you are prompted, run it in Python.
1 change: 1 addition & 0 deletions LICENSE
77 changes: 77 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Makefile for StopGo Packaging.
## YOU DO NOT NEED THIS if you are just trying to use StopGo.
## This is only for developers who are
## building packages to distribute.

PKGDIR = stopgo.appdir
PYTHON = python2.7
VLC = python_vlc-1.1.2-py2.7.egg
WX = wxPython-src-2.8.12.1.tar.bz2
PNG = libpng-1.4.12.tar.xz
JPG = jpegsrc.v8a.tar.xz

# define arch for thirdpartylibs
LBITS := $(shell getconf LONG_BIT)
ifeq ($(LBITS),64)
LIB = lib64
ARCH = x86_64
else
LIB = lib
ARCH = i386
endif

# no longer needed but keeping as ref for looping in makefile
#onepm := libpng-1.5.13-5.el7.$(ARCH) \
# jbigkit-libs-2.0-11.el7.$(ARCH)
#osrc := $(foreach item,$(onepm),thirdparty/$(item).rpm )

help:
@echo
@echo "This is used by developers building packages to distribute."
@echo "Assuming you're a developer:"
@echo
@echo "Please use 'make <target>' where <target> is one of..."
@echo " download download thirdparty libs for linux "
@echo " downwind download thirdparty libs for windows "
@echo " all make packages for all supported platforms"
@echo " linux make AppImage for Linux "
@echo " windows make an .exe for Windows"
@echo " mac make a package for OS X "


all: linux windows mac

download:
@echo 'Fetching thirdparty libraries'
@wget --no-clobber http://mirror.crucial.com.au/slackware/slackware-14.1/source/l/libpng/$(PNG) -P thirdparty/linux
@wget --no-clobber http://mirror.crucial.com.au/slackware/slackware-14.1/source/l/libjpeg/$(JPG) -P thirdparty/linux
@wget --no-clobber http://downloads.sourceforge.net/wxpython/$(WX) -P thirdparty/linux
@wget --no-clobber https://pypi.python.org/packages/2.7/p/python-vlc/$(VLC) -P thirdparty/linux

downwind:
@echo 'Fetching thirdparty libraries for windows'
@wget --no-clobber https://bootstrap.pypa.io/ez_setup.py -P thirdparty/windows/
@wget --no-clobber "http://iweb.dl.sourceforge.net/project/nsis/NSIS 2/2.50/nsis-2.50-setup.exe" -P thirdparty/windows/
@wget --no-clobber https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi -P thirdparty/windows/
@wget --no-clobber http://iweb.dl.sourceforge.net/project/wxpython/wxPython/3.0.2.0/wxPython3.0-win32-3.0.2.0-py27.exe -P thirdparty/windows/


linux: $(VLC)
@sh ./genappdir.sh -i ./usr/share/icons/stopgo.png -d ./usr/share/applications/stopgo.desktop $(PKGDIR)
@cp -rv ./usr $(PKGDIR)
@convert ./usr/share/icons/hicolor/scalable/stopgo.svg -size 256x256 $(PKGDIR)/usr/share/icons/stopgo.png
@convert ./usr/share/icons/hicolor/scalable/stopgo.svg -size 96x96 $(PKGDIR)/stopgo.png
@mkdir -p $(PKGDIR)/usr/docs/stopgo
@cp AUTHORS TODO COPYING $(PKGDIR)/usr/docs/stopgo
@mkdir -p $(PKGDIR)/usr/$(LIB)/$(PYTHON)/site-packages/vlc
@echo "vlc" > $(PKGDIR)/usr/$(LIB)/$(PYTHON)/site-packages/vlc.pth
@unzip $(VLC) -d $(PKGDIR)/usr/$(LIB)/$(PYTHON)/site-packages/vlc/
# gotta build all the deps here
@find $(PKGDIR)/usr/lib64/ -type f -exec sed -i -e 's|/usr|././|g' {} \;
@find $(PKGDIR)/usr/lib64/ -type f -exec sed -i -e 's|././/bin/env|/usr/bin/env|g' {} \;
@find $(PKGDIR)/usr/lib64/ -type f -exec sed -i -e 's|././/bin/python|/usr/bin/python|g' {} \;
@$(HOME)/bin/AppImageAssistant.AppDir/package $(PKGDIR) stopgo.AppDir


mac:
@echo "Support coming soon-ish."
3 changes: 3 additions & 0 deletions PACKAGERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Packagers
=========

7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# StopGo

StopGo is a stop-motion animation application. It's goal is to be a
simple and direct way to take a series of photographs, with
onion-skinning, to create stop-motion animation.

StopGo is free and open source.
17 changes: 17 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-*- mode:org -*-

TO DO
======

* TODO add ability to import ("convert") a directory of existing images to a timeline
** if a sequence of DSC000X.JPG or whatever is provided, then adapt project to use 00X.png as prefix for our snapshots

** skill-level: intermediate + sqlite3 experience
* TODO right now we are locked into PNG. We need to determine what format something uses, because some cameras will use JPG or whatever
** skill-level: basic to intermediate
* TODO drag and drop reordering of frames (we have the framework for this, just have not implemented)
** skill-level: intermediate to advanced
* TODO undo history instead of just the most-recent one deletion
** skill-level: intermediate to advanced
* TODO add a probe-camera option so we don't always have to launch stopgo BEFORE attaching camera
** skill-level: basic to intermediate
Loading

0 comments on commit bb1eeba

Please sign in to comment.