content-editing-movie-player 0.38.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. data/.gitmodules +3 -0
  2. data/.rvmrc +1 -0
  3. data/LICENSE.TXT +20 -0
  4. data/README.TXT +225 -0
  5. data/Rakefile +206 -0
  6. data/TODO +740 -0
  7. data/VERSION +1 -0
  8. data/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
  9. data/bin/sensible-cinema +60 -0
  10. data/bin/sensible-cinema-cli +161 -0
  11. data/business_ideas.txt +21 -0
  12. data/change_log_with_feature_list.txt +952 -0
  13. data/documentation/DOCUMENTATION_README.TXT +44 -0
  14. data/documentation/how_to_get_files_from_dvd.txt +30 -0
  15. data/documentation/is_it_legal_to_copy_dvds.txt +97 -0
  16. data/documentation/troubleshooting.txt +30 -0
  17. data/documentation/upconversion.txt +4 -0
  18. data/experimental_online_player_ocr_readme.txt +45 -0
  19. data/go +1 -0
  20. data/go.bat +2 -0
  21. data/go.sh +1 -0
  22. data/go_ocr_tracker.bat +1 -0
  23. data/goc +1 -0
  24. data/goc.bat +1 -0
  25. data/goc.sh +1 -0
  26. data/gpl-2.0.txt +339 -0
  27. data/gplv3.txt +219 -0
  28. data/history_and_related_works_list.txt +108 -0
  29. data/inventionzy_files/cone.png +0 -0
  30. data/inventionzy_files/md5s.txt +53 -0
  31. data/inventionzy_files/play_with_inserted_scene.bat +8 -0
  32. data/inventionzy_files/play_with_overlay.bat +24 -0
  33. data/inventionzy_files/transcript_mute_vlc.txt +117 -0
  34. data/legal_draft +23 -0
  35. data/lib/add_any_bundled_gems_to_load_path.rb +32 -0
  36. data/lib/auto_window_finder.rb +41 -0
  37. data/lib/blanker.rb +104 -0
  38. data/lib/check_installed_mac.rb +34 -0
  39. data/lib/convert_thirty_fps.rb +20 -0
  40. data/lib/edl_parser.rb +387 -0
  41. data/lib/eight_three.rb +28 -0
  42. data/lib/extract/dumpstream.bat +1 -0
  43. data/lib/extract/get_init.bat +3 -0
  44. data/lib/extract/pause_early.rb +13 -0
  45. data/lib/fake_blanker.rb +35 -0
  46. data/lib/frame_accurate.rb +3 -0
  47. data/lib/gui/base.rb +748 -0
  48. data/lib/gui/create-file.rb +24 -0
  49. data/lib/gui/create.rb +581 -0
  50. data/lib/gui/dependencies.rb +219 -0
  51. data/lib/gui/normal.rb +123 -0
  52. data/lib/gui/upconvert.rb +284 -0
  53. data/lib/keyboard_input.rb +60 -0
  54. data/lib/media_info_parser.rb +27 -0
  55. data/lib/mouse_forever.rb +19 -0
  56. data/lib/movie_hasher.rb +27 -0
  57. data/lib/mplayer_edl.rb +42 -0
  58. data/lib/muter.rb +87 -0
  59. data/lib/ocr.rb +125 -0
  60. data/lib/ocr_seed/netflix_b9.bmp +0 -0
  61. data/lib/overlayer.rb +373 -0
  62. data/lib/screen_tracker.rb +269 -0
  63. data/lib/subtitle_profanity_finder.rb +294 -0
  64. data/lib/vlc_programmer.rb +112 -0
  65. data/lib/zoom_player_max_edl.rb +50 -0
  66. data/never_do +40 -0
  67. data/notes_for_potential_developers.txt +46 -0
  68. data/preamble +17 -0
  69. data/roadmap_possibilities +12 -0
  70. data/spec/arse.srt +41 -0
  71. data/spec/auto_window_finder.spec.rb +65 -0
  72. data/spec/bad_beginning.srt +3778 -0
  73. data/spec/blanker.spec.rb +60 -0
  74. data/spec/common.rb +81 -0
  75. data/spec/convert_image.rb +25 -0
  76. data/spec/deity_end.srt +11 -0
  77. data/spec/dragon.srt +34 -0
  78. data/spec/edl_parser.spec.rb +270 -0
  79. data/spec/frame_accurate.spec.rb +71 -0
  80. data/spec/keyboard_input.spec.rb +73 -0
  81. data/spec/media_info_parser.spec.rb +29 -0
  82. data/spec/mplayer_edl.spec.rb +100 -0
  83. data/spec/muter.spec.rb +50 -0
  84. data/spec/notes +4996 -0
  85. data/spec/ocr.spec.rb +119 -0
  86. data/spec/overlayer.spec.rb +440 -0
  87. data/spec/screen_tracker.spec.rb +318 -0
  88. data/spec/sensible_cinema_gui.spec.rb +452 -0
  89. data/spec/subtitle_profanity_finder.spec.rb +224 -0
  90. data/spec/test_yaml.yml +4 -0
  91. data/spec/tsmuxer.output +33 -0
  92. data/spec/vlc_programmer.spec.rb +124 -0
  93. data/spec/youtube_edl.spec.rb +28 -0
  94. data/spec/zoom_player_max_edl.spec.rb +29 -0
  95. data/template_bats/README_DISTRO.TXT +8 -0
  96. data/template_bats/RUN SENSIBLE CINEMA CLICK HERE WINDOWS.bat +25 -0
  97. data/template_bats/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
  98. data/template_bats/mac/RUN SENSIBLE CINEMA CLICK HERE.command +5 -0
  99. data/template_bats/mac/advanced--create or edit sensible cinema edit list files.command +3 -0
  100. data/template_bats/mac/advanced--run-upconverting-video-player.command +3 -0
  101. data/template_bats/pc/advanced--create or edit sensible cinema edit list files.bat +2 -0
  102. data/template_bats/pc/advanced--run-upconverting-video-player.bat +2 -0
  103. data/todo.build_library.txt +11 -0
  104. data/todo.inventionzy.txt +162 -0
  105. data/todo.open_edl_list_org.txt +169 -0
  106. data/todo.propaganda +107 -0
  107. data/todo.subtitle +17 -0
  108. data/todo.upconvert +53 -0
  109. data/upconvert.bat +1 -0
  110. data/upconvert_from_screen/go_upscaling.bat +12 -0
  111. data/upconvert_from_screen/go_upscaling_works +0 -0
  112. data/upconvert_from_screen/old/latest2/combine_video.avs +23 -0
  113. data/upconvert_from_screen/old/latest2/go_no_upscaling.bat +1 -0
  114. data/upconvert_from_screen/old/latest2/go_upscaling.bat +12 -0
  115. data/upconvert_from_screen/old/latest2/push2.GRF +0 -0
  116. data/upconvert_from_screen/old/latest2/push3.grf +0 -0
  117. data/upconvert_from_screen/old/latest2/setup_capture_coords.rb +27 -0
  118. data/upconvert_from_screen/old/latest2/setup_directshow_filter_params.rb +29 -0
  119. data/upconvert_from_screen/old/latest2/upconvert_from_screen_me2.avs +19 -0
  120. data/upconvert_from_screen/old/latest_now_possibly_oudated/push2.GRF +0 -0
  121. data/upconvert_from_screen/old/latest_now_possibly_oudated/upconvert_from_screen_me2.avs +18 -0
  122. data/upconvert_from_screen/old/position_window.png +0 -0
  123. data/upconvert_from_screen/old/push_source_desktop.GRF +0 -0
  124. data/upconvert_from_screen/old/record_screen/record.bat +2 -0
  125. data/upconvert_from_screen/old/upconvert_from_screen.avs +21 -0
  126. data/upconvert_from_screen/old/upconvert_from_screen_me.avs +21 -0
  127. data/upconvert_from_screen/old/upconvert_from_screen_me2.avs +3 -0
  128. data/upconvert_from_screen/old/upconvert_from_screen_me_push_source.avs +3 -0
  129. data/upconvert_from_screen/old/uscreen.GRF +0 -0
  130. data/upconvert_from_screen/old/uscreen_me.GRF +0 -0
  131. data/upconvert_from_screen/push3.grf +0 -0
  132. data/upconvert_from_screen/upconvert_from_screen_me2.avs +19 -0
  133. data/vendor/movie-content-editor-read-only/.metadata/.lock +0 -0
  134. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/.tasks.xml.zip +0 -0
  135. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/repositories.xml.zip +0 -0
  136. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/tasks.xml.zip +0 -0
  137. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +1 -0
  138. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index +0 -0
  139. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +1 -0
  140. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree +0 -0
  141. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources +0 -0
  142. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +3 -0
  143. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +14 -0
  144. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +3 -0
  145. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +5 -0
  146. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +3 -0
  147. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache +0 -0
  148. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat +0 -0
  149. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +2 -0
  150. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +2 -0
  151. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +10 -0
  152. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +11 -0
  153. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml +4 -0
  154. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +10 -0
  155. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml +232 -0
  156. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +4 -0
  157. data/vendor/movie-content-editor-read-only/.metadata/version.ini +1 -0
  158. data/vendor/movie-content-editor-read-only/.project +17 -0
  159. data/vendor/movie-content-editor-read-only/.pydevproject +11 -0
  160. data/vendor/movie-content-editor-read-only/.settings/org.eclipse.core.resources.prefs +6 -0
  161. data/vendor/movie-content-editor-read-only/SubIt.py +171 -0
  162. data/vendor/movie-content-editor-read-only/VLCMacVideo.py +257 -0
  163. data/vendor/movie-content-editor-read-only/VideoMac.ui +102 -0
  164. data/vendor/movie-content-editor-read-only/badwords.txt +4 -0
  165. data/vendor/movie-content-editor-read-only/blank.srt +4 -0
  166. data/vendor/movie-content-editor-read-only/edit.py +197 -0
  167. data/vendor/movie-content-editor-read-only/mergeCommands.py +73 -0
  168. data/vendor/movie-content-editor-read-only/mute.txt +5 -0
  169. data/vendor/movie-content-editor-read-only/panda.srt +4235 -0
  170. data/vendor/movie-content-editor-read-only/panda_custom.txt +3 -0
  171. data/vendor/movie-content-editor-read-only/panda_edit.srt +4235 -0
  172. data/vendor/movie-content-editor-read-only/subtitle.py +90 -0
  173. data/vendor/movie-content-editor-read-only/vlc.py +5579 -0
  174. data/vendor/movie-content-editor-read-only/vlcwidget.py +154 -0
  175. data/vendor/mplayer_patches/how_to_doze.bat +6 -0
  176. data/vendor/mplayer_patches/port_dir/PortIndex.quick +2 -0
  177. data/vendor/mplayer_patches/port_dir/how_to +20 -0
  178. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/Portfile +285 -0
  179. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/configure.x11.patch +20 -0
  180. data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/llvm-gcc-workaround.patch +11 -0
  181. data/vendor/mplayer_patches/port_dir/multimedia/rdp-projects/Portfile +43 -0
  182. data/vendor/mplayer_patches/port_dir_is_for_mac +0 -0
  183. data/www/content_editor.html +92 -0
  184. data/www/index.html +47 -0
  185. data/www/upconverting_movie_player.html +62 -0
  186. data/www/video reel.jpg +0 -0
  187. data/www/youtube_edl/.htaccess +44 -0
  188. data/www/youtube_edl/control_youtube.rhtml +141 -0
  189. data/www/youtube_edl/dispatch.fcgi +25 -0
  190. data/www/youtube_edl/render_edited.rb +25 -0
  191. data/www/youtube_edl/server_this_dir.rb +6 -0
  192. data/www/youtube_edl/todo +23 -0
  193. data/www/zoomplayer_max.png +0 -0
  194. data/zamples/edit_decision_lists/dvds/Harry Potter 2 chamber of secrets.txt +22 -0
  195. data/zamples/edit_decision_lists/dvds/aa_example_delete_list_that_has_no_cuts_in_it.txt +10 -0
  196. data/zamples/edit_decision_lists/dvds/aladdin.txt +30 -0
  197. data/zamples/edit_decision_lists/dvds/bambi.txt +17 -0
  198. data/zamples/edit_decision_lists/dvds/big_buck_bunny_dvd.txt +23 -0
  199. data/zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt +10 -0
  200. data/zamples/edit_decision_lists/dvds/bobs_big_plan.txt +10 -0
  201. data/zamples/edit_decision_lists/dvds/cars_2.txt +26 -0
  202. data/zamples/edit_decision_lists/dvds/cars_disney.txt +40 -0
  203. data/zamples/edit_decision_lists/dvds/condor_man_widescreen.txt +22 -0
  204. data/zamples/edit_decision_lists/dvds/cool runnings.txt +53 -0
  205. data/zamples/edit_decision_lists/dvds/court_jester.txt +24 -0
  206. data/zamples/edit_decision_lists/dvds/edls_being_edited/amazing_grace.txt +49 -0
  207. data/zamples/edit_decision_lists/dvds/edls_being_edited/father_goose.txt +41 -0
  208. data/zamples/edit_decision_lists/dvds/edls_being_edited/harry_potter_and_the_goblet_of_fire.txt +45 -0
  209. data/zamples/edit_decision_lists/dvds/edls_being_edited/hugo.txt +31 -0
  210. data/zamples/edit_decision_lists/dvds/edls_being_edited/making_marriage_work.txt +15 -0
  211. data/zamples/edit_decision_lists/dvds/edls_being_edited/national_treasure.txt +26 -0
  212. data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief.txt +40 -0
  213. data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief_mute_scary.txt +23 -0
  214. data/zamples/edit_decision_lists/dvds/edls_being_edited/prince_of_egypt.txt +28 -0
  215. data/zamples/edit_decision_lists/dvds/edls_being_edited/puss_in_boots.txt +33 -0
  216. data/zamples/edit_decision_lists/dvds/edls_being_edited/ratatouille.txt +35 -0
  217. data/zamples/edit_decision_lists/dvds/edls_being_edited/rio.txt +24 -0
  218. data/zamples/edit_decision_lists/dvds/edls_being_edited/test_delete_list_for_experimenting_with.txt +10 -0
  219. data/zamples/edit_decision_lists/dvds/edls_being_edited/the_explorers.txt +49 -0
  220. data/zamples/edit_decision_lists/dvds/finding_neverland.txt +32 -0
  221. data/zamples/edit_decision_lists/dvds/flight_of_the_navigator.txt +40 -0
  222. data/zamples/edit_decision_lists/dvds/happiest baby on the block.txt +9 -0
  223. data/zamples/edit_decision_lists/dvds/harry_potter_3_prisoner_of_azkaban.txt +37 -0
  224. data/zamples/edit_decision_lists/dvds/hitchhiker's_guide_to_the_galaxy.txt +32 -0
  225. data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
  226. data/zamples/edit_decision_lists/dvds/if_a_man_answers.txt +43 -0
  227. data/zamples/edit_decision_lists/dvds/innerspace.txt +77 -0
  228. data/zamples/edit_decision_lists/dvds/iq.txt +32 -0
  229. data/zamples/edit_decision_lists/dvds/king_of_kings.txt +28 -0
  230. data/zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt +17 -0
  231. data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +18 -0
  232. data/zamples/edit_decision_lists/dvds/monsters_vs_aliens.txt +41 -0
  233. data/zamples/edit_decision_lists/dvds/muppet_treasure_island.txt +21 -0
  234. data/zamples/edit_decision_lists/dvds/nanny_mcphee.txt +31 -0
  235. data/zamples/edit_decision_lists/dvds/narnia_voyage_of_the_dawn_treader.txt +16 -0
  236. data/zamples/edit_decision_lists/dvds/pack_jackson_wedding_2007-03-03.txt +31 -0
  237. data/zamples/edit_decision_lists/dvds/peter_pan.txt +29 -0
  238. data/zamples/edit_decision_lists/dvds/remember_the_titans.txt +35 -0
  239. data/zamples/edit_decision_lists/dvds/sintel_open_source_blender_ntsc_dvd.txt +22 -0
  240. data/zamples/edit_decision_lists/dvds/snow_white_and_the_7_dwarfs_1937.txt +19 -0
  241. data/zamples/edit_decision_lists/dvds/speed_racer.txt +47 -0
  242. data/zamples/edit_decision_lists/dvds/tangled.txt +21 -0
  243. data/zamples/edit_decision_lists/dvds/tron_legacy.txt +29 -0
  244. data/zamples/edit_decision_lists/dvds/turn_around_alma_younger.txt +17 -0
  245. data/zamples/edit_decision_lists/files/conference_music_video.txt +10 -0
  246. data/zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt +13 -0
  247. data/zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt +1 -0
  248. data/zamples/edit_decision_lists/netflix_instant/greatest_story_ever_told_netflix.txt +10 -0
  249. data/zamples/edit_decision_lists/netflix_instant/wrinkle-in-time.txt +23 -0
  250. data/zamples/edit_decision_lists/notes_on_movies_without_edls_yet/tron.txt +10 -0
  251. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/White Christmas.txt +15 -0
  252. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/all_dogs_go_to_heaven.txt +9 -0
  253. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/cars_disney.txt +24 -0
  254. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/happy_feet.txt +12 -0
  255. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/labyrinth.txt +17 -0
  256. data/zamples/edit_decision_lists/old_not_yet_updated/dvds/star_trek_generations_hulu.txt +8 -0
  257. data/zamples/edit_decision_lists/old_not_yet_updated/example_edit_decision_list.txt +14 -0
  258. data/zamples/edit_decision_lists/old_not_yet_updated/youtube/gummy_bear_song_youtube.txt +9 -0
  259. data/zamples/edit_decision_lists/youtube/demo_mutes.txt +12 -0
  260. data/zamples/edit_decision_lists/youtube/nuki_song_youtube.txt +14 -0
  261. data/zamples/edit_decision_lists/youtube/nuki_song_youtube_pointer.txt +3 -0
  262. data/zamples/players/how_to_create_more_players.txt +24 -0
  263. data/zamples/players/hulu/total_length_over_an_hour.txt +25 -0
  264. data/zamples/players/netflix/netflix_firefox_non_maximized.txt +25 -0
  265. data/zamples/players/vlc/full_screened_total_length_over_an_hour.txt +27 -0
  266. data/zamples/players/vlc/windowed_total_length_over_an_hour.txt +26 -0
  267. data/zamples/players/vlc/windowed_total_length_under_an_hour.txt +22 -0
  268. data/zamples/players/youtube/full_screened_1024x768.txt +20 -0
  269. data/zamples/players/youtube/full_screened_1152x864.txt +20 -0
  270. data/zamples/players/youtube/full_screened_1680x1050.txt +20 -0
  271. data/zamples/players/youtube/normal_in_youtube.com.chrome.txt +23 -0
  272. data/zamples/players/youtube/note_these_assume_less_than_10_minutes_length.txt +2 -0
  273. metadata +483 -0
