content-editing-movie-player 0.38.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/.rvmrc +1 -0
- data/LICENSE.TXT +20 -0
- data/README.TXT +225 -0
- data/Rakefile +206 -0
- data/TODO +740 -0
- data/VERSION +1 -0
- data/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
- data/bin/sensible-cinema +60 -0
- data/bin/sensible-cinema-cli +161 -0
- data/business_ideas.txt +21 -0
- data/change_log_with_feature_list.txt +952 -0
- data/documentation/DOCUMENTATION_README.TXT +44 -0
- data/documentation/how_to_get_files_from_dvd.txt +30 -0
- data/documentation/is_it_legal_to_copy_dvds.txt +97 -0
- data/documentation/troubleshooting.txt +30 -0
- data/documentation/upconversion.txt +4 -0
- data/experimental_online_player_ocr_readme.txt +45 -0
- data/go +1 -0
- data/go.bat +2 -0
- data/go.sh +1 -0
- data/go_ocr_tracker.bat +1 -0
- data/goc +1 -0
- data/goc.bat +1 -0
- data/goc.sh +1 -0
- data/gpl-2.0.txt +339 -0
- data/gplv3.txt +219 -0
- data/history_and_related_works_list.txt +108 -0
- data/inventionzy_files/cone.png +0 -0
- data/inventionzy_files/md5s.txt +53 -0
- data/inventionzy_files/play_with_inserted_scene.bat +8 -0
- data/inventionzy_files/play_with_overlay.bat +24 -0
- data/inventionzy_files/transcript_mute_vlc.txt +117 -0
- data/legal_draft +23 -0
- data/lib/add_any_bundled_gems_to_load_path.rb +32 -0
- data/lib/auto_window_finder.rb +41 -0
- data/lib/blanker.rb +104 -0
- data/lib/check_installed_mac.rb +34 -0
- data/lib/convert_thirty_fps.rb +20 -0
- data/lib/edl_parser.rb +387 -0
- data/lib/eight_three.rb +28 -0
- data/lib/extract/dumpstream.bat +1 -0
- data/lib/extract/get_init.bat +3 -0
- data/lib/extract/pause_early.rb +13 -0
- data/lib/fake_blanker.rb +35 -0
- data/lib/frame_accurate.rb +3 -0
- data/lib/gui/base.rb +748 -0
- data/lib/gui/create-file.rb +24 -0
- data/lib/gui/create.rb +581 -0
- data/lib/gui/dependencies.rb +219 -0
- data/lib/gui/normal.rb +123 -0
- data/lib/gui/upconvert.rb +284 -0
- data/lib/keyboard_input.rb +60 -0
- data/lib/media_info_parser.rb +27 -0
- data/lib/mouse_forever.rb +19 -0
- data/lib/movie_hasher.rb +27 -0
- data/lib/mplayer_edl.rb +42 -0
- data/lib/muter.rb +87 -0
- data/lib/ocr.rb +125 -0
- data/lib/ocr_seed/netflix_b9.bmp +0 -0
- data/lib/overlayer.rb +373 -0
- data/lib/screen_tracker.rb +269 -0
- data/lib/subtitle_profanity_finder.rb +294 -0
- data/lib/vlc_programmer.rb +112 -0
- data/lib/zoom_player_max_edl.rb +50 -0
- data/never_do +40 -0
- data/notes_for_potential_developers.txt +46 -0
- data/preamble +17 -0
- data/roadmap_possibilities +12 -0
- data/spec/arse.srt +41 -0
- data/spec/auto_window_finder.spec.rb +65 -0
- data/spec/bad_beginning.srt +3778 -0
- data/spec/blanker.spec.rb +60 -0
- data/spec/common.rb +81 -0
- data/spec/convert_image.rb +25 -0
- data/spec/deity_end.srt +11 -0
- data/spec/dragon.srt +34 -0
- data/spec/edl_parser.spec.rb +270 -0
- data/spec/frame_accurate.spec.rb +71 -0
- data/spec/keyboard_input.spec.rb +73 -0
- data/spec/media_info_parser.spec.rb +29 -0
- data/spec/mplayer_edl.spec.rb +100 -0
- data/spec/muter.spec.rb +50 -0
- data/spec/notes +4996 -0
- data/spec/ocr.spec.rb +119 -0
- data/spec/overlayer.spec.rb +440 -0
- data/spec/screen_tracker.spec.rb +318 -0
- data/spec/sensible_cinema_gui.spec.rb +452 -0
- data/spec/subtitle_profanity_finder.spec.rb +224 -0
- data/spec/test_yaml.yml +4 -0
- data/spec/tsmuxer.output +33 -0
- data/spec/vlc_programmer.spec.rb +124 -0
- data/spec/youtube_edl.spec.rb +28 -0
- data/spec/zoom_player_max_edl.spec.rb +29 -0
- data/template_bats/README_DISTRO.TXT +8 -0
- data/template_bats/RUN SENSIBLE CINEMA CLICK HERE WINDOWS.bat +25 -0
- data/template_bats/_DO_NOT_RUN_IT_FROM_HERE_DOWNLOAD_THE_RELEASE_ZIP_FROM_SOURCEFORGE_INSTEAD +0 -0
- data/template_bats/mac/RUN SENSIBLE CINEMA CLICK HERE.command +5 -0
- data/template_bats/mac/advanced--create or edit sensible cinema edit list files.command +3 -0
- data/template_bats/mac/advanced--run-upconverting-video-player.command +3 -0
- data/template_bats/pc/advanced--create or edit sensible cinema edit list files.bat +2 -0
- data/template_bats/pc/advanced--run-upconverting-video-player.bat +2 -0
- data/todo.build_library.txt +11 -0
- data/todo.inventionzy.txt +162 -0
- data/todo.open_edl_list_org.txt +169 -0
- data/todo.propaganda +107 -0
- data/todo.subtitle +17 -0
- data/todo.upconvert +53 -0
- data/upconvert.bat +1 -0
- data/upconvert_from_screen/go_upscaling.bat +12 -0
- data/upconvert_from_screen/go_upscaling_works +0 -0
- data/upconvert_from_screen/old/latest2/combine_video.avs +23 -0
- data/upconvert_from_screen/old/latest2/go_no_upscaling.bat +1 -0
- data/upconvert_from_screen/old/latest2/go_upscaling.bat +12 -0
- data/upconvert_from_screen/old/latest2/push2.GRF +0 -0
- data/upconvert_from_screen/old/latest2/push3.grf +0 -0
- data/upconvert_from_screen/old/latest2/setup_capture_coords.rb +27 -0
- data/upconvert_from_screen/old/latest2/setup_directshow_filter_params.rb +29 -0
- data/upconvert_from_screen/old/latest2/upconvert_from_screen_me2.avs +19 -0
- data/upconvert_from_screen/old/latest_now_possibly_oudated/push2.GRF +0 -0
- data/upconvert_from_screen/old/latest_now_possibly_oudated/upconvert_from_screen_me2.avs +18 -0
- data/upconvert_from_screen/old/position_window.png +0 -0
- data/upconvert_from_screen/old/push_source_desktop.GRF +0 -0
- data/upconvert_from_screen/old/record_screen/record.bat +2 -0
- data/upconvert_from_screen/old/upconvert_from_screen.avs +21 -0
- data/upconvert_from_screen/old/upconvert_from_screen_me.avs +21 -0
- data/upconvert_from_screen/old/upconvert_from_screen_me2.avs +3 -0
- data/upconvert_from_screen/old/upconvert_from_screen_me_push_source.avs +3 -0
- data/upconvert_from_screen/old/uscreen.GRF +0 -0
- data/upconvert_from_screen/old/uscreen_me.GRF +0 -0
- data/upconvert_from_screen/push3.grf +0 -0
- data/upconvert_from_screen/upconvert_from_screen_me2.avs +19 -0
- data/vendor/movie-content-editor-read-only/.metadata/.lock +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.mylyn/.tasks.xml.zip +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.mylyn/repositories.xml.zip +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.mylyn/tasks.xml.zip +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +1 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +1 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +3 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +14 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +3 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +5 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +3 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat +0 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +2 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +2 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +10 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +11 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml +4 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +10 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml +232 -0
- data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +4 -0
- data/vendor/movie-content-editor-read-only/.metadata/version.ini +1 -0
- data/vendor/movie-content-editor-read-only/.project +17 -0
- data/vendor/movie-content-editor-read-only/.pydevproject +11 -0
- data/vendor/movie-content-editor-read-only/.settings/org.eclipse.core.resources.prefs +6 -0
- data/vendor/movie-content-editor-read-only/SubIt.py +171 -0
- data/vendor/movie-content-editor-read-only/VLCMacVideo.py +257 -0
- data/vendor/movie-content-editor-read-only/VideoMac.ui +102 -0
- data/vendor/movie-content-editor-read-only/badwords.txt +4 -0
- data/vendor/movie-content-editor-read-only/blank.srt +4 -0
- data/vendor/movie-content-editor-read-only/edit.py +197 -0
- data/vendor/movie-content-editor-read-only/mergeCommands.py +73 -0
- data/vendor/movie-content-editor-read-only/mute.txt +5 -0
- data/vendor/movie-content-editor-read-only/panda.srt +4235 -0
- data/vendor/movie-content-editor-read-only/panda_custom.txt +3 -0
- data/vendor/movie-content-editor-read-only/panda_edit.srt +4235 -0
- data/vendor/movie-content-editor-read-only/subtitle.py +90 -0
- data/vendor/movie-content-editor-read-only/vlc.py +5579 -0
- data/vendor/movie-content-editor-read-only/vlcwidget.py +154 -0
- data/vendor/mplayer_patches/how_to_doze.bat +6 -0
- data/vendor/mplayer_patches/port_dir/PortIndex.quick +2 -0
- data/vendor/mplayer_patches/port_dir/how_to +20 -0
- data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/Portfile +285 -0
- data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/configure.x11.patch +20 -0
- data/vendor/mplayer_patches/port_dir/multimedia/mplayer-edl/files/llvm-gcc-workaround.patch +11 -0
- data/vendor/mplayer_patches/port_dir/multimedia/rdp-projects/Portfile +43 -0
- data/vendor/mplayer_patches/port_dir_is_for_mac +0 -0
- data/www/content_editor.html +92 -0
- data/www/index.html +47 -0
- data/www/upconverting_movie_player.html +62 -0
- data/www/video reel.jpg +0 -0
- data/www/youtube_edl/.htaccess +44 -0
- data/www/youtube_edl/control_youtube.rhtml +141 -0
- data/www/youtube_edl/dispatch.fcgi +25 -0
- data/www/youtube_edl/render_edited.rb +25 -0
- data/www/youtube_edl/server_this_dir.rb +6 -0
- data/www/youtube_edl/todo +23 -0
- data/www/zoomplayer_max.png +0 -0
- data/zamples/edit_decision_lists/dvds/Harry Potter 2 chamber of secrets.txt +22 -0
- data/zamples/edit_decision_lists/dvds/aa_example_delete_list_that_has_no_cuts_in_it.txt +10 -0
- data/zamples/edit_decision_lists/dvds/aladdin.txt +30 -0
- data/zamples/edit_decision_lists/dvds/bambi.txt +17 -0
- data/zamples/edit_decision_lists/dvds/big_buck_bunny_dvd.txt +23 -0
- data/zamples/edit_decision_lists/dvds/bob the builder pets in a pickle.txt +10 -0
- data/zamples/edit_decision_lists/dvds/bobs_big_plan.txt +10 -0
- data/zamples/edit_decision_lists/dvds/cars_2.txt +26 -0
- data/zamples/edit_decision_lists/dvds/cars_disney.txt +40 -0
- data/zamples/edit_decision_lists/dvds/condor_man_widescreen.txt +22 -0
- data/zamples/edit_decision_lists/dvds/cool runnings.txt +53 -0
- data/zamples/edit_decision_lists/dvds/court_jester.txt +24 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/amazing_grace.txt +49 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/father_goose.txt +41 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/harry_potter_and_the_goblet_of_fire.txt +45 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/hugo.txt +31 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/making_marriage_work.txt +15 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/national_treasure.txt +26 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief.txt +40 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/percy_jackson_lightening_thief_mute_scary.txt +23 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/prince_of_egypt.txt +28 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/puss_in_boots.txt +33 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/ratatouille.txt +35 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/rio.txt +24 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/test_delete_list_for_experimenting_with.txt +10 -0
- data/zamples/edit_decision_lists/dvds/edls_being_edited/the_explorers.txt +49 -0
- data/zamples/edit_decision_lists/dvds/finding_neverland.txt +32 -0
- data/zamples/edit_decision_lists/dvds/flight_of_the_navigator.txt +40 -0
- data/zamples/edit_decision_lists/dvds/happiest baby on the block.txt +9 -0
- data/zamples/edit_decision_lists/dvds/harry_potter_3_prisoner_of_azkaban.txt +37 -0
- data/zamples/edit_decision_lists/dvds/hitchhiker's_guide_to_the_galaxy.txt +32 -0
- data/zamples/edit_decision_lists/dvds/how_to_train_your_dragon.txt +25 -0
- data/zamples/edit_decision_lists/dvds/if_a_man_answers.txt +43 -0
- data/zamples/edit_decision_lists/dvds/innerspace.txt +77 -0
- data/zamples/edit_decision_lists/dvds/iq.txt +32 -0
- data/zamples/edit_decision_lists/dvds/king_of_kings.txt +28 -0
- data/zamples/edit_decision_lists/dvds/kung_fu_panda_1.txt +17 -0
- data/zamples/edit_decision_lists/dvds/legend_of_the_guardians_the_owls_of_gahoole.txt +18 -0
- data/zamples/edit_decision_lists/dvds/monsters_vs_aliens.txt +41 -0
- data/zamples/edit_decision_lists/dvds/muppet_treasure_island.txt +21 -0
- data/zamples/edit_decision_lists/dvds/nanny_mcphee.txt +31 -0
- data/zamples/edit_decision_lists/dvds/narnia_voyage_of_the_dawn_treader.txt +16 -0
- data/zamples/edit_decision_lists/dvds/pack_jackson_wedding_2007-03-03.txt +31 -0
- data/zamples/edit_decision_lists/dvds/peter_pan.txt +29 -0
- data/zamples/edit_decision_lists/dvds/remember_the_titans.txt +35 -0
- data/zamples/edit_decision_lists/dvds/sintel_open_source_blender_ntsc_dvd.txt +22 -0
- data/zamples/edit_decision_lists/dvds/snow_white_and_the_7_dwarfs_1937.txt +19 -0
- data/zamples/edit_decision_lists/dvds/speed_racer.txt +47 -0
- data/zamples/edit_decision_lists/dvds/tangled.txt +21 -0
- data/zamples/edit_decision_lists/dvds/tron_legacy.txt +29 -0
- data/zamples/edit_decision_lists/dvds/turn_around_alma_younger.txt +17 -0
- data/zamples/edit_decision_lists/files/conference_music_video.txt +10 -0
- data/zamples/edit_decision_lists/netflix_instant/avatar-last-air-bender-movie.txt +13 -0
- data/zamples/edit_decision_lists/netflix_instant/avatar-last-airbender-series.txt +1 -0
- data/zamples/edit_decision_lists/netflix_instant/greatest_story_ever_told_netflix.txt +10 -0
- data/zamples/edit_decision_lists/netflix_instant/wrinkle-in-time.txt +23 -0
- data/zamples/edit_decision_lists/notes_on_movies_without_edls_yet/tron.txt +10 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/White Christmas.txt +15 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/all_dogs_go_to_heaven.txt +9 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/cars_disney.txt +24 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/happy_feet.txt +12 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/labyrinth.txt +17 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/dvds/star_trek_generations_hulu.txt +8 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/example_edit_decision_list.txt +14 -0
- data/zamples/edit_decision_lists/old_not_yet_updated/youtube/gummy_bear_song_youtube.txt +9 -0
- data/zamples/edit_decision_lists/youtube/demo_mutes.txt +12 -0
- data/zamples/edit_decision_lists/youtube/nuki_song_youtube.txt +14 -0
- data/zamples/edit_decision_lists/youtube/nuki_song_youtube_pointer.txt +3 -0
- data/zamples/players/how_to_create_more_players.txt +24 -0
- data/zamples/players/hulu/total_length_over_an_hour.txt +25 -0
- data/zamples/players/netflix/netflix_firefox_non_maximized.txt +25 -0
- data/zamples/players/vlc/full_screened_total_length_over_an_hour.txt +27 -0
- data/zamples/players/vlc/windowed_total_length_over_an_hour.txt +26 -0
- data/zamples/players/vlc/windowed_total_length_under_an_hour.txt +22 -0
- data/zamples/players/youtube/full_screened_1024x768.txt +20 -0
- data/zamples/players/youtube/full_screened_1152x864.txt +20 -0
- data/zamples/players/youtube/full_screened_1680x1050.txt +20 -0
- data/zamples/players/youtube/normal_in_youtube.com.chrome.txt +23 -0
- data/zamples/players/youtube/note_these_assume_less_than_10_minutes_length.txt +2 -0
- 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,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
|
+
}
|