sensible-cinema 0.16.3 → 0.16.5

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
@@ -1,53 +1,55 @@
1
- All files released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed.
2
-
3
- May contain some 3rd party libraries/executables under their own (separate, open source) licenses.
4
-
5
- Is this legal?
6
-
7
- Unclear. In general ripping personal DVD's is fine.
8
- It is controversial to use open source software to play/rip DVD's.
9
- There are a few conflicting views.
10
- Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it,
11
- but calls out to another separate program to rip. It doesn't even have knowledge
12
- as to whether it is ripping something encrypted or not. We don't distribute sensible-cinema with
13
- that program, either.
14
- You can ask the authors of that program if it is legal. Apparently
15
- libdvdcss that it uses has never been challenged in court, and uses a slightly different algorithm
16
- than those that have.
17
- Note also that fair use does allow one to "record" things (especially things that they own)
18
- for personal use/backup.
19
- Using sensible-cinema is probably not any more unethical than ripping your DVD collection to your hard
20
- drive so you can keep your DVD's all in one place.
21
- Also note that if you watch an edited DVD, your are using a DVD player that conforms
22
- with DMCA specifications, so that might have some influence.
23
-
24
- In general, you are responsible for your actions and use of this program.
25
- It is possible that the authors of sensible-cinema are not cupable of anything
26
- regarding its use themselves, since they re-distribute no edited media,
27
- nor distribute cracking codes. In general, check your country's rules first.
28
-
29
- In terms of copyright, it could indeed be legal, at least in the United States, when viewed
30
- using the "playlist" option (v 0.10'ish).
31
- In general, if I have the original DVD sitting next to my TV, I don't feel bad about watching
32
- its edited copy at the same time, but please consult a laywer first if you have any concerns.
33
-
34
- Do not redistribute copied commercial DVD's. We have learned from clean flicks that
35
- redistributing edited commercial DVD's is illegal in the US. We hope that sensible-cinema
36
- is more legal, since you can get the DVD's from wherever you want, and it doesn't change their
37
- structure at all. Please don't redistribute.
38
-
39
- DO NOT MAKE ILLEGAL COPIES.
40
-
41
- Note that this software might well be legal in the EU,
42
- as it is only software and therefore thus possibly not subject to patents (see "What about patent licenses?" in [2]).
43
- If it's not legal in your country, don't use it!
44
-
45
- A more ancient history of various related thoughts was described here:
46
- http://betterlogic.com/roger/?p=2618
47
-
48
- Also note that several ideas have been released in the code that are disabled in the final release. Please see the blog
49
- for release notes http://betterlogic.com/roger, as well as http://ruby-forum.com (ruby talk ML there), and rubygems.org
50
- which lists the various releases, and github.com/rdp/sensible-cinema which lists commits and changes and releases.
51
-
52
- [1] http://www.gnu.org/licenses/gpl.html, also gplv3 file.
53
- [2] http://www.videolan.org/support/faq.html
1
+ All files (c) Roger Pack 2010
2
+ All files are released under the GPLv3 license [1] unless otherwise specified. Ping me if you want/need this changed.
3
+
4
+ May contain some 3rd party libraries/executables under their own (separate, open source) licenses.
5
+
6
+ Is this legal?
7
+
8
+ Unclear. In general ripping personal DVD's is fine.
9
+ It is controversial to use open source software to play/rip DVD's.
10
+ There are a few conflicting views.
11
+ Sensible-cinema doesn't actually do any decryption or decoding, nor has any knowledge of it,
12
+ but calls out to another separate program to rip. It doesn't even have knowledge
13
+ as to whether it is ripping something encrypted or not. We don't distribute sensible-cinema with
14
+ that program, either.
15
+ You can ask the authors of that program if it is legal. Apparently
16
+ libdvdcss that it uses has never been challenged in court, and uses a slightly different algorithm
17
+ than those that have.
18
+ Note also that fair use does allow one to "record" things (especially things that they own)
19
+ for personal use/backup.
20
+ Using sensible-cinema is probably not any more unethical than ripping your DVD collection to your hard
21
+ drive so you can keep your DVD's all in one place. It's about the same as ripping a DVD, editing
22
+ it in Windows Movie Maker to take out the bad scenes, then watching that.
23
+ Also note that if you watch an edited DVD, your are using a DVD player that conforms
24
+ with DMCA specifications, so that might have some influence.
25
+
26
+ In general, you are responsible for your actions and use of this program.
27
+ It is possible that the authors of sensible-cinema are not cupable of anything
28
+ regarding its use themselves, since they re-distribute no edited media,
29
+ nor distribute cracking codes. In general, check your country's rules first.
30
+
31
+ In terms of copyright, it could be legal under the The Family Home Movie Act of 2005,
32
+ at least in the United States, when viewed using the "playlist" option (v 0.10'ish, then later removed).
33
+ In general, if I have the original DVD sitting next to my TV, I don't feel bad about watching
34
+ its edited copy at the same time, but please consult a laywer first if you have any concerns.
35
+
36
+ Do not redistribute copied commercial DVD's. We have learned from clean flicks that
37
+ redistributing edited commercial DVD's is illegal in the US. We hope that sensible-cinema
38
+ is more legal, since you can get the DVD's from wherever you want, and it doesn't change their
39
+ structure at all. Please don't redistribute.
40
+
41
+ DO NOT MAKE ILLEGAL COPIES.
42
+
43
+ Note that this software might well be legal in the EU,
44
+ as it is only software and therefore thus possibly not subject to patents (see "What about patent licenses?" in [2]).
45
+ If it's not legal in your country, don't use it!
46
+
47
+ A more ancient history of various related thoughts was described here:
48
+ http://betterlogic.com/roger/?p=2618
49
+
50
+ Also note that several ideas have been released in the code that are disabled in the final release. Please see the blog
51
+ for release notes http://betterlogic.com/roger, as well as http://ruby-forum.com (ruby talk ML there), and rubygems.org
52
+ which lists the various releases, and github.com/rdp/sensible-cinema which lists commits and changes and releases.
53
+
54
+ [1] http://www.gnu.org/licenses/gpl.html, also gplv3 file.
55
+ [2] http://www.videolan.org/support/faq.html
data/README CHANGED
@@ -15,11 +15,6 @@ To program sensible-cinema, you create an edit decision list it can use.
15
15
 
16
16
  An Edit List looks something like this example:
17
17
 
18
- mutes:
19
- "01:00:00" : "01:01:02.5" # mute from exactly one hour to one hour, one minute, two seconds and a half will be muted.
20
- blank_outs:
21
- "01:00:00" : "01:01:02.5" # also blank out (overlay with blank window) the same.
22
-
23
18
  Here's one with more detail
24
19
 
25
20
  https://github.com/rdp/sensible-cinema/blob/master/zamples/edit_decision_lists/example_edit_decision_list.txt
@@ -33,10 +28,10 @@ Once you're done then you can contribute your scene descriptions file if desired
33
28
 
34
29
  == FAQ ==
35
30
 
36
- Q. How do I watch these on my computer?
37
- A. You can burn a DVD with it. First create the edited copy on your hard drive. Then use
38
- Dvd Flick is a good one for windows (here's a screencast of using it http://rogerdpack.t28.net/sensible-cinema/dvd%20flick%20create%20dvd%20from%20file.avi)
39
- For OS X iDVD might work well.
31
+ Q. How do I watch these on my TV?
32
+ A. You can burn a DVD with it. First create it on your hard drive. Then use
33
+ Dvd Flick ()a good one for windows) (here's a screencast of using it within http://rogerdpack.t28.net/sensible-cinema)
34
+ For OS X : iDVD might work well.
40
35
  You might be able to "beam" it to your PS3 and play it from there, using PS3 media server (or windows media player), or put it on a flash drive and play it from that.
41
36
 
42
37
  == Caveats ==
@@ -48,7 +43,8 @@ You can employ somebody to do it, or do it yourself, then submit it.
48
43
 
49
44
  == License ==
50
45
 
51
- See the LICENSE file for licensing, usage terms (basically gplv3).
46
+ See the LICENSE file for licensing, usage terms (basically gplv3 for all the source).
47
+ (c) 2010 Roger Pack
52
48
 
53
49
  == Related ==
54
50
 
@@ -80,6 +76,7 @@ http://superuser.com/questions/85278/how-can-i-cut-scenes-out-of-a-dvd
80
76
 
81
77
  == Feedback ==
82
78
 
83
- Feedback, including feature requests, welcome.
79
+ Feedback, including feature requests, comments, welcome.
84
80
 
85
- http://github.com/rdp/sensible-cinema (message me or create an issue for feedback/any requests/bugs)
81
+ http://github.com/rdp/sensible-cinema (message me or create an issue for feedback/any requests/bugs)
82
+ rogerdpack@gmail.com
data/TODO CHANGED
@@ -1,27 +1,33 @@
1
1
  == medium ==
2
2
 
3
3
  == probably next up+low prio ==
4
-
5
- compare computer DVD playback with physical player...
6
- release .zip
7
-
4
+
8
5
  == slightly lower than that ==
9
6
 
10
- make sure no subtitles on national treasure...
11
7
  partner for filters (Jon, Karlie if interested...give beta)
12
8
  lotsa filters somehow
9
+ my dvd's
13
10
  beta release/rinse and repeat with various ppl (once it's releasable...)
14
11
  can generate mplayer EDL's and play them...hmm...smplayer them?
15
12
  update license too...
16
13
  a real'ish website
17
- "run create mode" button (?)
18
14
  license the first time they run it (gplv3)
15
+ checkbox for other license or something?
19
16
  bring that window to the top! (before done dialog...)
17
+ assert that at least one drive has a DVD in it...
18
+ compare computer DVD playback with physical player...
19
+ just run previews in smplayer :P
20
+ ffmpeg easier
20
21
 
21
22
  == DVD backlog (unordered, some very low prio) ==
22
23
 
23
- DRY up dependency installation code
24
- install them to cache2 or something...so I can cleanup..
24
+ smaller .zip
25
+ bundle 7z [?]
26
+ remove note about it
27
+ using, burning, creating "howto's"
28
+ better
29
+ usability test?
30
+
25
31
  using+burning screencast
26
32
  editing screencast
27
33
  instructions on how to do their own (private) EDL or do one and submit it (public), or email their friends :P
@@ -29,8 +35,9 @@
29
35
  add a way to get the label rather easily...
30
36
  add an option "just save full disk (unedited) to hard drive..."
31
37
  note to people: can edit those to your liking
32
- a real DVD player...plz? smplayer chokes on bob's big plan...chokes in a bad way...
33
38
 
39
+ DRY up dependency installation code
40
+ install them to cache2 or something...so I can cleanup the deploy code...
34
41
  advertise urug, ruby flow :)
35
42
  "Re-run most recent" disabled when there isn't one [?]
36
43
  unit test the GUI
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.16.3
1
+ 0.16.5
data/bin/sensible-cinema CHANGED
@@ -24,13 +24,12 @@ module SensibleSwing
24
24
  setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
25
25
  panel = JPanel.new
26
26
  panel.set_layout nil
27
- setSize 350,400
28
27
  add panel # why can't I just slap these down?
29
28
 
30
29
  jlabel = JLabel.new 'Welcome to Sensible Cinema!'
31
30
  happy = Font.new("Tahoma", Font::PLAIN, 11)
32
31
  jlabel.setFont(happy)
33
- jlabel.set_bounds(44,44,136,14)
32
+ jlabel.set_bounds(44,44,160,14)
34
33
  panel.add jlabel
35
34
 
36
35
  button_width = 270
@@ -42,7 +41,7 @@ module SensibleSwing
42
41
  c.set_bounds(44,120,button_width,23)
43
42
  panel.add c
44
43
 
45
- b = JButton.new("Watch ripped version of DVD unedited")
44
+ b = JButton.new("Watch DVD from hard drive unedited") # LODO watch in realtime option--then rippers and watchers can combine
46
45
  b.on_clicked {
47
46
  ENV['PATH'] = ENV['PATH'] + ";d:\\Program Files\\SMPlayer;c:\\Program Files\\SMPlayer"
48
47
  path = RubyWhich.new.which('smplayer')
@@ -50,13 +49,20 @@ module SensibleSwing
50
49
  JOptionPane.showMessageDialog(self, "It appears that you need to install a dependency: SMPlayer.\n
51
50
  Click ok to be directed to its download website.
52
51
  Also note that if it ever hangs, kill the process, and then use VLC instead
53
- (though VLC only has approximate timings).", "Lacking dependency", JOptionPane::ERROR_MESSAGE)
52
+ (though VLC only has approximate timings).", "Lacking dependency", JOptionPane::ERROR_MESSAGE)
54
53
  system("start http://smplayer.sourceforge.net/downloads.php")
55
54
  else
56
- wrote_to_here_fulli = do_copy_dvd_to_hard_drive false, true
55
+ success_no_run, wrote_to_here_fulli = do_copy_dvd_to_hard_drive false, true
57
56
  command = "smplayer #{wrote_to_here_fulli}"
58
- puts command
59
- system(command)
57
+ on_success = proc {
58
+ puts command
59
+ Thread.new { system(command) }
60
+ }
61
+ if success_no_run
62
+ on_success.call
63
+ else
64
+ @after_success_once = on_success # shenanigans to be able to let this thread run...
65
+ end
60
66
  end
61
67
  }
62
68
  b.set_bounds(44,150,button_width,23)
@@ -75,8 +81,8 @@ module SensibleSwing
75
81
  dialog = FileDialog.new(self, "Pick file to edit")
76
82
  dialog.set_directory EDL_DIR
77
83
  filename = dialog.go
78
- system("notepad \"#{filename}\"") if filename
79
- }
84
+ open_file_to_edit_it filename if filename
85
+ }
80
86
  f.set_bounds(44,260,button_width,23)
81
87
  panel.add f if ARGV.index("--create-mode")
82
88
 
@@ -98,17 +104,44 @@ module SensibleSwing
98
104
  reload.set_bounds(44,290,button_width,20)
99
105
  panel.add reload if ARGV.index("--create-mode")
100
106
 
107
+ @progress_bar = JProgressBar.new(0, 100)
108
+ @progress_bar.set_bounds(44,280,button_width,23)
109
+ @progress_bar.visible = false
110
+ panel.add @progress_bar
111
+
112
+ g = JButton.new("Create New Edit List for current DVD")
113
+ g.on_clicked do
114
+ drive, volume, md5 = choose_dvd_drive
115
+ input = <<-EOL
116
+ # comments can go after a # on any line.
117
+ "mutes" => [
118
+ #"00:00:01", "00:00:02",
119
+ ],
120
+
121
+ "blank_outs" => [
122
+ #"01:01:00" , "01:02:00"
123
+ ],
124
+ "disk_unique_id" => "#{md5}",
125
+ "title" => "#{volume}",
126
+ EOL
127
+ puts input
128
+ filename = volume.gsub(' ', '_') + '.txt'
129
+ File.write(filename, input) unless File.exist?(filename) # lodo let them choose name (?)
130
+ open_file_to_edit_it filename
131
+
132
+ end
133
+ g.set_bounds(44,320,button_width,20)
134
+ panel.add g if ARGV.index("--create-mode")
135
+
101
136
  @exit = JButton.new("Exit").on_clicked {
102
137
  self.close
103
138
  }
104
- @exit.set_bounds(44,320,button_width,23)
139
+ @exit.set_bounds(44,350,button_width,23)
105
140
  panel.add @exit
141
+
142
+ setSize 350,430
106
143
 
107
- @progress_bar = JProgressBar.new(0, 100)
108
- @progress_bar.set_bounds(44,280,button_width,23)
109
- @progress_bar.visible = false
110
- panel.add @progress_bar
111
- @buttons = [b,c,d,e,f,reload,@exit]
144
+ @buttons = [b,c,d,e,reload,@exit]
112
145
  check_for_dependencies
113
146
  end
114
147
 
@@ -153,7 +186,11 @@ module SensibleSwing
153
186
  end
154
187
  end
155
188
  end
156
-
189
+
190
+ def open_file_to_edit_it filename
191
+ Thread.new { system("notepad \"#{filename}\"")} # blocks otherwise...
192
+ end
193
+
157
194
  def single_edit_list_matches_dvd md5
158
195
  return unless md5 # ignore nil searches, where it wasn't set in the .txt file
159
196
  matching = Dir[EDL_DIR + '/*.txt'].select{|file|
@@ -214,16 +251,19 @@ module SensibleSwing
214
251
  # how does save_to map to fulli?
215
252
  fulli = save_to + ".fulli.tmp.avi"
216
253
  if want_full_list
254
+ # make it create a dummy response file for us :)
255
+ start_time = "00:00"
256
+ end_time = "00:01"
217
257
  if File.exist? fulli + ".done"
218
258
  # just return the full path early...
219
- return fulli
259
+ return [true, fulli]
220
260
  end
221
261
  end
222
262
  generate_and_run_bat_file save_to, edit_list_path, descriptors, drive, dvd_title, start_time, end_time, dvd_title_track
223
- fulli
224
- end
263
+ [false, fulli]
264
+ end
225
265
 
226
- def generate_and_run_bat_file save_to, edit_list_path, descriptors, drive, dvd_title, start_time, end_time, dvd_title_track
266
+ def generate_and_run_bat_file save_to, edit_list_path, descriptors, drive, dvd_title, start_time, end_time, dvd_title_track
227
267
  Storage['last_params'] = [save_to, edit_list_path, descriptors, drive, dvd_title, start_time, end_time, dvd_title_track]
228
268
  bat_file = MencoderWrapper.get_bat_commands descriptors, drive, save_to, start_time, end_time, dvd_title_track
229
269
  temp_dir = Dir.tmpdir
@@ -265,12 +305,18 @@ module SensibleSwing
265
305
  }
266
306
  @progress_bar.visible=false
267
307
  @buttons.each{|b| b.set_enabled true}
268
- if success
269
- saved_to = save_to + '.avi' # LODO pass this out?
270
- JOptionPane.showMessageDialog(nil, " Done--you may now watch file #{saved_to} in SMPlayer or VLC player", "Done!", JOptionPane::INFORMATION_MESSAGE)
271
- show_file = "explorer /e,/select,\"#{File.expand_path(saved_to).to_filename}\""
272
- system show_file
273
- #self.close # ?
308
+ if true#success
309
+ if @after_success_once
310
+ procy = @after_success_once
311
+ @after_success_once = nil
312
+ procy.call
313
+ else
314
+ saved_to = save_to + '.avi' # LODO pass this out?
315
+ JOptionPane.showMessageDialog(nil, " Done--you may now watch file #{saved_to} in SMPlayer or VLC player", "Done!", JOptionPane::INFORMATION_MESSAGE)
316
+ show_file = "explorer /e,/select,\"#{File.expand_path(saved_to).to_filename}\""
317
+ system show_file
318
+ #self.close # ?
319
+ end
274
320
  else
275
321
  JOptionPane.showMessageDialog(nil, " Failed--please examine screen output and report back!", "Failed", JOptionPane::ERROR_MESSAGE)
276
322
  end
data/how_to_create ADDED
@@ -0,0 +1,35 @@
1
+ first play it in VLC, discover which title is the main title:
2
+
3
+ now open Sensible cinema in create mode
4
+
5
+ click "open ripped version of DVD unedited", right click, create new file, name it something.txt, right click, "open", and then select it.
6
+
7
+ it will rip that fella to the hard drive (for the save to filename, use the default).
8
+ It will take quite awhile, but will get everything set up for quick editing after that.
9
+
10
+ In the meantime, make your file look like this:
11
+
12
+ https://github.com/rdp/sensible-cinema/blob/master/zamples/edit_decision_lists/example_edit_decision_list.txt
13
+
14
+ After it finishes ripping it, it will start you watching it in mplayer, which should give you a reasonable view of good timestamps.
15
+
16
+ Add timestamps to your file as necessary, then (exit smplayer and) click "Preview edited section of current DVD" (use the default filename always),
17
+ give it a range "around" the edit you just added, then it will give you an .avi file with just that segment.
18
+ Watch it (in VLC or smplayer), and see if your edit worked. If it didn't, edit it, hit "re-run most recent preview"
19
+ If it did, then click "Open ripped version of DVD" again, and continue playing from where you were before.
20
+
21
+ When you're done finally, then click "Create edited copy of DVD on your hard drive".
22
+ It will re-rip and do it all (will take forever), but will give you your final product.
23
+ Alternatively, you could get a final product by clicking "Preview edited section of current DVD" and putting in a start timestamp of
24
+ 00:00 and an end timestamp of 9999 or what not. Same deal, but will take you less time.
25
+
26
+ Also after you're done, you can delete any left over files that are still there.
27
+
28
+ Also after you're done, you can submit it back to the project by emailing me with an attachment: rogerdpack@gmail.com
29
+
30
+ Also if you want sensible-cinema to be able to auto-choose your EDL, then include its unique id (click the "Get a disk's unique id" button).
31
+
32
+ A few pointers:
33
+ You can just watch the DVD (using any DVD player), and get timestamps that way, before starting this.
34
+ You can watch the DVD using VLC Player, which has a "fast forward" button, just recognize that VLC's timestamps are slightly off,
35
+ so they'll only be approximate, but it might still help.
data/lib/drive_info.rb CHANGED
@@ -9,7 +9,7 @@ class DriveInfo
9
9
  files.sort.each{|f|
10
10
  digest << File.binread(f)
11
11
  }
12
- raise 'bad drive' unless files.length > 0
12
+ raise 'drive might not yet have disc in it? ' + dir unless files.length > 0
13
13
  digest.hexdigest
14
14
  end
15
15
 
@@ -13,7 +13,7 @@ class MencoderWrapper
13
13
  if File.exist?(@big_temp) && File.exist?(@big_temp + '.done')
14
14
  ''
15
15
  else
16
- "call mencoder dvd://#{@dvd_title_track} -oac copy -lavcopts keyint=1 -ovc lavc -o #{@big_temp} -dvd-device #{this_drive} && echo got_file > #{@big_temp}.done\n"
16
+ "call mencoder dvd://#{@dvd_title_track} -sid 1000 -oac copy -lavcopts keyint=1 -ovc lavc -o #{@big_temp} -dvd-device #{this_drive} && echo got_file > #{@big_temp}.done\n"
17
17
  end
18
18
  end
19
19
 
data/lib/swing_helpers.rb CHANGED
@@ -8,7 +8,8 @@ module SensibleSwing
8
8
  include_class java.awt.event.ActionListener
9
9
  JFile = java.io.File
10
10
  include_class java.awt.FileDialog
11
-
11
+ include_class java.lang.System
12
+
12
13
  class JButton
13
14
  def initialize *args
14
15
  super *args
@@ -18,7 +19,13 @@ module SensibleSwing
18
19
  def on_clicked &block
19
20
  raise unless block
20
21
  add_action_listener do |e|
21
- block.call
22
+ begin
23
+ block.call
24
+ rescue Exception => e
25
+ puts 'got fatal exception', e
26
+ puts e.backtrace.join("\n")
27
+ System.exit(1) # LODO no exit
28
+ end
22
29
  end
23
30
  self
24
31
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{sensible-cinema}
8
- s.version = "0.16.3"
8
+ s.version = "0.16.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Roger Pack"]
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  "experimental_readme.txt",
32
32
  "ext/mkrf_conf.rb",
33
33
  "gplv3.txt",
34
+ "how_to_create",
34
35
  "lib/add_any_bundled_gems_to_load_path.rb",
35
36
  "lib/blanker.rb",
36
37
  "lib/drive_info.rb",
@@ -120,6 +121,7 @@ Gem::Specification.new do |s|
120
121
  "vendor/gocr049.exe",
121
122
  "vendor/unzip.exe",
122
123
  "zamples/edit_decision_lists/category descriptions.txt",
124
+ "zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt",
123
125
  "zamples/edit_decision_lists/dvds/bobs_big_plan.txt",
124
126
  "zamples/edit_decision_lists/dvds/happiest baby on the block.txt",
125
127
  "zamples/edit_decision_lists/dvds/old_and_inaccurate/White Christmas.txt",
@@ -18,6 +18,7 @@ describe MencoderWrapper do
18
18
 
19
19
  it "should have what looks like a working mencoder rip command" do
20
20
  @out.should match(/mencoder dvd.*keyint=1/)
21
+ @out.should match(/-sid 1000/)
21
22
  end
22
23
 
23
24
  it "should create a .done file after ripping" do
@@ -0,0 +1,9 @@
1
+ "title" => "bob the builder pets in a pickle",
2
+
3
+ "disk_unique_id" => "dc5a1b0081d60a94f1d7742ee14759cd",
4
+
5
+ #"blank_outs" => [
6
+ # "5:44", "6:10",
7
+ #],
8
+
9
+ # appears pretty clean overall...
@@ -1,8 +1,8 @@
1
1
  "mutes" => [
2
2
  "6:18" , "6:19.1", "religious reference", "religious reference", "2"
3
3
  ],
4
+ "disk_unique_id" => "19d121ae8dc40cdd70b57ab7e8c74f76",
4
5
  "title" => "Happiest baby on the block",
5
- "dvd_drive_label" => "HAPPIEST_BABY_ON_THE_BLOCK",
6
6
  "source" => "DVD",
7
7
  "dvd_title_track" => 1,
8
8
  "other notes" => "has a couple (modest) shots of nursing moms which aren't cut."
@@ -18,29 +18,23 @@
18
18
  # note: items can be out of chronological order, that's ok
19
19
 
20
20
  # you can also have blank outs
21
- # and you can also refer to a category, instead of having to write out the real word.
22
21
  # example:
23
22
 
24
23
  "blank_outs" => [
25
24
  # this first one blanks (by overlaying *over* the video, a black window)
26
25
  # from one hour one minute to one hour two minutes, like:
27
- "01:01:00" , "01:02:00", "nudity", "5",
28
- # you can also use decimals, like 3 minutes 3 seconds and a half to 3 minutes 4 seconds and a half (one second blank out):
26
+ "01:01:00" , "01:02:00", "nudity", "Kate Winslet's...",
27
+ # you can also always optionally use decimals, like 3 minutes 3 seconds and a half to 3 minutes 4 seconds and a half (one second blank out):
29
28
  "00:03:03.5", "00:03:04.5",
30
- # if you don't want to be explicit, you can reference a *number*
31
- # from the category descriptions.yml file, like
32
- "01:01:00", "01:02:00", "profanity", "bodily function 1",
33
- # (instead of "01:01:00", "01:02:00", "s***")
34
29
  ],
35
30
 
36
- # (if something's not categorized yet then just write it in your file and I'll add it later, or just notify me)
37
-
38
31
  # you can also add other notes, too, like title, source, whatever you want
39
32
  # these are basically free form and not used for anything else yet
40
33
  "missing_content" => "this doesn't list some mild name calling",
41
34
  "title" => "Forever Strong",
42
35
  "source" => "Hulu",
43
36
  "url" => "http://www.byutv.org/watch/1790-100",
44
- "whatever_else_you_want" => "this is the old version of the film"
37
+ "whatever_else_you_want" => "this is the old version of the film",
38
+ "disk_unique_id" => "19d121ae8dc40cdd70b57ab7e8c74f76", # for DVD's to be able to differentiate (and auto select) themselves.
45
39
 
46
40
  # NB that you have to put commas just about everywhere. That might help
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 16
8
- - 3
9
- version: 0.16.3
8
+ - 5
9
+ version: 0.16.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Roger Pack
@@ -169,6 +169,7 @@ files:
169
169
  - experimental_readme.txt
170
170
  - ext/mkrf_conf.rb
171
171
  - gplv3.txt
172
+ - how_to_create
172
173
  - lib/add_any_bundled_gems_to_load_path.rb
173
174
  - lib/blanker.rb
174
175
  - lib/drive_info.rb
@@ -258,6 +259,7 @@ files:
258
259
  - vendor/gocr049.exe
259
260
  - vendor/unzip.exe
260
261
  - zamples/edit_decision_lists/category descriptions.txt
262
+ - zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt
261
263
  - zamples/edit_decision_lists/dvds/bobs_big_plan.txt
262
264
  - zamples/edit_decision_lists/dvds/happiest baby on the block.txt
263
265
  - zamples/edit_decision_lists/dvds/old_and_inaccurate/White Christmas.txt