@@ -0,0 +1,154 @@
1
+ #! /usr/bin/python
2
+
3
+ """VLC Widget classes.
4
+
5
+ This module provides two helper classes, to ease the embedding of a
6
+ VLC component inside a pygtk application.
7
+
8
+ VLCWidget is a simple VLC widget.
9
+
10
+ DecoratedVLCWidget provides simple player controls.
11
+
12
+ $Id$
13
+ """
14
+
15
+ import gtk
16
+ import sys
17
+ import vlc
18
+
19
+ from gettext import gettext as _
20
+
21
+ # Create a single vlc.Instance() to be share by (possible) multiple players.
22
+ instance=vlc.Instance()
23
+
24
+ class VLCWidget(gtk.DrawingArea):
25
+ """Simple VLC widget.
26
+
27
+ Its player can be controlled through the 'player' attribute, which
28
+ is a vlc.MediaPlayer() instance.
29
+ """
30
+ def __init__(self, *p):
31
+ gtk.DrawingArea.__init__(self)
32
+ self.player=instance.media_player_new()
33
+ def handle_embed(*args):
34
+ if sys.platform == 'win32':
35
+ self.player.set_hwnd(self.window.handle)
36
+ else:
37
+ self.player.set_xwindow(self.window.xid)
38
+ return True
39
+ self.connect("map-event", handle_embed)
40
+ self.set_size_request(320, 200)
41
+
42
+ class DecoratedVLCWidget(gtk.VBox):
43
+ """Decorated VLC widget.
44
+
45
+ VLC widget decorated with a player control toolbar.
46
+
47
+ Its player can be controlled through the 'player' attribute, which
48
+ is a MediaControl instance.
49
+ """
50
+ def __init__(self, *p):
51
+ gtk.VBox.__init__(self)
52
+ self._vlc_widget=VLCWidget(*p)
53
+ self.player=self._vlc_widget.player
54
+ self.pack_start(self._vlc_widget, expand=True)
55
+ self._toolbar = self.get_player_control_toolbar()
56
+ self.pack_start(self._toolbar, expand=False)
57
+
58
+ def get_player_control_toolbar(self):
59
+ """Return a player control toolbar
60
+ """
61
+ tb=gtk.Toolbar()
62
+ tb.set_style(gtk.TOOLBAR_ICONS)
63
+
64
+ tb_list = (
65
+ (_("Play"), _("Play"), gtk.STOCK_MEDIA_PLAY, lambda b: self.player.play()),
66
+ (_("Pause"), _("Pause"), gtk.STOCK_MEDIA_PAUSE, lambda b: self.player.pause()),
67
+ (_("Stop"), _("Stop"), gtk.STOCK_MEDIA_STOP, lambda b: self.player.stop()),
68
+ (_("Quit"), _("Quit"), gtk.STOCK_QUIT, lambda b: gtk.main_quit()),
69
+ )
70
+
71
+ for text, tooltip, stock, callback in tb_list:
72
+ b=gtk.ToolButton(stock)
73
+ b.connect("clicked", callback)
74
+ tb.insert(b, -1)
75
+ tb.show_all()
76
+ return tb
77
+
78
+ class VideoPlayer:
79
+ """Example simple video player.
80
+ """
81
+ def __init__(self):
82
+ self.vlc = DecoratedVLCWidget()
83
+
84
+ def main(self, fname):
85
+ self.vlc.player.set_media(instance.media_new(fname))
86
+ self.popup()
87
+ gtk.main()
88
+
89
+ def popup(self):
90
+ w=gtk.Window()
91
+ w.add(self.vlc)
92
+ w.show_all()
93
+ w.connect("destroy", gtk.main_quit)
94
+ return w
95
+
96
+ class MultiVideoPlayer:
97
+ """Example multi-video player.
98
+
99
+ It plays multiple files side-by-side, with per-view and global controls.
100
+ """
101
+ def main(self, filenames):
102
+ # Build main window
103
+ window=gtk.Window()
104
+ mainbox=gtk.VBox()
105
+ videos=gtk.HBox()
106
+
107
+ window.add(mainbox)
108
+ mainbox.add(videos)
109
+
110
+ # Create VLC widgets
111
+ for fname in filenames:
112
+ v=DecoratedVLCWidget()
113
+ v.player.set_media(instance.media_new(fname))
114
+ videos.add(v)
115
+
116
+ # Create global toolbar
117
+ tb=gtk.Toolbar()
118
+ tb.set_style(gtk.TOOLBAR_ICONS)
119
+
120
+ def execute(b, methodname):
121
+ """Execute the given method on all VLC widgets.
122
+ """
123
+ for v in videos.get_children():
124
+ getattr(v.player, methodname)()
125
+ return True
126
+
127
+ for text, tooltip, stock, callback, arg in (
128
+ (_("Play"), _("Play"), gtk.STOCK_MEDIA_PLAY, execute, "play"),
129
+ (_("Pause"), _("Pause"), gtk.STOCK_MEDIA_PAUSE, execute, "pause"),
130
+ (_("Stop"), _("Stop"), gtk.STOCK_MEDIA_STOP, execute, "stop"),
131
+ (_("Quit"), _("Quit"), gtk.STOCK_QUIT, lambda b, d: gtk.main_quit(), None),
132
+ ):
133
+ b=gtk.ToolButton(stock)
134
+ b.connect("clicked", callback, arg)
135
+ tb.insert(b, -1)
136
+
137
+ mainbox.pack_start(tb, expand=False)
138
+
139
+ window.show_all()
140
+ window.connect("destroy", gtk.main_quit)
141
+ gtk.main()
142
+
143
+ if __name__ == '__main__':
144
+ if not sys.argv[1:]:
145
+ print "You must provide at least 1 movie filename"
146
+ sys.exit(1)
147
+ if len(sys.argv[1:]) == 1:
148
+ # Only 1 file. Simple interface
149
+ p=VideoPlayer()
150
+ p.main(sys.argv[1])
151
+ else:
152
+ # Multiple files.
153
+ p=MultiVideoPlayer()
154
+ p.main(sys.argv[1:])
@@ -0,0 +1,6 @@
1
+ git clone https://rdp@github.com/rdp/mplayer-svn.git # with submodules :P
2
+
3
+
4
+ @rem --enable-iconv --enable-freetype --enable-static --enable-fontconfig --enable-runtime-cpudetection --enable-debug --no-mencoder # windows only no mencoder uh guess
5
+
6
+ then edit config.mak -lexpat -lfontconfig
@@ -0,0 +1,2 @@
1
+ mplayer-edl 0
2
+ rdp-projects 1108
@@ -0,0 +1,20 @@
1
+ howto:
2
+
3
+ add
4
+ file:///Users/rogerdpack/sensible-cinema/vendor/mplayer_patches/port_dir
5
+ to
6
+ /opt/rdp_project_local/etc/macports/sources.conf
7
+ # ref: http://guide.macports.org/#development.local-repositories
8
+
9
+ $ portindex # within there somewhere
10
+
11
+ this basically collides with mplayer, I guess [without any way around that?] so you cannot install this and any other mplayer port
12
+
13
+ $ export PATH=/opt/rdp_project_local/bin:$PATH
14
+ $ sudo port -kd install mplayer-edl
15
+ $ port mdmg rdp-projects
16
+
17
+ # and distribute to https://sourceforge.net/projects/mplayer-edl/files/mac-dependencies/
18
+
19
+ # to build home macports: ./configure --prefix=/opt/rdp_project_local --with-applications-dir=/Applications/rdp_projects
20
+
@@ -0,0 +1,285 @@
1
+ # $Id: Portfile 86914 2011-11-07 02:04:09Z ecronin@macports.org $
2
+
3
+
4
+ # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
5
+
6
+ PortSystem 1.0
7
+
8
+ name mplayer-edl
9
+ version 0
10
+ revision 4
11
+ categories multimedia
12
+ maintainers rdp
13
+ platforms darwin
14
+ license GPL-2
15
+
16
+ description The MPlayer movie player built from SVN, with EDL luv.
17
+ long_description ${description} It plays most MPEG/VOB, AVI, Ogg/OGM, \
18
+ VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, \
19
+ NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, \
20
+ supported by many native, XAnim, and Win32 DLL codecs. \
21
+ You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5, WMV \
22
+ and even H.264 movies.
23
+ homepage http://www.mplayerhq.hu/
24
+
25
+ livecheck.type none
26
+
27
+ depends_build port:pkgconfig port:yasm
28
+ depends_lib \
29
+ port:jpeg port:openjpeg port:lame port:libiconv port:libmad \
30
+ port:libogg port:libpng port:libtheora port:libvorbis \
31
+ port:lzo2 port:ncurses port:zlib port:bzip2 port:liboil \
32
+ port:libdca port:faad2
33
+
34
+ if {![variant_isset minimal]} {
35
+ default_variants +osd
36
+ }
37
+
38
+ fetch.type git
39
+ git.url https://github.com/rdp/mplayer-svn.git
40
+
41
+ post-fetch {
42
+ system "cd ${worksrcpath} && git submodule init && git submodule update"
43
+ }
44
+
45
+ # Do not use the following environment variables, otherwise the build phase
46
+ # will fail.
47
+ configure.cflags {}
48
+ configure.cppflags {}
49
+ configure.cxxflags {}
50
+ configure.ldflags {}
51
+ configure.cc_archflags {}
52
+ configure.cxx_archflags {}
53
+
54
+ # Do not use pipes, otherwise the build phase will fail.
55
+ configure.pipe no
56
+
57
+ configure.args \
58
+ --extra-cflags="-I${prefix}/include/lzo -I${prefix}/include" \
59
+ --extra-ldflags="-L${prefix}/lib -L${prefix}/lib/samba3" \
60
+ --datadir=${prefix}/share/${name} \
61
+ --confdir=${prefix}/etc/${name} \
62
+ --mandir=${prefix}/share/man \
63
+ --enable-png --enable-jpeg --enable-liblzo \
64
+ --enable-theora --enable-libvorbis --enable-mad
65
+
66
+ # MPlayer autodetects many support libs. To prevent undeclared
67
+ # dependencies, explicitly disable everything optional first.
68
+ # Later, let autodetect do its magic not explicit --enable
69
+ configure.args-append \
70
+ --disable-smb --disable-live \
71
+ --disable-dvdread --disable-cdparanoia --disable-freetype \
72
+ --disable-fontconfig --disable-fribidi \
73
+ --disable-enca --disable-libcdio --disable-xvid \
74
+ --disable-x264 --disable-speex \
75
+ --disable-faac --disable-libdv \
76
+ --disable-toolame --disable-twolame --disable-xmms \
77
+ --disable-musepack --disable-sdl --disable-aa \
78
+ --disable-caca --disable-x11 --disable-gl --disable-arts \
79
+ --disable-esd --disable-lirc --disable-mng --disable-libdirac-lavc \
80
+ --disable-libschroedinger-lavc --disable-liba52 \
81
+ --disable-gif
82
+
83
+ patchfiles configure.x11.patch
84
+
85
+ post-destroot {
86
+ xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
87
+ eval file copy [glob ${worksrcpath}/DOCS/*] \
88
+ ${destroot}${prefix}/share/doc/${name}
89
+ xinstall -d -m 0755 ${destroot}${prefix}/etc/${name}
90
+ foreach etcfile {codecs.conf dvb-menu.conf example.conf \
91
+ input.conf menu.conf} {
92
+ xinstall -m 0644 ${worksrcpath}/etc/${etcfile} \
93
+ ${destroot}${prefix}/etc/${name}/${etcfile}
94
+ }
95
+ xinstall -d -m 0755 ${destroot}${prefix}/share/man/man1
96
+ xinstall -m 0644 ${worksrcpath}/DOCS/man/en/mplayer.1 \
97
+ ${destroot}${prefix}/share/man/man1/
98
+ xinstall -m 0755 ${worksrcpath}/TOOLS/midentify.sh ${destroot}${prefix}/bin/midentify
99
+ }
100
+
101
+ universal_variant yes
102
+
103
+ variant man_all_lang \
104
+ description {Install all possible languages for man pages} {
105
+ configure.args-append --language=all
106
+ }
107
+
108
+ # Bundle all the font deps into one onscreen display variant
109
+ # Allow autodetect to pick up fontconfig & freetype
110
+ variant osd \
111
+ description {Enable onscreen display and TrueType font support} {
112
+ depends_lib-append port:fontconfig port:freetype
113
+ configure.args-delete --disable-fontconfig
114
+ configure.args-delete --disable-freetype
115
+ configure.args-append --enable-menu
116
+ }
117
+
118
+ variant fribidi requires osd \
119
+ description {Enable FriBidi Unicode support} {
120
+ depends_lib-append port:fribidi
121
+ configure.args-delete --disable-fribidi
122
+ }
123
+
124
+ variant noappleremote \
125
+ description {Disable Apple Infrared Remote support} {
126
+ configure.args-append --disable-apple-remote
127
+ }
128
+
129
+ variant lirc \
130
+ description {Enable Linux Infrared Remote Daemon support} {
131
+ depends_lib-append port:lirc
132
+ configure.args-delete --disable-lirc
133
+ }
134
+
135
+ variant live \
136
+ description {Enable live555 support} {
137
+ depends_lib-append port:live555
138
+ configure.args-delete --disable-live
139
+ }
140
+
141
+ #####
142
+
143
+ variant nodvd \
144
+ description {Disable DVD and DeCSS support} {
145
+ configure.args-append --disable-dvdread-internal --disable-libdvdcss-internal
146
+ }
147
+
148
+ variant samba description {Enable Samba support} {
149
+ depends_lib-append port:samba3
150
+ configure.args-append --enable-smb
151
+ configure.args-delete --disable-smb
152
+ }
153
+
154
+ ##### External codecs
155
+
156
+ variant mencoder_extras \
157
+ description {Enable extra codecs for encoding (XviD, x264, aac, DV, MP2)} {
158
+
159
+ depends_lib-append port:XviD port:x264 port:faac port:libdv \
160
+ port:twolame
161
+ configure.args-delete --disable-xvid
162
+ configure.args-delete --disable-x264
163
+ configure.args-delete --disable-faac
164
+ configure.args-delete --disable-libdv
165
+ configure.args-delete --disable-twolame
166
+ }
167
+ variant xvid requires mencoder_extras \
168
+ description {deprecated: use +mencoder_extras instead} {}
169
+ variant x264 requires mencoder_extras \
170
+ description {deprecated: use +mencoder_extras instead} {}
171
+ variant faac requires mencoder_extras \
172
+ description {deprecated: use +mencoder_extras instead} {}
173
+ variant dv requires mencoder_extras \
174
+ description {deprecated: use +mencoder_extras instead} {}
175
+ variant twolame requires mencoder_extras \
176
+ description {deprecated: use +mencoder_extras instead} {}
177
+
178
+
179
+ variant speex \
180
+ description {Enable Speex playback} {
181
+ depends_lib-append path:lib/libspeex.dylib:speex
182
+ configure.args-delete --disable-speex
183
+ }
184
+
185
+ variant dts \
186
+ description {Enable non-passthrough DTS playback} {
187
+ depends_lib-append port:libdca
188
+ configure.args-delete --disable-libdts
189
+ }
190
+
191
+ variant mng \
192
+ description {Enable mng codec support} {
193
+ depends_lib-append port:libmng
194
+ configure.args-delete --disable-mng
195
+ }
196
+
197
+ variant dirac \
198
+ description {Enable dirac codec support} {
199
+ depends_lib-append port:dirac port:schroedinger
200
+ configure.args-delete --disable-libdirac-lavc
201
+ configure.args-delete --disable-libschroedinger-lavc
202
+ }
203
+
204
+ variant a52 \
205
+ description {Enable AC-3 codec support} {
206
+ depends_lib-append port:a52dec
207
+ configure.args-delete --disable-liba52
208
+ }
209
+
210
+ ##### Outputs
211
+
212
+ variant sdl \
213
+ description {Enable SDL video output} {
214
+ depends_lib-append path:lib/pkgconfig/sdl.pc:libsdl
215
+ configure.args-delete --disable-sdl
216
+ }
217
+
218
+ variant aa \
219
+ description {Enable animated ASCII art video output} {
220
+ depends_lib-append port:aalib
221
+ configure.args-delete --disable-aa
222
+ }
223
+
224
+ variant caca \
225
+ description {Enable animated ASCII art video output} {
226
+ depends_lib-append port:libcaca
227
+ configure.args-delete --disable-caca
228
+ }
229
+
230
+ variant x11 {
231
+ depends_lib-append \
232
+ port:xorg-libXinerama \
233
+ port:xorg-libXv \
234
+ port:xorg-libXxf86vm
235
+
236
+ configure.args-delete --disable-x11
237
+ configure.args-append --enable-x11 --enable-xv --enable-xinerama --enable-xshape
238
+ }
239
+
240
+ variant esd \
241
+ description {Enable EsounD audio output} {
242
+ depends_lib-append port:esound
243
+ configure.args-delete --disable-esd
244
+ }
245
+
246
+ platform macosx {
247
+ if { ${configure.build_arch} == "x86_64" } {
248
+ configure.args-append --disable-qtx
249
+ } else {
250
+ configure.args-append --enable-qtx
251
+ }
252
+ }
253
+
254
+ variant glx requires x11 description {Enable glx output support. Due to a bug in mplayer, this disables corevideo support} {
255
+ depends_lib-append port:mesa
256
+ configure.args-delete --disable-gl
257
+ configure.args-append --enable-gl --disable-corevideo
258
+ }
259
+
260
+ variant debug description {Compile with debugging symbols} {
261
+ configure.args-append --enable-debug=gdb3 --disable-altivec
262
+ }
263
+
264
+ platform darwin 9 {
265
+ configure.args-delete --extra-cflags="-I${prefix}/include/lzo -I${prefix}/include"
266
+ configure.args-append --extra-cflags="-fomit-frame-pointer -I${prefix}/include/lzo -I${prefix}/include"
267
+ }
268
+
269
+ if {${configure.compiler} == "llvm-gcc-4.2"} {
270
+ # llvm-gcc-4.2 fails to build vf_fspp.c properly with -O2 and above
271
+ patchfiles-append llvm-gcc-workaround.patch
272
+
273
+ post-patch {
274
+ # link time optimization fails to find references for ff_mlp_firorder*
275
+ # For some reason -O4 -fno-lto doesn't work as well, so just use -O3
276
+ reinplace "s:-O4:-O3:" ${worksrcpath}/configure
277
+ }
278
+ }
279
+
280
+ platform darwin {
281
+ if { ${configure.build_arch} == "x86_64" } {
282
+ configure.args-append --target=${configure.build_arch}-Darwin
283
+ }
284
+ build.env LD=${configure.cc}
285
+ }