diff --git a/constants.py b/constants.py index 31673f08..2aa27934 100644 --- a/constants.py +++ b/constants.py @@ -18,7 +18,7 @@ MEDIUM_QUALITY_CAMERA_CONFIG = { } LOW_QUALITY_CAMERA_CONFIG = { - "pixel_shape" : (480, 853), + "pixel_shape" : (480, 854), } DEFAULT_POINT_DENSITY_2D = 25 diff --git a/example_scenes.py b/example_scenes.py index 1340f3a5..2a282109 100644 --- a/example_scenes.py +++ b/example_scenes.py @@ -24,13 +24,15 @@ from mobject.tex_mobject import * from mobject.vectorized_mobject import * ## To watch one of these scenes, run the following: -## python extract_scenes.py -p file_name +## python extract_scene.py -p file_name class SquareToCircle(Scene): def construct(self): circle = Circle() + circle.shift(np.array([10, -5, 0])) square = Square() square.rotate(np.pi/8) + square.shift(np.array([10, -5, 0])) self.play(ShowCreation(square)) self.play(Transform(square, circle)) self.dither() diff --git a/helpers.py b/helpers.py index 2683bd6c..d500b7a9 100644 --- a/helpers.py +++ b/helpers.py @@ -170,7 +170,7 @@ def compass_directions(n = 4, start_vect = RIGHT): def partial_bezier_points(points, a, b): """ Given an array of points which define - a bezier curve, and two numbres 0<=a= 1: self.set_points(mobject.points) self.mark_paths_closed = mobject.mark_paths_closed diff --git a/myports.txt b/myports.txt new file mode 100644 index 00000000..80593eef --- /dev/null +++ b/myports.txt @@ -0,0 +1,219 @@ + apr @1.5.2_1 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:13:35+0100' + apr-util @1.5.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:20:17+0100' + autoconf @2.69_5 (active) platform='darwin 15' archs='noarch' date='2015-12-29T08:56:03+0100' + automake @1.15_1 (active) platform='darwin 15' archs='noarch' date='2015-12-29T08:56:12+0100' + bzip2 @1.0.6_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:04:35+0100' + cairo @1.14.6_0+quartz+x11 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:28+0200' + cctools @877.8_0+llvm37 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:25+0200' + cmake @3.4.1_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:52:54+0100' + cmake @3.5.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:11+0200' + curl @7.46.0_0+ssl platform='darwin 15' archs='x86_64' date='2016-01-06T23:46:52+0100' + curl @7.49.1_0+ssl (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:47:58+0200' + curl-ca-bundle @7.45.0_0 platform='darwin 15' archs='noarch' date='2015-12-29T09:00:36+0100' + curl-ca-bundle @7.46.0_0 platform='darwin 15' archs='noarch' date='2015-12-29T11:04:17+0100' + curl-ca-bundle @7.49.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T13:47:57+0200' + cyrus-sasl2 @2.1.26_5+kerberos platform='darwin 15' archs='x86_64' date='2016-01-06T23:26:38+0100' + cyrus-sasl2 @2.1.26_6+kerberos (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:16+0200' + cython_select @0.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:11:29+0200' + db46 @4.6.21_10 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:18:26+0100' + db48 @4.8.30_4 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:22:12+0100' + dbus @1.10.8_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:13:07+0200' + dbus-glib @0.106_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:14:36+0200' + dbus-python27 @1.2.0_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:14:36+0200' + desktop-file-utils @0.22_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:09:21+0100' + expat @2.1.0_0 platform='darwin 15' archs='x86_64' date='2015-12-29T08:47:39+0100' + expat @2.1.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:47:59+0200' + ffmpeg @3.0.2_0+gpl2+x11 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:52:43+0200' + fftw-3 @3.3.4_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:32+0200' + flac @1.3.1_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:27+0200' + fontconfig @2.11.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:54:29+0200' + freetype @2.6.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:30+0200' + fribidi @0.19.7_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:22+0200' + gdbm @1.11_1 platform='darwin 15' archs='x86_64' date='2015-12-29T08:56:32+0100' + gdbm @1.12_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:16+0200' + gettext @0.19.6_0 platform='darwin 15' archs='x86_64' date='2015-12-29T08:55:03+0100' + gettext @0.19.7_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:02+0200' + glib2 @2.46.2_0 platform='darwin 15' archs='x86_64' date='2015-12-29T09:08:07+0100' + glib2 @2.48.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:18+0200' + gmake @4.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:23+0200' + gmp @6.0.0_1 platform='darwin 15' archs='x86_64' date='2015-12-29T09:01:55+0100' + gmp @6.1.0_1 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T11:05:57+0100' + gnutls @3.3.19_0 platform='darwin 15' archs='x86_64' date='2015-12-29T11:10:40+0100' + gnutls @3.4.12_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:24+0200' + gperf @3.0.4_2 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T08:47:50+0100' + hydra @7.5_2 platform='darwin 15' archs='x86_64' date='2016-01-06T23:53:23+0100' + hydra @7.5_3 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:32+0200' + ipython2_select @0.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:15+0200' + ipython_select @0.4_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:15+0200' + isl @0.14.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:26+0200' + jbigkit @2.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:26+0200' + jpeg @9a_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:18+0200' + kerberos5 @1.13.2_2 platform='darwin 15' archs='x86_64' date='2016-01-06T23:25:49+0100' + kerberos5 @1.14.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:15+0200' + lame @3.99.5_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:23+0200' + lcms2 @2.7_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:14:37+0200' + ld64 @2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:27+0200' + ld64-latest @253.9_0+llvm37 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:27+0200' + libarchive @3.1.2_1 platform='darwin 15' archs='x86_64' date='2016-01-06T23:48:20+0100' + libarchive @3.1.2_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:08+0200' + libass @0.13.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:23+0200' + libbluray @0.9.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:24+0200' + libcomerr @1.42.13_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:20:43+0100' + libcomerr @1.43_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:14+0200' + libcxx @3.7.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:33+0200' + libedit @20150325-3.1_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:04:53+0100' + libevent @2.0.22_1 platform='darwin 15' archs='x86_64' date='2016-01-06T23:58:08+0100' + libevent @2.0.22_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:33+0200' + libffi @3.2.1_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:04:31+0100' + libgcc @6.1.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:29+0200' + libiconv @1.14_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T08:48:36+0100' + libidn @1.32_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:02:40+0100' + libmagic @5.25_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:27:06+0100' + libmagic @5.27_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:34+0200' + libmikmod @3.2.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:28+0200' + libmng @2.0.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:14:38+0200' + libmodplug @0.8.8.5_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:24+0200' + libmpc @1.0.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:28+0200' + libogg @1.3.2_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:27+0200' + libopus @1.1.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:24+0200' + libpcap @1.7.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:13:47+0100' + libpixman @0.34.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:27+0200' + libpng @1.6.22_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:19+0200' + libsdl @1.2.15_3+x11 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:25+0200' + libsdl_image @1.2.12_5 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:26+0200' + libsdl_mixer @1.2.12_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:30+0200' + libsdl_ttf @2.0.11_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:32+0200' + libssh @0.7.0_2+kerberos5 platform='darwin 15' archs='x86_64' date='2016-01-06T23:53:16+0100' + libssh @0.7.3_1+kerberos5 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:29+0200' + libtasn1 @4.7_0 platform='darwin 15' archs='x86_64' date='2015-12-29T09:03:04+0100' + libtasn1 @4.8_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:22+0200' + libtheora @1.1.1_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:24+0200' + libtool @2.4.6_2 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:03:20+0100' + libvorbis @1.3.5_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:28+0200' + libvpx @1.4.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:25+0200' + libxml2 @2.9.2_2 platform='darwin 15' archs='x86_64' date='2015-12-29T09:10:16+0100' + libxml2 @2.9.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:07+0200' + libxslt @1.1.28_1 platform='darwin 15' archs='x86_64' date='2015-12-29T09:10:48+0100' + libxslt @1.1.29_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:23+0200' + llvm-3.7 @3.7.1_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:09:55+0200' + llvm_select @1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:33+0200' + lzo2 @2.09_0 (active) platform='darwin 15' archs='x86_64' date='2016-01-06T23:47:27+0100' + mpfr @3.1.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:28+0200' + ncurses @6.0_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T08:49:33+0100' + nettle @3.1.1_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:04:13+0100' + nmap @7.01_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:31:09+0100' + nmap @7.12_0+pcre+ssl+subversion (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:27+0200' + nosetests_select @0.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:11:31+0200' + openjpeg @2.1.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:26+0200' + openssl @1.0.2e_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:16:42+0100' + openssl @1.0.2h_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:47:54+0200' + orc @0.4.25_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:26+0200' + p11-kit @0.22.1_0 platform='darwin 15' archs='x86_64' date='2015-12-29T09:12:07+0100' + p11-kit @0.23.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:23+0200' + pcre @8.37_0 platform='darwin 15' archs='x86_64' date='2015-12-29T09:05:51+0100' + pcre @8.38_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T11:06:47+0100' + perl5 @5.16.3_0+perl5_16 platform='darwin 15' archs='noarch' date='2015-12-29T09:00:31+0100' + perl5 @5.22.1_0+perl5_16 platform='darwin 15' archs='noarch' date='2015-12-29T11:04:13+0100' + perl5 @5.22.2_0+perl5_22 (active) platform='darwin 15' archs='noarch' date='2016-06-05T13:50:37+0200' + perl5.16 @5.16.3_1 platform='darwin 15' archs='x86_64' date='2015-12-29T09:00:25+0100' + perl5.16 @5.16.3_2 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T11:04:05+0100' + perl5.22 @5.22.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:33+0200' + pkgconfig @0.28_0 platform='darwin 15' archs='x86_64' date='2015-12-29T09:08:59+0100' + pkgconfig @0.29.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:38+0200' + popt @1.16_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:09:16+0100' + py27-altgraph @0.12_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:30+0200' + py27-appnope @0.1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:15+0200' + py27-apptools @4.3.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:22:25+0200' + py27-backports @1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:16+0200' + py27-backports-shutil_get_terminal_size @1.0.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:17+0200' + py27-backports-ssl_match_hostname @3.5.0.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:43+0200' + py27-backports_abc @0.4_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:43+0200' + py27-cairo @1.10.0_3 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:28+0200' + py27-certifi @2016.02.28_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:43+0200' + py27-configobj @5.0.6_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:13:05+0200' + py27-cycler @0.10.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:28+0200' + py27-cython @0.24_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:30+0200' + py27-dateutil @2.5.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:30+0200' + py27-decorator @4.0.9_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:18+0200' + py27-envisage @4.4.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:22:26+0200' + py27-game @1.9.1_8 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:42+0200' + py27-gnureadline @6.3.3_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:42:34+0200' + py27-ipython @4.2.0_1 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:37+0200' + py27-ipython_genutils @0.1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:36+0200' + py27-macholib @1.7_1 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:31+0200' + py27-matplotlib @1.5.1_3+cairo (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:57:59+0200' + py27-mayavi @4.4.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:22:56+0200' + py27-modulegraph @0.12.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:30+0200' + py27-nose @1.3.7_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:11:32+0200' + py27-numpy @1.11.0_0+gfortran (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:11:33+0200' + py27-parsing @2.1.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:30+0200' + py27-pathlib2 @2.1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:35+0200' + py27-pexpect @4.1.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:35+0200' + py27-pickleshare @0.7.2_1 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:35+0200' + py27-ptyprocess @0.5.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:42:35+0200' + py27-py2app @0.10_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:32+0200' + py27-pyface @5.0.0_0+pyqt4 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:22:09+0200' + py27-pygments @2.1.3_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:30:20+0200' + py27-pyobjc @3.0.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:37+0200' + py27-pyobjc-cocoa @3.0.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:42+0200' + py27-pyqt4 @4.11.4_4 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:22:01+0200' + py27-setuptools @21.2.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:11:31+0200' + py27-simplegeneric @0.8.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:36+0200' + py27-singledispatch @3.4.0.3_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:43+0200' + py27-sip @4.18_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:14:37+0200' + py27-six @1.10.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:32:30+0200' + py27-tornado @4.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:44+0200' + py27-traitlets @4.2.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:42:36+0200' + py27-traits @4.5.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:22:08+0200' + py27-traitsui @5.0.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:22:24+0200' + py27-tz @2016.4_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T18:56:29+0200' + python2_select @0.0_1 (active) platform='darwin 15' archs='noarch' date='2016-01-06T23:22:20+0100' + python27 @2.7.11_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:24:25+0100' + python27 @2.7.11_2 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:42+0200' + python_select @0.3_6 (active) platform='darwin 15' archs='noarch' date='2016-01-06T23:22:21+0100' + qhull @2015.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:45+0200' + qt4-mac @4.8.7_4 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:15:50+0200' + readline @6.3.003_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:39+0200' + schroedinger @1.0.11_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:27+0200' + scons @2.3.4_0 platform='darwin 15' archs='noarch' date='2016-01-06T23:27:10+0100' + scons @2.4.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T13:50:51+0200' + serf1 @1.3.4_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:27:18+0100' + serf1 @1.3.4_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:36+0200' + smpeg @0.4.4_9 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:29+0200' + soxr @0.1.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:27+0200' + speex @1.2rc1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:27+0200' + sqlite3 @3.9.2_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:19:11+0100' + sqlite3 @3.13.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:35+0200' + subversion @1.9.3_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:29:32+0100' + subversion @1.9.3_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:48:37+0200' + texinfo @6.1_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:28+0200' + tiff @4.0.6_1 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:26+0200' + tor @0.2.7.6_0 platform='darwin 15' archs='x86_64' date='2016-01-06T23:59:05+0100' + tor @0.2.7.6_3 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:52+0200' + torsocks @1.2_1 platform='darwin 15' archs='x86_64' date='2016-01-07T00:13:13+0100' + torsocks @2.1.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:55+0200' + vtk @7.0.0_0+python27 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:22:41+0200' + wget @1.17.1_0+ssl platform='darwin 15' archs='x86_64' date='2015-12-29T11:11:37+0100' + wget @1.17.1_1+ssl (active) platform='darwin 15' archs='x86_64' date='2016-06-05T13:50:56+0200' + x264 @20160119_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:30+0200' + xorg-fixesproto @5.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-06T22:46:30+0200' + xorg-kbproto @1.0.7_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:19+0200' + xorg-libpthread-stubs @0.3_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:20+0200' + xorg-libX11 @1.6.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:22+0200' + xorg-libXau @1.0.8_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:19+0200' + xorg-libxcb @1.12_1+python27 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:20+0200' + xorg-libXdmcp @1.1.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:20+0200' + xorg-libXext @1.3.3_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:24+0200' + xorg-libXfixes @5.0.2_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:30+0200' + xorg-libXrandr @1.5.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:24+0200' + xorg-randrproto @1.5.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:24+0200' + xorg-renderproto @0.11.1_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:24+0200' + xorg-xcb-proto @1.12_0+python27 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:20+0200' + xorg-xcb-util @0.4.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T18:56:27+0200' + xorg-xextproto @7.3.0_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:23+0200' + xorg-xproto @7.0.29_0 (active) platform='darwin 15' archs='noarch' date='2016-06-05T14:08:19+0200' + xrender @0.9.9_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-05T14:08:24+0200' + XviD @1.3.4_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:22+0200' + xz @5.2.2_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T08:55:50+0100' + yasm @1.3.0_0 (active) platform='darwin 15' archs='x86_64' date='2016-06-06T22:46:31+0200' + zlib @1.2.8_0 (active) platform='darwin 15' archs='x86_64' date='2015-12-29T09:05:00+0100' diff --git a/old_projects/borsuk.py b/old_projects/borsuk.py index 6f257e16..cd4b5a05 100644 --- a/old_projects/borsuk.py +++ b/old_projects/borsuk.py @@ -31,7 +31,7 @@ class Jewel(VMobject): "color" : WHITE, "fill_opacity" : 0.75, "stroke_width" : 0, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "height" : 0.5, "num_equator_points" : 5, "sun_vect" : OUT+LEFT+UP, diff --git a/old_projects/crypto.py b/old_projects/crypto.py index 0b4dfb1f..7d0da810 100644 --- a/old_projects/crypto.py +++ b/old_projects/crypto.py @@ -2974,7 +2974,7 @@ class IntroduceBlockChain(Scene): self.show_proofs_of_work() self.chain_blocks_together() self.mess_with_early_block() - self.propogate_hash_change() + self.propagate_hash_change() self.redo_proof_of_work() self.write_block_chain() @@ -3144,7 +3144,7 @@ class IntroduceBlockChain(Scene): blocks.submobjects[:2] = blocks.submobjects[1::-1] - def propogate_hash_change(self): + def propagate_hash_change(self): prev_hashes = self.prev_hashes for block, prev_hash in zip(self.blocks, prev_hashes[1:]): diff --git a/old_projects/efvgt.py b/old_projects/efvgt.py index 0c6831e6..388f5815 100644 --- a/old_projects/efvgt.py +++ b/old_projects/efvgt.py @@ -3295,7 +3295,7 @@ class EmeraldLogo(SVGMobject): "file_name" : "emerald_logo", "stroke_width" : 0, "fill_opacity" : 1, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, # "helix_color" : "#439271", "helix_color" : GREEN_E, } diff --git a/old_projects/fractal_dimension.py b/old_projects/fractal_dimension.py index 35c93b84..01e76cd6 100644 --- a/old_projects/fractal_dimension.py +++ b/old_projects/fractal_dimension.py @@ -39,7 +39,7 @@ class Britain(SVGMobject): "stroke_width" : 0, "fill_color" : BLUE_D, "fill_opacity" : 1, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "height" : 5, "mark_paths_closed" : True, } @@ -2887,7 +2887,7 @@ class AffirmLogo(SVGMobject): "fill_opacity" : 1, "stroke_color" : "#0FA0EA", "stroke_width" : 0, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "file_name" : "affirm_logo", "width" : 3, } diff --git a/old_projects/triangle_of_power/triangle.py b/old_projects/triangle_of_power/triangle.py index 3ed2a98a..ca53f75a 100644 --- a/old_projects/triangle_of_power/triangle.py +++ b/old_projects/triangle_of_power/triangle.py @@ -84,7 +84,7 @@ class TOP(VMobject): "triangle_height_to_number_height" : 3, "offset_multiple" : 1.5, "radius" : 1.5, - "propogate_style_to_family" : False, + "propagate_style_to_family" : False, } def __init__(self, x = None, y = None, z = None, **kwargs): digest_config(self, kwargs, locals()) diff --git a/requested.txt b/requested.txt new file mode 100644 index 00000000..f01d0f70 --- /dev/null +++ b/requested.txt @@ -0,0 +1,17 @@ +ffmpeg +hydra +hydra +nmap +nmap +py27-game +py27-ipython +py27-matplotlib +py27-mayavi +py27-pygments +py27-six +tor +tor +torsocks +torsocks +wget +wget diff --git a/restore_ports.tcl b/restore_ports.tcl new file mode 100755 index 00000000..c4370709 --- /dev/null +++ b/restore_ports.tcl @@ -0,0 +1,287 @@ +#!/bin/sh +# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 +# \ +if /usr/bin/which -s port-tclsh; then exec port-tclsh "$0" -i `which port-tclsh` "$@"; else exec /usr/bin/tclsh "$0" -i /usr/bin/tclsh "$@"; fi +# +# Install a list of ports given in the form produced by 'port installed', in +# correct dependency order so as to preserve the selected variants. +# +# Todo: +# Handle conflicting ports somehow +# Once "good enough", integrate into port + + +set MY_VERSION 0.1 + +proc printUsage {} { + puts "Usage: $::argv0 \[-hV\] \[-p macports-prefix\] \[filename\]" + puts " -h This help" + puts " -p Use a different MacPorts prefix" + puts " (defaults to /opt/local)" + puts " -V show version and MacPorts version being used" +} + + +proc dependenciesForPort {portName variantInfo} { + set dependencyList [list] + set portSearchResult [mportlookup $portName] + if {[llength $portSearchResult] < 2} { + ui_warn "Skipping $portName (not in the ports tree)" + return $dependencyList + } + array set portInfo [lindex $portSearchResult 1] + if {[catch {set mport [mportopen $portInfo(porturl) [list subport $portInfo(name)] $variantInfo]} result]} { + global errorInfo + puts stderr "$errorInfo" + return -code error "Unable to open port '$portName': $result" + } + array unset portInfo + array set portInfo [mportinfo $mport] + mportclose $mport + foreach dependencyType {depends_fetch depends_extract depends_build depends_lib depends_run} { + if {[info exists portInfo($dependencyType)] && [string length $portInfo($dependencyType)] > 0} { + foreach dependency $portInfo($dependencyType) { + lappend dependencyList [lindex [split $dependency :] end] + } + } + } + + return $dependencyList +} + +proc sort_ports {portList} { + array set port_installed {} + array set port_deps {} + array set port_in_list {} + + set newList [list] + foreach port $portList { + set name [lindex $port 0] + #ui_msg "name = $name" + set version [lindex $port 1] + set variants "" + + if {[regexp {^@([^+]+?)(_(\d+)(([-+][^-+]+)*))?$} $version - - - - variantstr] && [info exists variantstr]} { + while 1 { + set nextplus [string last + $variantstr] + set nextminus [string last - $variantstr] + if {$nextplus > $nextminus} { + set next $nextplus + set sign + + } else { + set next $nextminus + set sign - + } + if {$next == -1} { + break + } + set v [string range $variantstr [expr $next + 1] end] + lappend variants $v $sign + set variantstr [string range $variantstr 0 [expr $next - 1]] + } + } + #ui_msg "variants = $variants" + set active 0 + if {[llength $port] > 2 && [lindex $port 2] == "(active)"} { + set active 1 + } + #ui_msg "active = $active" + + if {![info exists port_in_list($name)]} { + set port_in_list($name) 1 + set port_installed($name) 0 + } else { + incr port_in_list($name) + } + if {![info exists port_deps(${name},${variants})]} { + set port_deps(${name},${variants}) [dependenciesForPort $name $variants] + } + lappend newList [list $active $name $variants] + } + + set operationList [list] + while {[llength $newList] > 0} { + set oldLen [llength $newList] + foreach port $newList { + foreach {active name variants} $port break + # ensure active versions are installed after inactive versions, + # since installing will also activate and we don't want to + # displace the active version + if {$active && $port_installed($name) < ($port_in_list($name) - 1)} { + continue + } + set installable 1 + foreach dep $port_deps(${name},${variants}) { + # XXX maybe check dep is active here? + if {[info exists port_installed($dep)] && $port_installed($dep) == 0} { + set installable 0 + break + } + } + if {$installable} { + lappend operationList [list $name $variants $active] + incr port_installed($name) + set index [lsearch $newList [list $active $name $variants]] + #ui_msg "deleting \"[list $active $name $variants]\" from list" + #ui_msg "list with element: $newList" + set newList [lreplace $newList $index $index] + #ui_msg "list without element: $newList" + } + } + if {[llength $newList] == $oldLen} { + ui_error "we appear to be stuck, exiting..." + return -code error "infinite loop" + } + } + + return $operationList +} + +proc install_ports {operationList} { + foreach op $operationList { + set name [string trim [lindex $op 0]] + set variations [lindex $op 1] + set active [lindex $op 2] + + if {!$active} { + set install_target install + } else { + set install_target activate + } + + if {[catch {set res [mportlookup $name]} result]} { + global errorInfo + ui_debug "$errorInfo" + return -code error "lookup of portname $name failed: $result" + } + if {[llength $res] < 2} { + # not in the index, but we already warned about that earlier + continue + } + array unset portinfo + array set portinfo [lindex $res 1] + set porturl $portinfo(porturl) + + # XXX should explicitly turn off default variants that don't appear in the list + + if {[catch {set workername [mportopen $porturl [list subport $portinfo(name)] $variations]} result]} { + global errorInfo + puts stderr "$errorInfo" + return -code error "Unable to open port '$name': $result" + } + if {[catch {set result [mportexec $workername $install_target]} result]} { + global errorInfo + mportclose $workername + ui_msg "$errorInfo" + return -code error "Unable to execute target 'install' for port '$name': $result" + } else { + mportclose $workername + } + + # XXX some ports may be reactivated to fulfil dependencies - check again at the end? + } +} + +proc read_portlist {filename} { + if {$filename == "-"} { + set infile stdin + } else { + set infile [open $filename r] + } + set data [read -nonewline $infile] + set portList [split $data \n] + close $infile + if {[lindex $portList 0] == "The following ports are currently installed:"} { + set portList [lrange $portList 1 end] + } + return $portList +} + +# Begin + +set macportsPrefix /opt/local +set showVersion 0 +array set ui_options {} + +set origArgv $::argv +while {[string index [lindex $::argv 0] 0] == "-" } { + switch [string range [lindex $::argv 0] 1 end] { + h { + printUsage + exit 0 + } + i { + set interp_path [lindex $::argv 1] + set ::argv [lrange $::argv 1 end] + } + p { + if {[llength $::argv] < 2} { + puts stderr "-p needs a path" + printUsage + exit 1 + } + set macportsPrefix [lindex $::argv 1] + set ::argv [lrange $::argv 1 end] + set userPrefix 1 + } + V { + set showVersion 1 + } + v { + set ui_options(ports_verbose) yes + } + default { + puts stderr "Unknown option [lindex $::argv 0]" + printUsage + exit 1 + } + } + set ::argv [lrange $::argv 1 end] +} + +# check that default prefix exists +if {![info exists userPrefix] && ![file isdirectory $macportsPrefix]} { + error "prefix '$macportsPrefix' does not exist; maybe you need to use the -p option?" +} + +if {[info exists interp_path]} { + set prefixFromInterp [file dirname [file dirname $interp_path]] +} else { + # presumably the user ran '/some/prefix/bin/port-tclsh restore_ports.tcl' + set prefixFromInterp "" + if {[info exists userPrefix]} { + error "the -p option cannot be used when running with an explicit interpreter (e.g. 'port-tclsh restore_ports.tcl') - run just './restore_ports.tcl' instead." + } +} +# make sure we're running in the port-tclsh associated with the correct prefix +if {$prefixFromInterp ne "" && $prefixFromInterp ne $macportsPrefix} { + if {[file executable ${macportsPrefix}/bin/port-tclsh]} { + exec ${macportsPrefix}/bin/port-tclsh $argv0 -i ${macportsPrefix}/bin/port-tclsh {*}[lrange $origArgv 2 end] <@stdin >@stdout 2>@stderr + exit 0 + } else { + error "prefix '$macportsPrefix' does not appear to have a working port-tclsh" + } +} + +package require macports +package require Pextlib 1.0 +umask 022 +mportinit ui_options + +if {$showVersion} { + puts "Version $MY_VERSION" + puts "MacPorts version [macports::version]" + exit 0 +} + +if {[llength $::argv] == 0} { + set filename "-" +} else { + set filename [lindex $::argv 0] +} +set portList [read_portlist $filename] +#ui_msg "portlist = $portList" + +set operationList [sort_ports $portList] + +install_ports $operationList diff --git a/scene/scene.py b/scene/scene.py index d1500e11..87dd45d5 100644 --- a/scene/scene.py +++ b/scene/scene.py @@ -499,7 +499,7 @@ class Scene(object): fps = int(1/self.frame_duration) height, width = self.camera.pixel_shape - + command = [ FFMPEG_BIN, '-y', # overwrite output file if it exists diff --git a/topics/characters.py b/topics/characters.py index fef18cb8..13957e02 100644 --- a/topics/characters.py +++ b/topics/characters.py @@ -30,7 +30,7 @@ class PiCreature(SVGMobject): "stroke_width" : 0, "stroke_color" : BLACK, "fill_opacity" : 1.0, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "height" : 3, "corner_scale_factor" : 0.75, "flip_at_start" : False, diff --git a/topics/fractals.py b/topics/fractals.py index 7a43ffab..e28f6fee 100644 --- a/topics/fractals.py +++ b/topics/fractals.py @@ -65,7 +65,7 @@ class SelfSimilarFractal(VMobject): "colors" : [RED, WHITE], "stroke_width" : 1, "fill_opacity" : 1, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, } def init_colors(self): VMobject.init_colors(self) @@ -293,7 +293,7 @@ class FractalCurve(VMobject): 4 : 2, 5 : 1, }, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, } def generate_points(self): diff --git a/topics/geometry.py b/topics/geometry.py index 331aecab..2be06103 100644 --- a/topics/geometry.py +++ b/topics/geometry.py @@ -239,7 +239,7 @@ class Arrow(Line): "max_tip_length_to_length_ratio" : 0.35, "max_stem_width_to_tip_width_ratio" : 0.3, "buff" : MED_SMALL_BUFF, - "propogate_style_to_family" : False, + "propagate_style_to_family" : False, "preserve_tip_size_when_scaling" : True, "normal_vector" : OUT, "use_rectangular_stem" : True, diff --git a/topics/number_line.py b/topics/number_line.py index 59faac0d..ba9fc6e6 100644 --- a/topics/number_line.py +++ b/topics/number_line.py @@ -23,7 +23,7 @@ class NumberLine(VMobject): "line_to_number_vect" : DOWN, "line_to_number_buff" : MED_SMALL_BUFF, "include_tip" : False, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, } def __init__(self, **kwargs): digest_config(self, kwargs) @@ -135,7 +135,7 @@ class UnitInterval(NumberLine): class Axes(VGroup): CONFIG = { - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "three_d" : False, "number_line_config" : { "color" : LIGHT_GREY, @@ -209,7 +209,7 @@ class NumberPlane(VMobject): "y_line_frequency" : 1, "secondary_line_ratio" : 1, "written_coordinate_height" : 0.2, - "propogate_style_to_family" : False, + "propagate_style_to_family" : False, } def generate_points(self): if self.x_radius is None: diff --git a/topics/objects.py b/topics/objects.py index 769ea8ff..bedc7b25 100644 --- a/topics/objects.py +++ b/topics/objects.py @@ -154,7 +154,7 @@ class PartyHat(SVGMobject): "pi_creature" : None, "stroke_width" : 0, "fill_opacity" : 1, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "frills_colors" : [MAROON_B, PURPLE], "cone_color" : GREEN, "dots_colors" : [YELLOW], @@ -256,7 +256,7 @@ class PatreonLogo(SVGMobject): "fill_opacity" : 1, "stroke_width" : 0, "width" : 4, - "propogate_style_to_family" : True + "propagate_style_to_family" : True } def __init__(self, **kwargs): SVGMobject.__init__(self, **kwargs) @@ -313,7 +313,7 @@ class Headphones(SVGMobject): class Clock(VGroup): CONFIG = { - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, } def __init__(self, **kwargs): circle = Circle() @@ -378,7 +378,7 @@ class Bubble(SVGMobject): "width" : 8, "bubble_center_adjustment_factor" : 1./8, "file_name" : None, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "fill_color" : BLACK, "fill_opacity" : 0.8, "stroke_color" : WHITE, diff --git a/topics/three_dimensions.py b/topics/three_dimensions.py index ced06c21..5e1cc47c 100644 --- a/topics/three_dimensions.py +++ b/topics/three_dimensions.py @@ -204,7 +204,7 @@ class Cube(ThreeDMobject): "fill_opacity" : 0.75, "fill_color" : BLUE, "stroke_width" : 0, - "propogate_style_to_family" : True, + "propagate_style_to_family" : True, "side_length" : 2, } def generate_points(self):