sensible-cinema 0.9.4 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README +24 -17
- data/TODO +34 -6
- data/VERSION +1 -1
- data/bin/sensible-cinema +5 -3
- data/lib/screen_tracker.rb +1 -1
- data/never_do +8 -4
- data/zamples/players/{how_to_create_more.txt → how_to_create_more_players.txt} +1 -1
- data/zamples/scene_lists/category descriptions.yml +22 -15
- data/zamples/scene_lists/{White Christmas.yml → dvds/White Christmas.yml} +0 -0
- data/zamples/scene_lists/{all_dogs_go_to_heaven_dvd.yml → dvds/all_dogs_go_to_heaven_dvd.yml} +0 -0
- data/zamples/scene_lists/{disney_cars.yml → dvds/disney_cars.yml} +1 -1
- data/zamples/scene_lists/{happy_feet_dvd.yml → dvds/happy_feet_dvd.yml} +0 -0
- data/zamples/scene_lists/{labyrinth.yml → dvds/labyrinth.yml} +0 -0
- data/zamples/scene_lists/dvds/making marriage work.yml +9 -0
- data/zamples/scene_lists/example_scene_descriptions_list.yml +26 -22
- metadata +10 -9
data/README
CHANGED
@@ -6,7 +6,7 @@ It then tracks whichever player you are using, and mutes or blanks out the syste
|
|
6
6
|
during the scenes specified.
|
7
7
|
|
8
8
|
It works out of the box with the hulu and VLC players on windows. It isn't hard to
|
9
|
-
add new players, and probably wouldn't be too hard to add more operating systems.
|
9
|
+
add new players, and probably wouldn't be too hard to add more operating systems etc.
|
10
10
|
|
11
11
|
== How to Use ==
|
12
12
|
|
@@ -48,7 +48,7 @@ It will proceed do a few "demo" mutes and blank outs.
|
|
48
48
|
|
49
49
|
To program sensible-cinema, you create a scene description list it can use.
|
50
50
|
|
51
|
-
|
51
|
+
A Program Description List (Edit Decision List--EDL) looks something like this example:
|
52
52
|
|
53
53
|
mutes:
|
54
54
|
"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.
|
@@ -66,27 +66,34 @@ To create it, basically you notice something you want to add to the list, add it
|
|
66
66
|
in your media player, and it should now be muted/blanked out automatically.
|
67
67
|
|
68
68
|
So here is a way to create your scene descriptions file.
|
69
|
-
First create a new file [2], and now select it for use in sensible-cinema (even though it's still blank).
|
70
|
-
Now "preview" your movie. As you do, you're going to add scenes to that file, and then test your additions.
|
71
69
|
|
72
|
-
|
73
|
-
|
70
|
+
First create a new file
|
71
|
+
|
72
|
+
The easiest way to do this is to start sensible-cinema, then instead of choosing an existing file,
|
73
|
+
"right click" on the existing file "example_scene_list.yml" and choose "Copy"
|
74
|
+
now right click below the list of files and choose "paste"
|
75
|
+
This will create the file "example_scene_list Copy.yml"
|
76
|
+
Right click on it, choose rename, and give it a better name.
|
77
|
+
Now "right click -> Open" to open it in an editor (recommend installing notepad++ and using that).
|
78
|
+
Note that you can edit this file *on the fly* while the player is editing. It will catch
|
79
|
+
changes as the file is saved and apply them.
|
80
|
+
|
81
|
+
Now select it for use in sensible-cinema (even though it's still blank).
|
82
|
+
Now "screen" your movie. As you watch it, you're going to add scenes to
|
83
|
+
that file, and then re-watch the scene to test your additions.
|
84
|
+
|
85
|
+
As you watch when you encounter a questionable scene, go back several seconds using your player's
|
86
|
+
controls. When you encounter it once again, track its beginning and ending time. One way to do this
|
74
87
|
is to, just before and just after the scene, hit the space bar *in the sensible-cinema window*.
|
75
88
|
Hitting the space bar outputs the current time. If you hit it twice, once before and once after,
|
76
89
|
you should now have two reasonably accurate "timestamps" displayed.
|
77
|
-
Add the beginning and
|
78
|
-
then review your additions by rewinding your player and letting it play through the scene
|
79
|
-
It should now skip it
|
90
|
+
Add the beginning and end times to your scene description file (changes will be automatically picked up),
|
91
|
+
then review your additions by rewinding your player and letting it play through the scene again.
|
92
|
+
It should now skip it (play it "sensibly"). If not, adjust your timestamps and try again.
|
80
93
|
|
81
|
-
Once you're done then you can contribute your scene descriptions file if desired, back to the project [1].
|
94
|
+
Once you're done then you can contribute your scene descriptions file if desired, back to the project itself [1].
|
82
95
|
|
83
96
|
[1] http://github.com/rdp/sensible-cinema/issues
|
84
|
-
[2] The easiest way to do this is to start sensible-cinema, then instead of choosing an existing file,
|
85
|
-
"right click" on the existing file "example_scene_list.yml" and choose "Copy"
|
86
|
-
now right click below the list of files and choose "paste"
|
87
|
-
This will create the file "example_scene_list Copy.yml"
|
88
|
-
Right click on it, choose rename, and give it a better name.
|
89
|
-
Now "right click -> Open" to open it in an editor (recommend installing notepad++ and using that).
|
90
97
|
|
91
98
|
== FAQ ==
|
92
99
|
|
@@ -162,7 +169,7 @@ http://forum.bsplayer.com/feature-requests-feedback-suggestions/7157-chapter-pla
|
|
162
169
|
http://www.inmatrix.com/ "scene cut editor" of the zoom player
|
163
170
|
http://wiki.xbmc.org/?title=EDL_(commercial_skipping)_and_SceneMarker_support (XBMC's scene cut support--also links to more others)
|
164
171
|
http://code.google.com/p/movie-content-editor (same thing, but in Python and only for VLC)
|
165
|
-
http://clearplay.com similar, but commercial (closed), and only for DVD's (
|
172
|
+
http://clearplay.com similar, but commercial (closed source, costs money, no user contribution), and only for DVD's (uses its own DVD-player).
|
166
173
|
|
167
174
|
though none of them are universal like this one is :)
|
168
175
|
|
data/TODO
CHANGED
@@ -9,21 +9,40 @@
|
|
9
9
|
can parse IMDB (require they put in the URL by hand)
|
10
10
|
try the new GOCR sources...
|
11
11
|
PISH
|
12
|
-
add stuffs to imdb
|
12
|
+
add stuffs to imdb hmmm
|
13
|
+
more often yell at them "not working"
|
13
14
|
|
14
15
|
== random backlog ... based on user request..remember: just local files for my own needs...==
|
15
16
|
|
17
|
+
"just choose VLCx55" LOL
|
18
|
+
|
19
|
+
itunes video on demand
|
20
|
+
|
21
|
+
blockbuster "rent" on demand, online
|
22
|
+
|
23
|
+
beep at them when not tracking [?]
|
24
|
+
|
16
25
|
note: just plow forward, to "grab" available ideas...except that for now, just what *I*
|
17
26
|
plan on needing for myself (filters for what I need/want).
|
18
27
|
|
19
28
|
re-advertise on ruby talk
|
20
29
|
|
21
|
-
|
30
|
+
a real website
|
31
|
+
|
32
|
+
advertise on ruby flow
|
33
|
+
|
34
|
+
no money making for now...all volunteer...more respectful.
|
35
|
+
or make it so it can work with an editor of some kind...like a "save here" command line snip this tuck that.
|
36
|
+
probably only possible after creating the desktop streamer hmm
|
22
37
|
|
23
|
-
|
38
|
+
integrate with librivox' audio so you can avoid profanity in classics. Somehow. This would be nice for portable players.
|
39
|
+
|
40
|
+
itunes player for profanity (music)?
|
41
|
+
|
42
|
+
an "online anybody can chat while watching this movie" (or anybody can edit this wav and listen to it as overlay...) prefer the latter.
|
24
43
|
|
25
44
|
an online applet web runnable? Why not?
|
26
|
-
click here to watch your favorite film edited! Just click! [* yea!]
|
45
|
+
click here to watch your favorite film edited on hulu! Just click! [* yea!]
|
27
46
|
a chrome plugin with imdb/community backing :)
|
28
47
|
|
29
48
|
code refactors: "screen time change", order should be swapped in bin/x output
|
@@ -44,7 +63,7 @@ TSR that monitors "oh you're opening a VLC? you're playing the E drive? That's b
|
|
44
63
|
|
45
64
|
a netflix online player descriptor
|
46
65
|
|
47
|
-
add my stuff to imdb...?
|
66
|
+
add my stuff to imdb...? wiki ?
|
48
67
|
|
49
68
|
make youtube work if you have *several* open
|
50
69
|
|
@@ -75,6 +94,7 @@ replay certain film sections :P
|
|
75
94
|
|
76
95
|
overlay/replace current playback with some url of audio or video
|
77
96
|
user editable overlays (like a wiki...)
|
97
|
+
realtime overlays (like group chat for those watching the film...)
|
78
98
|
|
79
99
|
control volume programmatically (using mouse) on the player itself.
|
80
100
|
control mute programmatically (using mouse) on the player itself.
|
@@ -108,4 +128,12 @@ star trek: generations first profanidade...
|
|
108
128
|
|
109
129
|
"Showing EDL Information During Playback"
|
110
130
|
|
111
|
-
integrate with google TV/bravia...maybe...somehow...boxxee?
|
131
|
+
integrate with google TV/bravia...maybe...somehow...boxxee?
|
132
|
+
itunes TV, too?
|
133
|
+
|
134
|
+
OCR the captioning as an auto profanity filter? (or perhaps download subtitles to be able to pre-screen), like the python fella does..
|
135
|
+
what else does python do that we can learn from? can we combine projects somehow, perhaps?
|
136
|
+
|
137
|
+
make an index of watchable on imdb based on stars (?)
|
138
|
+
|
139
|
+
http://en.wikipedia.org/wiki/RiffTrax
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.7
|
data/bin/sensible-cinema
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
|
1
3
|
puts 'Welcome to Sensible Cinema...'
|
2
4
|
require 'rubygems'
|
3
5
|
require 'sane'
|
@@ -37,7 +39,7 @@ else
|
|
37
39
|
player_description = ARGV.shift.to_s
|
38
40
|
if !File.exist?(player_description)
|
39
41
|
puts 'Please Select Computer Player'
|
40
|
-
player_description = FileChooser.choose_file("SELECT COMPUTER PLAYER", __dir__ + "/../zamples/players")
|
42
|
+
player_description = FileChooser.choose_file(" SELECT COMPUTER PLAYER", __dir__ + "/../zamples/players")
|
41
43
|
end
|
42
44
|
|
43
45
|
scene_list = ARGV.shift.to_s
|
@@ -49,7 +51,7 @@ else
|
|
49
51
|
else
|
50
52
|
if !File.exist? scene_list
|
51
53
|
puts 'Select Scene Descriptions file'
|
52
|
-
scene_list = FileChooser.choose_file("SELECT SCENE DESCRIPTIONS FILE", __dir__ + "/../zamples/scene_lists")
|
54
|
+
scene_list = FileChooser.choose_file(" SELECT SCENE DESCRIPTIONS FILE", __dir__ + "/../zamples/scene_lists/dvds")
|
53
55
|
end
|
54
56
|
|
55
57
|
if !scene_list
|
@@ -67,7 +69,7 @@ else
|
|
67
69
|
puts 'Selected player ' + File.basename(player_description) + "\n\t(full path: #{player_description})"
|
68
70
|
# this one doesn't use any updates, so just pass in file contents, not filename
|
69
71
|
screen_tracker = ScreenTracker.new_from_yaml File.binread(player_description), overlay
|
70
|
-
Mouse.jitter_forever_in_own_thread # when this ends you know
|
72
|
+
Mouse.jitter_forever_in_own_thread # when this ends you know a snapshot was taken...
|
71
73
|
|
72
74
|
# exit early if we just wanted a screen dump...a little kludgey...
|
73
75
|
unless overlay
|
data/lib/screen_tracker.rb
CHANGED
data/never_do
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
== well, probably never :P ==
|
1
|
+
== well, probably never care enough to ever do these :P ==
|
2
2
|
|
3
3
|
allow x2,y2 for player descriptions...
|
4
4
|
|
@@ -6,10 +6,12 @@ user-assignable "confidence" (how much time to 'wrap' surround the mutes, etc. t
|
|
6
6
|
|
7
7
|
able to make it "quieter" at certain parts, arbitrarily...
|
8
8
|
|
9
|
-
OCR the captioning as an auto profanity filter?
|
10
|
-
|
11
9
|
can overlay with a "fuzzer-outer" for specific coordinates somehow or other...
|
12
10
|
|
11
|
+
"tivo" for BYU-TV or what not. Tell it when, it records it for you (cut? uncut?)
|
12
|
+
|
13
|
+
amazon video on demand
|
14
|
+
|
13
15
|
super easy streamer windows -> {XBOX360, wii, etc..} basically playon.tv competitor, which appears to have no free equivalent, I guess, though you can
|
14
16
|
Currently it's either a cable, a computer (with its cable), or "ask me for this it might already work"
|
15
17
|
todo: refit a VLC version that works *if your soundcard supports it*
|
@@ -24,4 +26,6 @@ super easy streamer windows -> {XBOX360, wii, etc..} basically playon.tv competi
|
|
24
26
|
blu-ray
|
25
27
|
over wired (?)
|
26
28
|
LAN?
|
27
|
-
does blu-ray work with HDMI well?
|
29
|
+
does blu-ray work with HDMI well?
|
30
|
+
|
31
|
+
"If someone builds an app that will allow Google TV to stream video from my computer's iTunes collection, it *could* be worth the investment."
|
@@ -1,27 +1,34 @@
|
|
1
1
|
"profanity categories, so you don't have to write them":
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
euphemization: (these prolly aren't as important to note)
|
4
|
+
1 oh my gosh
|
5
|
+
2 dang
|
6
|
+
3 crap
|
7
|
+
|
6
8
|
religious reference:
|
7
|
-
|
9
|
+
1 "L*** have mercy"
|
8
10
|
|
9
11
|
religious exclamation:
|
10
|
-
|
11
|
-
|
12
|
+
1 da**
|
13
|
+
2 he**
|
12
14
|
|
13
15
|
religious exclamation deity:
|
14
|
-
|
15
|
-
|
16
|
+
1 oh my ****
|
17
|
+
2 g** d***
|
18
|
+
|
19
|
+
bodily function mild:
|
20
|
+
1 crap
|
21
|
+
2 suck(s)
|
16
22
|
|
17
|
-
bodily function slang:
|
18
|
-
poop, crap, crud, suck
|
19
23
|
bodily function strong:
|
20
|
-
|
24
|
+
1 s***
|
21
25
|
|
22
26
|
innuendo:
|
23
|
-
language that has sexual overtones
|
27
|
+
language that has sexual overtones
|
28
|
+
|
24
29
|
sexual profanity:
|
25
|
-
f***
|
26
|
-
|
27
|
-
|
30
|
+
1 f***
|
31
|
+
|
32
|
+
body stuff:
|
33
|
+
1 a**
|
34
|
+
2 dick
|
File without changes
|
data/zamples/scene_lists/{all_dogs_go_to_heaven_dvd.yml → dvds/all_dogs_go_to_heaven_dvd.yml}
RENAMED
File without changes
|
@@ -3,7 +3,7 @@ player: VLC
|
|
3
3
|
mutes:
|
4
4
|
# one hour one minute and a half second to one hour one minute and 1.5s
|
5
5
|
"0:34:35" : "0:34:35" # "may doc have mercy on your soul"
|
6
|
-
"36:09" : "36:11" #
|
6
|
+
"36:09" : "36:11" # likes me for muh body
|
7
7
|
"37:05" : "37:06" # Mater makes a fart noise when discussing gas
|
8
8
|
"40:16" : "40:18" # ...good look at that sexy hot-rod
|
9
9
|
"44:24" : "44:46" # hill billy hxxx
|
File without changes
|
File without changes
|
@@ -1,26 +1,30 @@
|
|
1
|
-
#
|
1
|
+
# comment and descriptions can go after a # on each line. See http://github.com/rdp/sensible-cinema for complete creation instructions
|
2
2
|
mutes:
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
#
|
8
|
-
1:00 : 1:01
|
9
|
-
10:01 : 10:02 # mute from ten minutes, one second to ten minutes, 2 seconds
|
10
|
-
# if you use decimals, you'll have to put them in quotes
|
11
|
-
# 01:01:01.05 (for one hour, one minute, one second and a half) does not work
|
12
|
-
# "01:01:01.05" does
|
13
|
-
"01:01:00.5" : "01:01:01.5" # mute from one hour one minute and a half second to one hour one minute and 1.5s
|
14
|
-
# items can be out of chronological order
|
15
|
-
2.0 : 3.0
|
3
|
+
"00:00:01" : "00:00:02" # mute from second 1 to second 2
|
4
|
+
# so an example would be:
|
5
|
+
"00:00:01" : "00:00:02" # profanity: dang
|
6
|
+
"01:01:00" : "01:02:00" # mute from one hour one minute to one hour two minutes
|
7
|
+
# note: items can be out of chronological order
|
16
8
|
|
17
9
|
blank_outs:
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
# this first one blanks (by overlaying *over* the video, a black window)
|
11
|
+
# from one hour one minute to one hour two minutes, like:
|
12
|
+
"01:01:00" : "01:02:00" # "sex scene"
|
13
|
+
# you can also use fractions, like 3 minutes 3 seconds and a half to 3 minutes 4 seconds and a half:
|
14
|
+
"00:03:03.5" : "00:03:04.5"
|
15
|
+
# if you don't want to be explicit, you can reference a *number*
|
16
|
+
# from the category descriptions.yml file, like
|
17
|
+
"01:01:00" : "01:02:00" # "bodily function strong # 1"
|
18
|
+
# instead of
|
19
|
+
"01:01:00" : "01:02:00" # s***
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
# (if it's not there then just write it in your file and I'll add it later, or notify me)
|
22
|
+
|
23
|
+
# you can also add other notes, too, like title, source, whatever you want
|
24
|
+
# these are basically free form and not used for anything else yet
|
25
|
+
missing_content: "this doesn't list some mild name calling"
|
26
|
+
title: Forever Strong
|
27
|
+
source: Hulu
|
28
|
+
url: http://www.byutv.org/watch/1790-100
|
29
|
+
possible_new_rating: PG
|
30
|
+
whatever_else_you_want: "this is the old version of the film"
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 9
|
8
|
-
-
|
9
|
-
version: 0.9.
|
8
|
+
- 7
|
9
|
+
version: 0.9.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Roger Pack
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-10-08 00:00:00 -06:00
|
18
18
|
default_executable: sensible-cinema
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -223,7 +223,7 @@ files:
|
|
223
223
|
- vendor/imagemagick/msvcp90.dll
|
224
224
|
- vendor/imagemagick/msvcr90.dll
|
225
225
|
- vendor/imagemagick/vcomp90.dll
|
226
|
-
- zamples/players/
|
226
|
+
- zamples/players/how_to_create_more_players.txt
|
227
227
|
- zamples/players/hulu/total_length_over_an_hour.yml
|
228
228
|
- zamples/players/vlc/full_screened_total_length_over_an_hour.yml
|
229
229
|
- zamples/players/vlc/windowed_total_length_over_an_hour.yml
|
@@ -233,14 +233,15 @@ files:
|
|
233
233
|
- zamples/players/youtube/full_screened_1680x1050.yml
|
234
234
|
- zamples/players/youtube/normal_in_youtube.com.yml
|
235
235
|
- zamples/players/youtube/note_these_assume_less_than_10_minutes_length.txt
|
236
|
-
- zamples/scene_lists/White Christmas.yml
|
237
|
-
- zamples/scene_lists/all_dogs_go_to_heaven_dvd.yml
|
238
236
|
- zamples/scene_lists/category descriptions.yml
|
239
|
-
- zamples/scene_lists/
|
237
|
+
- zamples/scene_lists/dvds/White Christmas.yml
|
238
|
+
- zamples/scene_lists/dvds/all_dogs_go_to_heaven_dvd.yml
|
239
|
+
- zamples/scene_lists/dvds/disney_cars.yml
|
240
|
+
- zamples/scene_lists/dvds/happy_feet_dvd.yml
|
241
|
+
- zamples/scene_lists/dvds/labyrinth.yml
|
242
|
+
- zamples/scene_lists/dvds/making marriage work.yml
|
240
243
|
- zamples/scene_lists/example_scene_descriptions_list.yml
|
241
244
|
- zamples/scene_lists/gummy_bear_song_youtube.yml
|
242
|
-
- zamples/scene_lists/happy_feet_dvd.yml
|
243
|
-
- zamples/scene_lists/labyrinth.yml
|
244
245
|
- zamples/scene_lists/nuki_song_youtube.yml
|
245
246
|
- zamples/scene_lists/star_trek_generations_hulu.yml
|
246
247
|
has_rdoc: true
|