stupeflixclient 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/fixtures/movie.xml +348 -0
- data/lib/stupeflixclient.rb +31 -0
- data/lib/stupeflixclient/connection.rb +123 -0
- data/lib/stupeflixclient/constants.rb +4 -0
- data/lib/stupeflixclient/settings.rb +4 -0
- data/lib/stupeflixclient/stupeflix_base.rb +273 -0
- data/lib/stupeflixclient/stupeflix_client.rb +354 -0
- data/lib/stupeflixclient/version.rb +3 -0
- data/lib/stupeflixclient/video.rb +8 -0
- data/spec/spec_helper.rb +14 -0
- data/stupeflixclient.gemspec +26 -0
- metadata +131 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZWRhNTQ4ZjE4ZTcyYTA1ZjIzOTg3MGJhNGUzNzBlOTMwYzYzYjJmZg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2FhNDBjMjA0MDM2Yjk3MGEzODFmMjRjMjA2ZTdlZDRjOGY1MWUyNQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NWM3NDMzZDllMTdhMzNhMmE3MjRkMGY4ZGNmZjZlMmMyOGQ3OWVjYjI1ZGE1
|
10
|
+
NjU3ZDk0NzViYjA2NTdlMWU2NjY0Yjk1ZTdkNDFiMzNlMmZmNGZlZTI5MDVh
|
11
|
+
YmY4OWRhNmM1N2M3YWQyYzNiZjMwM2QyZDVkZWVlOTU2OTk0YTU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NzkzZDBjNWFiODkwYjVmNWUyNDQ4YTlhMDVjMWVlZDQzMTBlY2FiNTY2NzRl
|
14
|
+
YzViNmNkZDQ2MGE2NWRhOGM5OTJlMzZlYTQwNTdhZjYxNjczOWYzYjk3Njdi
|
15
|
+
YTYyMGUzMTVhOWI4MGZjOTUzOTU0NGI2ODU3MzRhMmVmNWE4MDA=
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Claus Witt
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Stupeflixclient
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'stupeflixclient'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install stupeflixclient
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/fixtures/movie.xml
ADDED
@@ -0,0 +1,348 @@
|
|
1
|
+
<movie service="craftsman-1.0">
|
2
|
+
<body>
|
3
|
+
<!-- Top level stack: contains the soundtrack and the video itself-->
|
4
|
+
<stack>
|
5
|
+
<!-- Add a movie wide soundtrack: duration of the soundtrack is dependant on the up node (stack) using duration =".." -->
|
6
|
+
<!-- Silence, L'autre endroit: http://www.jamendo.com/fr/album/830 -->
|
7
|
+
<audio filename="http://assets.stupeflix.com/code/ebusinessvideo/soundtracks/Realite.mp3" volume="0.5" fadeout="4.0" duration=".."/>
|
8
|
+
<!-- Top level sequence -->
|
9
|
+
<sequence>
|
10
|
+
<!-- First part: sequence of two background images with a single text overlay -->
|
11
|
+
<stack duration="6.0">
|
12
|
+
<!-- Sequence of images -->
|
13
|
+
<sequence>
|
14
|
+
<!-- Classical kenburns effect -->
|
15
|
+
<effect type="kenburns" duration="3.5">
|
16
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/file_11.jpg">
|
17
|
+
<!-- Small trick: Add a small white frame with no transparency to the image to reduce it at rendering time => no edit of the image is needed -->
|
18
|
+
<filter type="frame" width="0.1" color="#FFFFFFFF"/>
|
19
|
+
</image>
|
20
|
+
</effect>
|
21
|
+
<!-- Transition between the two background images -->
|
22
|
+
<transition type="move" duration="1.0"/>
|
23
|
+
<!-- Same effect for the second background image -->
|
24
|
+
<effect type="kenburns" duration="3.5">
|
25
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/file_10.jpg">
|
26
|
+
<filter type="frame" width="0.1" color="#FFFFFFFF"/>
|
27
|
+
</image>
|
28
|
+
</effect>
|
29
|
+
</sequence>
|
30
|
+
<!-- Text overlay with shadow: shadow is currently created duplicating the text in black with some blur added-->
|
31
|
+
<!-- NB: newlines are currently ignored at the start and end of text, so this xml is indented to ease the explanations, but you should not add extra newlines in
|
32
|
+
your own xml. -->
|
33
|
+
|
34
|
+
<!-- Text like placement using left, bottom and height. Apply black font color as this is the shadow. -->
|
35
|
+
<text type="zone" left="0.09" bottom="0.13" height="0.18" fontcolor="#000000">
|
36
|
+
EOS 50D:
|
37
|
+
<!-- Animator: grow will slowly increase text size (implemented by moving the text near the camera in 3D)-->
|
38
|
+
<animator type="grow" />
|
39
|
+
<!-- Make the text appear in 1 second, sliding from the left -->
|
40
|
+
<animator type="slide-in" direction="left" duration="1.0"/>
|
41
|
+
<!-- Make the text disappear in 1 second, sliding from the left -->
|
42
|
+
<animator type="slide-out" direction="left" duration="1.0"/>
|
43
|
+
<!-- Make the text slowly move to improve attractiveness -->
|
44
|
+
<animator type="slide" direction="left" duration="6.0"/>
|
45
|
+
<!-- Text will appear in 1.5s from totally transparent, to totally opaque (in addition to the slide-in effect) -->
|
46
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
47
|
+
<!-- Text will disappear in 1.5s from totally opaque, to totally transparent (in addition to the slide-out effect) -->
|
48
|
+
<!-- Note the margin-end that will fix the effect to the end of text effect. (just like a CSS property, but for time) -->
|
49
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
50
|
+
<!-- Add a blur effect to soften shadow edges -->
|
51
|
+
<filter type="blur" diameter="2.0"/>
|
52
|
+
</text>
|
53
|
+
<!-- Text itself: same xml, with slight variations on position and color-->
|
54
|
+
<!-- Text color is almost white -->
|
55
|
+
<text type="zone" left="0.1" bottom="0.12" height="0.18" fontcolor="#DDDDDD">
|
56
|
+
EOS 50D:
|
57
|
+
<animator type="grow" duration="6.0"/>
|
58
|
+
<animator type="slide-in" direction="left" duration="1.0"/>
|
59
|
+
<animator type="slide-out" direction="left" duration="1.0"/>
|
60
|
+
<animator type="slide" direction="left" duration="6.0"/>
|
61
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
62
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
63
|
+
</text>
|
64
|
+
<!-- Same tricks for the rest of text -->
|
65
|
+
<text type="zone" left="0.09" bottom="0.01" height="0.18" fontcolor="#000000">
|
66
|
+
Explore photography
|
67
|
+
<animator type="grow" duration="6.0"/>
|
68
|
+
<animator type="slide-in" direction="right" duration="1.0"/>
|
69
|
+
<animator type="slide-out" direction="right" duration="1.0"/>
|
70
|
+
<animator type="slide" direction="right" duration="6.0"/>
|
71
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
72
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
73
|
+
<filter type="blur" diameter="2.0"/>
|
74
|
+
</text>
|
75
|
+
<text type="zone" left="0.1" bottom="0.0" height="0.18" fontcolor="#DDDDDD">
|
76
|
+
Explore photography
|
77
|
+
<animator type="grow" duration="6.0"/>
|
78
|
+
<animator type="slide-in" direction="right" duration="1.0"/>
|
79
|
+
<animator type="slide-out" direction="right" duration="1.0"/>
|
80
|
+
<animator type="slide" direction="right" duration="6.0"/>
|
81
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
82
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
83
|
+
</text>
|
84
|
+
</stack>
|
85
|
+
<!-- Transition -->
|
86
|
+
<transition type="cube" duration="1.0"/>
|
87
|
+
<!-- Second camera image set: basically same set of effects-->
|
88
|
+
<stack duration="6.0">
|
89
|
+
<sequence>
|
90
|
+
<effect type="kenburns" duration="3.5">
|
91
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/file_13.jpg">
|
92
|
+
<filter type="frame" width="0.1" color="#FFFFFFFF"/>
|
93
|
+
</image>
|
94
|
+
</effect>
|
95
|
+
<transition type="under" duration="1.0"/>
|
96
|
+
<effect type="kenburns" duration="3.5">
|
97
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/file_07.jpg">
|
98
|
+
<filter type="frame" width="0.1" color="#FFFFFFFF"/>
|
99
|
+
</image>
|
100
|
+
</effect>
|
101
|
+
</sequence>
|
102
|
+
<text type="zone" left="0.09" bottom="0.13" height="0.18" fontcolor="#000000">
|
103
|
+
15.1 Megapixels,
|
104
|
+
<animator type="grow" duration="6.0"/>
|
105
|
+
<animator type="slide-in" direction="left" duration="1.0"/>
|
106
|
+
<animator type="slide-out" direction="left" duration="1.0"/>
|
107
|
+
<animator type="slide" direction="left" duration="6.0"/>
|
108
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
109
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
110
|
+
<filter type="blur" diameter="2.0"/>
|
111
|
+
</text>
|
112
|
+
<text type="zone" left="0.1" bottom="0.12" height="0.18" fontcolor="#DDDDDD">
|
113
|
+
15.1 Megapixels,
|
114
|
+
<animator type="grow" duration="6.0"/>
|
115
|
+
<animator type="slide-in" direction="left" duration="1.0"/>
|
116
|
+
<animator type="slide-out" direction="left" duration="1.0"/>
|
117
|
+
<animator type="slide" direction="left" duration="6.0"/>
|
118
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
119
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
120
|
+
</text>
|
121
|
+
<text type="zone" left="0.09" bottom="0.01" height="0.18" fontcolor="#000000">
|
122
|
+
Bright 3" LCD
|
123
|
+
<animator type="grow" duration="6.0"/>
|
124
|
+
<animator type="slide-in" direction="right" duration="1.0"/>
|
125
|
+
<animator type="slide-out" direction="right" duration="1.0"/>
|
126
|
+
<animator type="slide" direction="right" duration="6.0"/>
|
127
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
128
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
129
|
+
<filter type="blur" diameter="2.0"/>
|
130
|
+
</text>
|
131
|
+
<text type="zone" left="0.1" bottom="0.0" height="0.18" fontcolor="#DDDDDD">
|
132
|
+
Bright 3" LCD
|
133
|
+
<animator type="grow" duration="6.0"/>
|
134
|
+
<animator type="slide-in" direction="right" duration="1.0"/>
|
135
|
+
<animator type="slide-out" direction="right" duration="1.0"/>
|
136
|
+
<animator type="slide" direction="right" duration="6.0"/>
|
137
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.5"/>
|
138
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.5"/>
|
139
|
+
</text>
|
140
|
+
</stack>
|
141
|
+
<transition type="move" duration="1.0"/>
|
142
|
+
<!-- Third Image Set : single image with a set of logo added to the right -->
|
143
|
+
<stack duration="6.0">
|
144
|
+
<stack duration="6.0">
|
145
|
+
<sequence>
|
146
|
+
<effect type="kenburns" duration="6.0">
|
147
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/file_12.jpg">
|
148
|
+
<filter type="frame" width="0.1" color="#FFFFFFFF"/>
|
149
|
+
</image>
|
150
|
+
</effect>
|
151
|
+
</sequence>
|
152
|
+
</stack>
|
153
|
+
<!-- Sets of small feature logo on the right: number of megapixels, lcd size, digic logo etc ...-->
|
154
|
+
<!-- overlay position is CSS like properties, just like for text: top and right margin + height, in fraction of height / width -->
|
155
|
+
<overlay top="0.05" right="0.02" height="0.16">
|
156
|
+
<!-- Base Image -->
|
157
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/megapixels.gif"/>
|
158
|
+
<!-- Apparition animation : slide-in, and time margin -->
|
159
|
+
<animator duration="1.0" type="slide-in" margin-start="0.0"/>
|
160
|
+
<!-- Disparition animation : slide-out, time margin, and direction -->
|
161
|
+
<animator duration="1.0" type="slide-out" margin-end="0.8" direction="right" />
|
162
|
+
</overlay>
|
163
|
+
<overlay top="0.23" right="0.02" height="0.16">
|
164
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/lcd_size.gif"/>
|
165
|
+
<!-- margin-start is increased from an image to the next one, to shift apparition of logos -->
|
166
|
+
<animator duration="1.0" type="slide-in" margin-start="0.5"/>
|
167
|
+
<!-- margin-end is dereased from an image to the next one, to shift disparition of logos -->
|
168
|
+
<animator duration="1.0" type="slide-out" margin-end="0.6" direction="right"/>
|
169
|
+
</overlay>
|
170
|
+
<!-- So on ... -->
|
171
|
+
<overlay top="0.41" right="0.02" height="0.16">
|
172
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/digic4.gif"/>
|
173
|
+
<animator duration="1.0" type="slide-in" margin-start="1.0"/>
|
174
|
+
<animator duration="1.0" type="slide-out" margin-end="0.4" direction="right"/>
|
175
|
+
</overlay>
|
176
|
+
<overlay top="0.59" right="0.02" height="0.16">
|
177
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/liveview.gif"/>
|
178
|
+
<animator duration="1.0" type="slide-in" margin-start="1.5"/>
|
179
|
+
<animator duration="1.0" type="slide-out" margin-end="0.2" direction="right" />
|
180
|
+
</overlay>
|
181
|
+
<overlay top="0.77" right="0.02" height="0.16">
|
182
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/pictbridge.gif"/>
|
183
|
+
<animator duration="1.0" type="slide-in" margin-start="2.0"/>
|
184
|
+
<animator duration="1.0" type="slide-out" margin-end="0.0" direction="right"/>
|
185
|
+
</overlay>
|
186
|
+
</stack>
|
187
|
+
<transition type="crossfade" duration="0.3"/>
|
188
|
+
<!-- Fourth part: slideshow of photos take with the camera -->
|
189
|
+
<stack duration="12.0">
|
190
|
+
<!-- Multi image effect : several images on the same scene, with rotation between each couple.-->
|
191
|
+
<effect type="rotator" duration="12.0">
|
192
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/2008-10-14_14-09-18.jpg">
|
193
|
+
<filter type="borderBlur" transWidth="0.05" width="0.0"/>
|
194
|
+
</image>
|
195
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/2008-10-10_17-08-27.jpg">
|
196
|
+
<filter type="borderBlur" transWidth="0.05" width="0.0"/>
|
197
|
+
</image>
|
198
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/2008-10-10_15-55-14.jpg">
|
199
|
+
<filter type="borderBlur" transWidth="0.05" width="0.0"/>
|
200
|
+
</image>
|
201
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/2008-10-10_14-03-50.jpg">
|
202
|
+
<filter type="borderBlur" transWidth="0.05" width="0.0"/>
|
203
|
+
</image>
|
204
|
+
</effect>
|
205
|
+
<!-- Same shadow / text effects as previously -->
|
206
|
+
<text type="zone" left="0.09" bottom="0.11" height="0.13" fontcolor="#000000">
|
207
|
+
Improved noise reduction:
|
208
|
+
<animator type="grow" duration="12.0"/>
|
209
|
+
<animator type="slide-in" direction="left" duration="2.0"/>
|
210
|
+
<animator type="slide-out" direction="left" duration="2.0"/>
|
211
|
+
<animator type="slide" direction="left" duration="12.0"/>
|
212
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="3.0"/>
|
213
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="3.0"/>
|
214
|
+
<filter type="blur" diameter="2.0"/>
|
215
|
+
</text>
|
216
|
+
<text type="zone" left="0.1" bottom="0.1" height="0.13" fontcolor="#FFFFFF">
|
217
|
+
Improved noise reduction:
|
218
|
+
<animator type="grow" duration="12.0"/>
|
219
|
+
<animator type="slide-in" direction="left" duration="2.0"/>
|
220
|
+
<animator type="slide-out" direction="left" duration="2.0"/>
|
221
|
+
<animator type="slide" direction="left" duration="12.0"/>
|
222
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="3.0"/>
|
223
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="3.0"/>
|
224
|
+
</text>
|
225
|
+
<text type="zone" left="0.09" bottom="0.03" height="0.13" fontcolor="#000000">
|
226
|
+
exceptional image quality
|
227
|
+
<animator type="grow" duration="12.0"/>
|
228
|
+
<animator type="slide-in" direction="right" duration="2.0"/>
|
229
|
+
<animator type="slide-out" direction="right" duration="2.0"/>
|
230
|
+
<animator type="slide" direction="right" duration="12.0"/>
|
231
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="3.0"/>
|
232
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="3.0"/>
|
233
|
+
<filter type="blur" diameter="2.0"/>
|
234
|
+
</text>
|
235
|
+
<text type="zone" left="0.1" bottom="0.02" height="0.13" fontcolor="#FFFFFF">
|
236
|
+
exceptional image quality
|
237
|
+
<animator type="grow" duration="12.0"/>
|
238
|
+
<animator type="slide-in" direction="right" duration="2.0"/>
|
239
|
+
<animator type="slide-out" direction="right" duration="2.0"/>
|
240
|
+
<animator type="slide" direction="right" duration="12.0"/>
|
241
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="3.0"/>
|
242
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="3.0"/>
|
243
|
+
</text>
|
244
|
+
</stack>
|
245
|
+
<transition type="crossfade" duration="1.0"/>
|
246
|
+
<!-- Fifth part : first journalist comment -->
|
247
|
+
<stack duration="4.0">
|
248
|
+
<text type="zone" left="0.09" bottom="0.53" height="0.18" fontcolor="#000000">
|
249
|
+
"High-speed and perfect quality"
|
250
|
+
<animator type="grow" duration="4.0"/>
|
251
|
+
<animator type="slide-in" direction="left" duration="0.666666666667"/>
|
252
|
+
<animator type="slide-out" direction="left" duration="0.666666666667"/>
|
253
|
+
<animator type="slide" direction="left" duration="4.0"/>
|
254
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
255
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
256
|
+
<filter type="blur" diameter="2.0"/>
|
257
|
+
</text>
|
258
|
+
<text type="zone" left="0.1" bottom="0.52" height="0.18" fontcolor="#DDDDDD">
|
259
|
+
"High-speed and perfect quality"
|
260
|
+
<animator type="grow" duration="4.0"/>
|
261
|
+
<animator type="slide-in" direction="left" duration="0.666666666667"/>
|
262
|
+
<animator type="slide-out" direction="left" duration="0.666666666667"/>
|
263
|
+
<animator type="slide" direction="left" duration="4.0"/>
|
264
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
265
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
266
|
+
</text>
|
267
|
+
<text type="zone" left="0.09" bottom="0.41" height="0.18" fontcolor="#000000">
|
268
|
+
The Photographer
|
269
|
+
<animator type="grow" duration="4.0"/>
|
270
|
+
<animator type="slide-in" direction="right" duration="0.666666666667"/>
|
271
|
+
<animator type="slide-out" direction="right" duration="0.666666666667"/>
|
272
|
+
<animator type="slide" direction="right" duration="4.0"/>
|
273
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
274
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
275
|
+
<filter type="blur" diameter="2.0"/>
|
276
|
+
</text>
|
277
|
+
<text type="zone" left="0.1" bottom="0.4" height="0.18" fontcolor="#DDDDDD">
|
278
|
+
The Photographer
|
279
|
+
<animator type="grow" duration="4.0"/>
|
280
|
+
<animator type="slide-in" direction="right" duration="0.666666666667"/>
|
281
|
+
<animator type="slide-out" direction="right" duration="0.666666666667"/>
|
282
|
+
<animator type="slide" direction="right" duration="4.0"/>
|
283
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
284
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
285
|
+
</text>
|
286
|
+
</stack>
|
287
|
+
<transition type="crossfade" duration="1.0"/>
|
288
|
+
<!-- Sixth part : second journalist comment -->
|
289
|
+
<stack duration="4.0">
|
290
|
+
<text type="zone" left="0.09" bottom="0.33" height="0.18" fontcolor="#000000">
|
291
|
+
"Feature-packed and affordable."
|
292
|
+
<animator type="grow" duration="4.0"/>
|
293
|
+
<animator type="slide-in" direction="left" duration="0.666666666667"/>
|
294
|
+
<animator type="slide-out" direction="left" duration="0.666666666667"/>
|
295
|
+
<animator type="slide" direction="left" duration="4.0"/>
|
296
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
297
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
298
|
+
<filter type="blur" diameter="2.0"/>
|
299
|
+
</text>
|
300
|
+
<text type="zone" left="0.1" bottom="0.32" height="0.18" fontcolor="#DDDDDD">
|
301
|
+
"Feature-packed and affordable."
|
302
|
+
<animator type="grow" duration="4.0"/>
|
303
|
+
<animator type="slide-in" direction="left" duration="0.666666666667"/>
|
304
|
+
<animator type="slide-out" direction="left" duration="0.666666666667"/>
|
305
|
+
<animator type="slide" direction="left" duration="4.0"/>
|
306
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
307
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
308
|
+
</text>
|
309
|
+
<text type="zone" left="0.09" bottom="0.21" height="0.18" fontcolor="#000000">
|
310
|
+
Camera online
|
311
|
+
<animator type="grow" duration="4.0"/>
|
312
|
+
<animator type="slide-in" direction="right" duration="0.666666666667"/>
|
313
|
+
<animator type="slide-out" direction="right" duration="0.666666666667"/>
|
314
|
+
<animator type="slide" direction="right" duration="4.0"/>
|
315
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
316
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
317
|
+
<filter type="blur" diameter="2.0"/>
|
318
|
+
</text>
|
319
|
+
<text type="zone" left="0.1" bottom="0.2" height="0.18" fontcolor="#DDDDDD">
|
320
|
+
Camera online
|
321
|
+
<animator type="grow" duration="4.0"/>
|
322
|
+
<animator type="slide-in" direction="right" duration="0.666666666667"/>
|
323
|
+
<animator type="slide-out" direction="right" duration="0.666666666667"/>
|
324
|
+
<animator type="slide" direction="right" duration="4.0"/>
|
325
|
+
<filter type="alpha" alphaStart="0.0" alphaEnd="1.0" duration="1.0"/>
|
326
|
+
<filter type="alpha" margin-end="0.0" alphaStart="1.0" alphaEnd="0.0" duration="1.0"/>
|
327
|
+
</text>
|
328
|
+
</stack>
|
329
|
+
<transition type="crossfade" duration="0.5"/>
|
330
|
+
<!-- Finally the Stupeflix end animation -->
|
331
|
+
<effect duration="1.6" type="none">
|
332
|
+
<!-- A single blank image -->
|
333
|
+
<image color="#FFFFFF"/>
|
334
|
+
</effect>
|
335
|
+
<transition type="move" duration="1" direction="up"/>
|
336
|
+
<!-- First logo, without subtitle-->
|
337
|
+
<effect duration="2.5" type="none">
|
338
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/logo1.jpg"/>
|
339
|
+
</effect>
|
340
|
+
<transition type="circle" duration="1"/>
|
341
|
+
<!-- Identical logo, with subtitile => transition will make it appear -->
|
342
|
+
<effect duration="3" type="none">
|
343
|
+
<image filename="http://assets.stupeflix.com/code/ebusinessvideo/images/logo2.jpg"/>
|
344
|
+
</effect>
|
345
|
+
</sequence>
|
346
|
+
</stack>
|
347
|
+
</body>
|
348
|
+
</movie>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'stupeflixclient/version'
|
2
|
+
require 'stupeflixclient/settings'
|
3
|
+
require 'stupeflixclient/constants'
|
4
|
+
require 'stupeflixclient/settings'
|
5
|
+
require 'stupeflixclient/connection'
|
6
|
+
require 'stupeflixclient/stupeflix_base'
|
7
|
+
require 'stupeflixclient/stupeflix_client'
|
8
|
+
require 'stupeflixclient/video'
|
9
|
+
|
10
|
+
|
11
|
+
module Stupeflixclient
|
12
|
+
def self.default_client
|
13
|
+
StupeflixClient.new(Settings::ACCESS_KEY, Settings::ACCESS_SECRET, Constants::SERVER_NAME)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.generate_videos batch_file
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.generate_video definition
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.test_run client, filename
|
23
|
+
uploads = [StupeflixDefaultUpload.new()]
|
24
|
+
profileArray = [StupeflixProfile.new('iphone', uploads = uploads)]
|
25
|
+
profiles = StupeflixProfileSet.new(profileArray, meta = nil, notify = nil)
|
26
|
+
# First send the movie definition file to the service. (see sample movie.xml in this directory)
|
27
|
+
client.sendDefinition('testuser', 'testresource', filename)
|
28
|
+
# Then launch the generation, using the configuration we have built earlier
|
29
|
+
client.createProfiles('testuser', 'testresource', profiles)
|
30
|
+
end
|
31
|
+
end
|