storyboard 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL.md +9 -2
- data/lib/storyboard/version.rb +1 -1
- data/setup/osx.sh +112 -0
- metadata +134 -149
data/INSTALL.md
CHANGED
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
Storyboard relies on a number of external libraries to handle extracting information from the video files and generating the output. Primarily, it requires Ruby 1.9.3 or greater, FFMpeg 1.1 or greater, Imagemagick (which in turn requires ghostscript), and a compiler.
|
4
4
|
|
5
|
-
## OS X
|
5
|
+
## OS X: Simply
|
6
|
+
|
7
|
+
Opening a terminal and running the following command will install **everything** that storyboard needs. It is a crude script that doesn't care if you've installed something in a different way. Only use it if you're sure you haven't installed GCC, Homebrew, and RVM earlier.
|
8
|
+
|
9
|
+
curl -L "http://bit.ly/mac_storyboard" | bash && source ~/.bashrc
|
10
|
+
|
11
|
+
## OS X: More In Depth
|
6
12
|
|
7
13
|
To begin, you'll need to download GCC, a set of tools that will let you compile low level code. You can find a nice installer for it at [osx-gcc-installer](https://github.com/kennethreitz/osx-gcc-installer). Once GCC is installed, download and install [homebrew](http://mxcl.github.com/homebrew/), which is a tool that will automate of the installation process for Imagemagick and FFmpeg. If you haven't installed homebrew before, open a Terminal window and do the following:
|
8
14
|
|
@@ -21,6 +27,7 @@ Finally, if you don't have Ruby 1.9.3 installed on your system, you can use <a h
|
|
21
27
|
rvm install 1.9.3-p374
|
22
28
|
rvm default 1.9.3-p374
|
23
29
|
|
24
|
-
When all of those are installed, you can install Storyboard with the `gem` command
|
30
|
+
When all of those are installed, you can install Storyboard with the `gem` command, and create a link to it so that it runs with 1.9.3.
|
25
31
|
|
26
32
|
gem install storyboard
|
33
|
+
rvm wrapper 1.9.3-p374 --no-prefix storyboard
|
data/lib/storyboard/version.rb
CHANGED
data/setup/osx.sh
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
vercomp () {
|
3
|
+
if [[ $1 == $2 ]]
|
4
|
+
then
|
5
|
+
return 0
|
6
|
+
fi
|
7
|
+
local IFS=.
|
8
|
+
local i ver1=($1) ver2=($2)
|
9
|
+
# fill empty fields in ver1 with zeros
|
10
|
+
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
|
11
|
+
do
|
12
|
+
ver1[i]=0
|
13
|
+
done
|
14
|
+
for ((i=0; i<${#ver1[@]}; i++))
|
15
|
+
do
|
16
|
+
if [[ -z ${ver2[i]} ]]
|
17
|
+
then
|
18
|
+
# fill empty fields in ver2 with zeros
|
19
|
+
ver2[i]=0
|
20
|
+
fi
|
21
|
+
if ((10#${ver1[i]} > 10#${ver2[i]}))
|
22
|
+
then
|
23
|
+
return 1
|
24
|
+
fi
|
25
|
+
if ((10#${ver1[i]} < 10#${ver2[i]}))
|
26
|
+
then
|
27
|
+
return 2
|
28
|
+
fi
|
29
|
+
done
|
30
|
+
return 0
|
31
|
+
}
|
32
|
+
|
33
|
+
return=$(osascript -e 'tell app "System Events" to display dialog "This script will potentially download and install lots of additional software on your system, including GCC, Homebrew, FFmpeg, Imagemagick, Ghostscript, RVM, and Ruby 1.9.3. If you feel able to install these yourself, I recommend that you do. This is a crude installer that cares for nothing beyond itself." with icon caution with title "OSX 10.8 Mountain Lion: Storyboard installer" buttons {"OK", "Cancel"} default button 1' >/dev/null 2>/dev/null)
|
34
|
+
if [ $? -ne 0 ]; then
|
35
|
+
exit
|
36
|
+
fi
|
37
|
+
|
38
|
+
echo -n "Checking for gcc devtools..."
|
39
|
+
if [ -x /usr/bin/llvm-gcc-4.2 -o -x /usr/bin/gcc-4.2 ]; then
|
40
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
41
|
+
else
|
42
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
43
|
+
curl -C - -O http://devimages.apple.com/downloads/xcode/command_line_tools_for_xcode_10_8_late_july_2012.dmg
|
44
|
+
hdiutil attach command_line_tools_for_xcode_10_8_late_july_2012.dmg
|
45
|
+
open -W /Volumes/Command\ Line\ Tools\ \(Mountain\ Lion\)/Command\ Line\ Tools\ \(Mountain\ Lion\).mpkg
|
46
|
+
rm command_line_tools_for_xcode_10_8_late_july_2012.dmg
|
47
|
+
fi
|
48
|
+
|
49
|
+
echo -n "Checking for homebrew..."
|
50
|
+
if [ -x /usr/local/bin/brew ]; then
|
51
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
52
|
+
echo -n "Ensuring it's up to date..."
|
53
|
+
brew update
|
54
|
+
else
|
55
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
56
|
+
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/go)"
|
57
|
+
fi
|
58
|
+
|
59
|
+
echo -n "Checking for FFmpeg"
|
60
|
+
if [ -x /usr/local/bin/ffmpeg ]; then
|
61
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
62
|
+
echo -n "Ensuring FFmpeg is up to date"
|
63
|
+
version=$(ffprobe -version | awk '/ffprobe version (.*)$/{print $0}' | grep -oE '[0-9\.]{1,}')
|
64
|
+
version=$(printf $version)
|
65
|
+
vercomp $version '1.1'
|
66
|
+
if [ $? -lt 2 ] ; then
|
67
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
68
|
+
else
|
69
|
+
brew upgrade ffmpeg
|
70
|
+
fi
|
71
|
+
else
|
72
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
73
|
+
brew install ffmpeg
|
74
|
+
fi
|
75
|
+
|
76
|
+
echo -n "Checking for ImageMagick"
|
77
|
+
if [ -x /usr/local/bin/convert ]; then
|
78
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
79
|
+
else
|
80
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
81
|
+
brew install imagemagick
|
82
|
+
fi
|
83
|
+
|
84
|
+
echo -n "Checking for Ghostscript"
|
85
|
+
if brew list | grep -q ghostscript ; then
|
86
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
87
|
+
else
|
88
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
89
|
+
brew install ghostscript
|
90
|
+
fi
|
91
|
+
|
92
|
+
echo -n "Checking for RVM"
|
93
|
+
if which -s rvm ; then
|
94
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
95
|
+
else
|
96
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
97
|
+
curl -L https://get.rvm.io | bash
|
98
|
+
source ~/.rvm/scripts/rvm
|
99
|
+
fi
|
100
|
+
|
101
|
+
echo -n "Checking for Ruby 1.9.3"
|
102
|
+
if rvm list | grep -q 1.9.3 ; then
|
103
|
+
printf '%s ok %s\n' "$(tput setaf 2)" "$(tput op)"
|
104
|
+
else
|
105
|
+
printf '%s have to install %s\n' "$(tput setaf 1)" "$(tput op)"
|
106
|
+
rvm install 1.9.3 --default
|
107
|
+
fi
|
108
|
+
|
109
|
+
source ~/.rvm/scripts/rvm
|
110
|
+
rvm use 1.9.3
|
111
|
+
gem install storyboard
|
112
|
+
rvm wrapper 1.9.3 --no-prefix storyboard
|
metadata
CHANGED
@@ -1,168 +1,143 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: storyboard
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Mark Olson
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2013-01-22 00:00:00 -05:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: nokogiri
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
name: mini_magick
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
version: "0"
|
38
30
|
type: :runtime
|
31
|
+
version_requirements: *id001
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: mini_magick
|
39
34
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
name: prawn
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ">="
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
segments:
|
40
|
+
- 0
|
41
|
+
version: "0"
|
54
42
|
type: :runtime
|
43
|
+
version_requirements: *id002
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: prawn
|
55
46
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
name: ruby-progressbar
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
47
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
segments:
|
52
|
+
- 0
|
53
|
+
version: "0"
|
70
54
|
type: :runtime
|
55
|
+
version_requirements: *id003
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: ruby-progressbar
|
71
58
|
prerelease: false
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
name: levenshtein-ffi
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
59
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
segments:
|
64
|
+
- 0
|
65
|
+
version: "0"
|
86
66
|
type: :runtime
|
67
|
+
version_requirements: *id004
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: levenshtein-ffi
|
87
70
|
prerelease: false
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
name: path
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: 1.3.0
|
71
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
version: "0"
|
102
78
|
type: :runtime
|
79
|
+
version_requirements: *id005
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: path
|
103
82
|
prerelease: false
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
83
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
segments:
|
88
|
+
- 1
|
89
|
+
- 3
|
90
|
+
- 0
|
109
91
|
version: 1.3.0
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rubyzip
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
92
|
type: :runtime
|
93
|
+
version_requirements: *id006
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rubyzip
|
119
96
|
prerelease: false
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
name: term-ansicolor
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ! '>='
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
97
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
version: "0"
|
134
104
|
type: :runtime
|
105
|
+
version_requirements: *id007
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: term-ansicolor
|
135
108
|
prerelease: false
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
name: mime-types
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ! '>='
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: '1.19'
|
109
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
segments:
|
114
|
+
- 0
|
115
|
+
version: "0"
|
150
116
|
type: :runtime
|
117
|
+
version_requirements: *id008
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: mime-types
|
151
120
|
prerelease: false
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
121
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
segments:
|
126
|
+
- 1
|
127
|
+
- 19
|
128
|
+
version: "1.19"
|
129
|
+
type: :runtime
|
130
|
+
version_requirements: *id009
|
158
131
|
description: Generate PDFs and eBooks from video files
|
159
|
-
email:
|
160
|
-
-
|
161
|
-
executables:
|
132
|
+
email:
|
133
|
+
- "\"theothermarkolson@gmail.com\""
|
134
|
+
executables:
|
162
135
|
- storyboard
|
163
136
|
extensions: []
|
137
|
+
|
164
138
|
extra_rdoc_files: []
|
165
|
-
|
139
|
+
|
140
|
+
files:
|
166
141
|
- .gitignore
|
167
142
|
- .rvmrc
|
168
143
|
- Gemfile
|
@@ -179,6 +154,7 @@ files:
|
|
179
154
|
- lib/storyboard/thread-util.rb
|
180
155
|
- lib/storyboard/time.rb
|
181
156
|
- lib/storyboard/version.rb
|
157
|
+
- setup/osx.sh
|
182
158
|
- storyboard.gemspec
|
183
159
|
- vendor/suby/.gitignore
|
184
160
|
- vendor/suby/LICENSE
|
@@ -203,29 +179,38 @@ files:
|
|
203
179
|
- vendor/suby/spec/suby/filename_parser_spec.rb
|
204
180
|
- vendor/suby/spec/suby_spec.rb
|
205
181
|
- vendor/suby/suby.gemspec
|
182
|
+
has_rdoc: true
|
206
183
|
homepage: http://github.com/markolson/storyboard
|
207
184
|
licenses: []
|
185
|
+
|
208
186
|
post_install_message:
|
209
187
|
rdoc_options: []
|
210
|
-
|
188
|
+
|
189
|
+
require_paths:
|
211
190
|
- lib
|
212
191
|
- vendor/suby
|
213
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
segments:
|
197
|
+
- 1
|
198
|
+
- 9
|
199
|
+
- 3
|
218
200
|
version: 1.9.3
|
219
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
201
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
segments:
|
206
|
+
- 0
|
207
|
+
version: "0"
|
225
208
|
requirements: []
|
209
|
+
|
226
210
|
rubyforge_project:
|
227
|
-
rubygems_version: 1.
|
211
|
+
rubygems_version: 1.3.6
|
228
212
|
signing_key:
|
229
213
|
specification_version: 3
|
230
214
|
summary: Video to PDF/ePub generator
|
231
215
|
test_files: []
|
216
|
+
|