animoto 1.5.4 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,7 +6,7 @@ module Animoto
6
6
 
7
7
  # The URL to a video to insert into this custom footage postroll.
8
8
  # @return [String]
9
- attr_accessor :source_url
9
+ attr_accessor :source_url, :start_time, :duration
10
10
 
11
11
  # Creates a new postroll with custom footage at the supplied
12
12
  # URL.
@@ -23,7 +23,7 @@ module Animoto
23
23
  #
24
24
  # @return [Hash{String=>Object}]
25
25
  def to_hash
26
- super.merge({'source_url' => source_url})
26
+ super.merge({'source_url' => source_url, 'start_time' => start_time, 'duration' => duration})
27
27
  end
28
28
  end
29
29
  end
data/lib/animoto.rb CHANGED
@@ -6,6 +6,6 @@ module Animoto
6
6
  #
7
7
  # @return [String]
8
8
  def self.version
9
- "1.5.4"
9
+ "1.5.5"
10
10
  end
11
11
  end
data/lib/example.rb ADDED
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env ruby
2
+ require 'animoto/client'
3
+ include Animoto
4
+
5
+ # Create a new client using our application key and secret
6
+ client = Client.new("bb0d0e005ac4012dc17712313b013462", "c0fe4cfca8bf544b8d0e687247a600ef55ff82e3")
7
+ client.endpoint = "https://platform-staging.animoto.com"
8
+
9
+ custom_footage = Postroll::CustomFootage.new("http://s3-s.animoto.com/Footage/wInVzO78f0SjP1GTFtfPrA/t.mp4") #("http://api.client.java.animoto.s3.amazonaws.com/test_assets/footage.mp4")
10
+ #custom_footage.start_time = 2.0
11
+ #custom_footage.duration = 5.0
12
+
13
+ # create a directing and rendering manifest with the video title and
14
+ # producer. Also include rendering parameters like resolution, framerate,
15
+ # and format.
16
+ manifest = Manifests::DirectingAndRendering.new(
17
+ :title => "Amazing Venus3!",
18
+ :resolution => "360p",
19
+ :style => "original",
20
+ :pacing => "fast",
21
+ :framerate => 24,
22
+ :format => 'h264',
23
+ :postroll => custom_footage
24
+ )
25
+
26
+ # Add some images, text, and footage to our manifest.
27
+
28
+ img1 = Assets::Image.new("http://cdn.toucharcade.com/wp-content/uploads/2012/12/hac1.jpg")
29
+ #img1.cover = "Doctorine of pace"
30
+ #img1.rotation = 2
31
+ #img1.spotlit = true
32
+ #img1.caption = "Birds can't walk"
33
+
34
+ img2 = Assets::Image.new("http://api.client.java.animoto.s3.amazonaws.com/test_assets/image.jpg")
35
+ img3 = Assets::Image.new("http://blogs.independent.co.uk/wp-content/uploads/2012/12/some-girls-300x225.jpg")
36
+
37
+ card1 = Assets::TitleCard.new("f1", "01234567890123456789")
38
+
39
+
40
+
41
+ manifest << img1
42
+ manifest << card1
43
+ #manifest << img2
44
+ #manifest << img3
45
+ #manifest << card2
46
+ #manifest << card3
47
+
48
+ # Setup the soundtrack.
49
+ manifest << Assets::Song.new("http://api.client.java.animoto.s3.amazonaws.com/test_assets/song.mp3", :artist => "Fishy Joe")
50
+
51
+
52
+
53
+
54
+ dr_job = client.direct_and_render!(manifest)
55
+
56
+ while dr_job.pending?
57
+ sleep(1)
58
+ puts "making it ready..."
59
+ client.reload!(dr_job)
60
+ end
61
+ # Setup to get http callbacks for status notification (see below for
62
+ # polling example).
63
+ #manifest.http_callback_url = "http://mysite.com/animoto_callback"
64
+ #manifest.http_callback_format = "json"
65
+
66
+ # Send the manifest to the API. Your app will be notified of
67
+ # completion/failure via an HTTP POST to
68
+ # "http://mysite.com/animoto_callback"
69
+ # client.direct_and_render!(manifest)
@@ -0,0 +1,52 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
2
+
3
+ describe Animoto::Postroll::CustomFootage do
4
+
5
+ describe "initialization" do
6
+ before do
7
+ @custom_footage = Animoto::Postroll::CustomFootage.new 'http://website.com/movie.mp4'
8
+ end
9
+
10
+ it "should set the source to the given url" do
11
+ @custom_footage.source_url.should == 'http://website.com/movie.mp4'
12
+ end
13
+
14
+ it "should set the start time to the given time" do
15
+ @custom_footage.start_time = 1.0
16
+ @custom_footage.start_time.should == 1.0
17
+ end
18
+
19
+ it "should set the duration to the given length" do
20
+ @custom_footage.duration = 5.0
21
+ @custom_footage.duration.should == 5.0
22
+ end
23
+ end
24
+
25
+ describe "#to_hash" do
26
+ before do
27
+ @custom_footage = Animoto::Postroll::CustomFootage.new 'http://website.com/movie.mp4'
28
+ end
29
+
30
+ it "should have a 'source_url' key with the url" do
31
+ @custom_footage.to_hash.should have_key('source_url')
32
+ @custom_footage.to_hash['source_url'].should == @custom_footage.source_url
33
+ end
34
+
35
+ describe "if start_time or/and duration is given" do
36
+ before do
37
+ @custom_footage.start_time = 2.0
38
+ @custom_footage.duration = 7.0
39
+ end
40
+
41
+ it "should have a 'start_time' key with the given start_time" do
42
+ @custom_footage.to_hash.should have_key('start_time')
43
+ @custom_footage.to_hash['start_time'].should == @custom_footage.start_time
44
+ end
45
+
46
+ it "should have a 'duration' key with the given duraiton" do
47
+ @custom_footage.to_hash.should have_key('duration')
48
+ @custom_footage.to_hash['duration'].should == @custom_footage.duration
49
+ end
50
+ end
51
+ end
52
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: animoto
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 5
9
- - 4
10
- version: 1.5.4
9
+ - 5
10
+ version: 1.5.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Animoto
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-01-17 00:00:00 Z
18
+ date: 2013-02-12 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: json
@@ -83,6 +83,7 @@ files:
83
83
  - ./lib/animoto/support/standard_envelope.rb
84
84
  - ./lib/animoto/support/string.rb
85
85
  - ./lib/animoto.rb
86
+ - ./lib/example.rb
86
87
  - ./spec/animoto/assets/base_spec.rb
87
88
  - ./spec/animoto/assets/footage_spec.rb
88
89
  - ./spec/animoto/assets/image_spec.rb
@@ -95,6 +96,7 @@ files:
95
96
  - ./spec/animoto/manifests/rendering_spec.rb
96
97
  - ./spec/animoto/manifests/storyboard_bundling_spec.rb
97
98
  - ./spec/animoto/manifests/storyboard_unbundling_spec.rb
99
+ - ./spec/animoto/postrolls/custom_footage_spec.rb
98
100
  - ./spec/animoto/resources/base_spec.rb
99
101
  - ./spec/animoto/resources/jobs/base_spec.rb
100
102
  - ./spec/animoto/resources/jobs/directing_and_rendering_spec.rb