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,20 @@
|
|
1
|
+
--- configure.orig 2011-06-23 11:42:26.000000000 -0700
|
2
|
+
+++ configure 2011-06-23 13:34:17.000000000 -0700
|
3
|
+
@@ -4297,6 +4297,9 @@ echores "$_x11_headers"
|
4
|
+
|
5
|
+
|
6
|
+
echocheck "X11"
|
7
|
+
+if test "$_x11" = yes ; then
|
8
|
+
+ libs_mplayer="$libs_mplayer -lXext -lX11"
|
9
|
+
+fi
|
10
|
+
if test "$_x11" = auto && test "$_x11_headers" = yes ; then
|
11
|
+
for I in "" -L/usr/X11R7/lib -L/usr/local/lib -L/usr/X11R6/lib -L/usr/lib/X11R6 \
|
12
|
+
-L/usr/X11/lib -L/usr/lib32 -L/usr/openwin/lib -L/usr/local/lib64 -L/usr/X11R6/lib64 \
|
13
|
+
@@ -6777,6 +6780,7 @@ fi
|
14
|
+
if test "$_qtx" = yes ; then
|
15
|
+
def_qtx='#define CONFIG_QTX_CODECS 1'
|
16
|
+
win32 && _qtx_codecs_win32=yes && def_qtx_win32='#define CONFIG_QTX_CODECS_WIN32 1'
|
17
|
+
+ darwin && extra_ldflags="$extra_ldflags -framework Carbon -framework QuickTime" && def_quicktime='#define CONFIG_QUICKTIME 1'
|
18
|
+
codecmodules="qtx $codecmodules"
|
19
|
+
darwin || win32 || _qtx_emulation=yes
|
20
|
+
else
|
@@ -0,0 +1,11 @@
|
|
1
|
+
--- ffmpeg/libavutil/mem.h.orig 2011-06-24 12:09:36.000000000 -0700
|
2
|
+
+++ ffmpeg/libavutil/mem.h 2011-06-24 12:10:06.000000000 -0700
|
3
|
+
@@ -41,7 +41,7 @@
|
4
|
+
static const t __attribute__((aligned(n))) v
|
5
|
+
#elif defined(__GNUC__)
|
6
|
+
#define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
|
7
|
+
- #define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (n))) v
|
8
|
+
+ #define DECLARE_ASM_CONST(n,t,v) __private_extern__ const t av_used __attribute__ ((aligned (n))) v
|
9
|
+
#elif defined(_MSC_VER)
|
10
|
+
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
|
11
|
+
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
|
@@ -0,0 +1,43 @@
|
|
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 rdp-projects
|
9
|
+
version 0
|
10
|
+
revision 4
|
11
|
+
categories multimedia
|
12
|
+
maintainers rdp
|
13
|
+
platforms darwin
|
14
|
+
license GPL-2
|
15
|
+
|
16
|
+
description Sensible Cinema GPL'ed dependencies.
|
17
|
+
long_description ${description}
|
18
|
+
|
19
|
+
homepage http://rogerdpack.t28.net
|
20
|
+
|
21
|
+
livecheck.type none
|
22
|
+
|
23
|
+
depends_lib port:ffmpeg port:gocr port:ImageMagick port:mplayer-edl
|
24
|
+
|
25
|
+
worksrcdir trunk
|
26
|
+
|
27
|
+
# Do not use the following environment variables, otherwise the build phase
|
28
|
+
# will fail.
|
29
|
+
configure.cflags {}
|
30
|
+
configure.cppflags {}
|
31
|
+
configure.cxxflags {}
|
32
|
+
configure.ldflags {}
|
33
|
+
configure.cc_archflags {}
|
34
|
+
configure.cxx_archflags {}
|
35
|
+
|
36
|
+
# Do not use pipes, otherwise the build phase will fail.
|
37
|
+
configure.pipe no
|
38
|
+
fetch.type svn
|
39
|
+
fetch {
|
40
|
+
system "git clone https://github.com/rdp/blank_c_project ${worksrcpath}"
|
41
|
+
}
|
42
|
+
|
43
|
+
|
File without changes
|
@@ -0,0 +1,92 @@
|
|
1
|
+
<head>
|
2
|
+
|
3
|
+
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
|
4
|
+
|
5
|
+
<script type="text/javascript">
|
6
|
+
|
7
|
+
var _gaq = _gaq || [];
|
8
|
+
_gaq.push(['_setAccount', 'UA-4531218-5']);
|
9
|
+
_gaq.push(['_trackPageview']);
|
10
|
+
|
11
|
+
(function() {
|
12
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
13
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
14
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
15
|
+
})();
|
16
|
+
|
17
|
+
</script>
|
18
|
+
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<html>
|
23
|
+
<div style="float:right; margin-right: 50px; margin-left: 20px;">
|
24
|
+
<img src="source/vendor/profs.png" width=150 />
|
25
|
+
|
26
|
+
<h1>Clean Editing Movie Player</h1></div>
|
27
|
+
<pre>
|
28
|
+
The CEMP allows you watch edited movies by applying edit lists (EDL's -- edit decision lists)
|
29
|
+
(i.e. "mute out" or "cut out" questionable scenes) to DVD's or movie files.
|
30
|
+
|
31
|
+
A description and history/background of sensible-cinema can be found <a href="https://github.com/rdp/sensible-cinema/blob/master/README">here</a>.
|
32
|
+
Don't forget to come back to this page to download it, though (from the "Download" section, below).
|
33
|
+
|
34
|
+
<h2 style="margin: 0px;">Download</h2>
|
35
|
+
To download, please check the checkbox if you agree to the terms of the
|
36
|
+
license agreement (<a href="http://www.gnu.org/licenses/gpl.html">gplv3</a>) and wish to download and use sensible cinema.
|
37
|
+
|
38
|
+
<input type="checkbox" class="trigger" onClick="$('#comments').toggle();"/> I have read and agree to the license terms and conditions and wish to download.
|
39
|
+
|
40
|
+
<div id="comments" style="display:none; border-style:dotted; border-width:1px; border-color: #aaaaaa; padding: 5px;">
|
41
|
+
Please download the latest version of sensible cinema from <a href="https://sourceforge.net/projects/sensible-cinema/files/">sourceforge</a>.
|
42
|
+
<br/>
|
43
|
+
You can also see the <a href="source">source</a>.
|
44
|
+
<br/>
|
45
|
+
You can also see the what's new <a href="https://github.com/rdp/sensible-cinema/blob/master/change_log_with_feature_list.txt">ChangeLog</a>.
|
46
|
+
</div>
|
47
|
+
After download, unzip it. For windows users, that's like:
|
48
|
+
Reveal the file in explorer -> right click on the file -> Extract all -> Extract.
|
49
|
+
Now open the newly created sensible-cinema-x.x.x folder, and run the file "run sensible cinema.bat"
|
50
|
+
You will be initially prompted to accept the license agreement(s) and also install a few
|
51
|
+
(non included, separate ownership/distribution) dependencies.
|
52
|
+
Now insert a DVD you own, to see available options.
|
53
|
+
Note that you want to download from sourceforge (here) not from github.com (github is just the raw source).
|
54
|
+
There is more documentation <a href="https://github.com/rdp/sensible-cinema/wiki">here</a>.
|
55
|
+
|
56
|
+
<h3>Mac user prerequisites</h3>Mac users will need to install some <a href="https://sourceforge.net/projects/mplayer-edl/files/mac-dependencies/">mac dependencies</a> first.
|
57
|
+
|
58
|
+
Note that by installing these dependencies, you're accepting their respective licenses/distributions.
|
59
|
+
|
60
|
+
<h3>Available edited movie lists</h3>You can see the (small) current list of DVD edit lists (EDL's) already created
|
61
|
+
<a href="https://github.com/rdp/sensible-cinema/tree/master/zamples/edit_decision_lists/dvds">here</a>
|
62
|
+
(all of them created previously by volunteers like you, or myself).
|
63
|
+
If your movie is already there, then you might be ready to go. Use the one that's already there and give feedback on it when you're done.
|
64
|
+
|
65
|
+
If yours isn't there, then we'd ask you to help us by creating and submitting your own EDL (delete/cut list) for your DVD that doesn't have one yet,
|
66
|
+
see the <a href="https://github.com/rdp/sensible-cinema/wiki">documentation on the wiki</a> for instructions on creating
|
67
|
+
your own new delete list. <!-- this is actually a short line -->
|
68
|
+
Then run the file "advanced-edit or create sensible cinema delete list files.bat" to create and edit your new delete list.
|
69
|
+
CEM Player has a few buttons to help you there.
|
70
|
+
Don't forget to upload your new EDL file back to us when you're done, so others can benefit (see "contact", below).
|
71
|
+
|
72
|
+
That link is the full list--your help is wanted/needed to help us grow!
|
73
|
+
|
74
|
+
<h2 style="margin: 0px;">Other Resources/Contact/Support</h2>
|
75
|
+
Let me know via the <a href="http://groups.google.com/group/clean-editing-movie-player">google group</a> or <a href="mailto:clean-editing-movie-player@googlegroups.com">email</a> if you have feedback or have any other ideas/suggestions.
|
76
|
+
<h3>Source code</h3>Source code is all available <a href="http://github.com/rdp/sensible-cinema">here</a>.
|
77
|
+
Source code developers/contributors are welcome! See <a href="https://github.com/rdp/sensible-cinema/blob/master/notes_for_potential_developers.txt">here</a> for instructions.
|
78
|
+
For (non-techy or techy) contributions, write to the addresses above.
|
79
|
+
|
80
|
+
You can see the <a href="source/change_log_with_feature_list.txt">change log with feature list</a>.
|
81
|
+
|
82
|
+
You can get a list of DVD ISO's (creative commons licensed) <a href="releases/dvd_isos">here</a>,
|
83
|
+
if you want to try them out for experimenting/development/research etc.
|
84
|
+
|
85
|
+
Please click the license agreement checkbox at the top to see a list of some old releases (newer ones are found on sourceforge exclusively, old ones here).
|
86
|
+
<div id="comments2">You can find an old list of older releases, as well as the MS based C <a href="releases/c_player">DVD player</a> listed <a href="releases">in the archives</a>.
|
87
|
+
|
88
|
+
</div>
|
89
|
+
Compatible with <a href="http://www.inmatrix.com/">Zoom Player MAX<img src="zoomplayer_max.png" width=45/></a> and <a href="http://www.mplayerhq.hu">MPlayer</a> (and <a href="http://videolan.org">VLC Player</a> if desired, the source is included).
|
90
|
+
</pre>
|
91
|
+
</html>
|
92
|
+
</body>
|
data/www/index.html
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
<html>
|
2
|
+
|
3
|
+
<head>
|
4
|
+
<title>Clean Editing Movie Player</title>
|
5
|
+
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
|
6
|
+
|
7
|
+
<script type="text/javascript">
|
8
|
+
|
9
|
+
var _gaq = _gaq || [];
|
10
|
+
_gaq.push(['_setAccount', 'UA-4531218-5']);
|
11
|
+
_gaq.push(['_trackPageview']);
|
12
|
+
|
13
|
+
(function() {
|
14
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
15
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
16
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
17
|
+
})();
|
18
|
+
|
19
|
+
</script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
|
23
|
+
<body>
|
24
|
+
<h1 style="float: left;">Welcome to the clean Editing Movie Player (EMP)</h1>
|
25
|
+
<img src="video reel.jpg" height=200/>
|
26
|
+
|
27
|
+
<pre>
|
28
|
+
|
29
|
+
1) <a href="content_editor.html">Edited movie player</a>
|
30
|
+
A free video scene skipper/muter. The CEMP allows you watch edited movies by applying edit lists (EDL's)
|
31
|
+
to DVD's or movie files. i.e. "mute out" or "cut out" questionable scenes/content.
|
32
|
+
Click <a href="content_editor.html">here</a> for more detail.
|
33
|
+
|
34
|
+
2) Netflix Instant/online movie playing upconverter.
|
35
|
+
The CEMP can hopefully soon "upconvert" Netflix Instant movies as you watch them
|
36
|
+
to make them look even better than they already are (or hulu, or youtube, or whatever).
|
37
|
+
This is a work in progress but is somewhat close.
|
38
|
+
Ping me if you'd like to try it out. rogerdpack@gmail.com
|
39
|
+
|
40
|
+
Questions/feedback welcome: <a href="mailto:clean-editing-movie-player@googlegroups.com">email</a> or view the <a href="http://groups.google.com/group/clean-editing-movie-player">google group forum</a>.
|
41
|
+
|
42
|
+
This project released as open source under the <a href="http://www.gnu.org/copyleft/gpl.html">gplv3</a> license. Don't patent my ideas please! :)
|
43
|
+
|
44
|
+
</pre>
|
45
|
+
<!-- Also see my <a href="http://rogerdpack.t28.net">other projects</a>. when I have some ...-->
|
46
|
+
</body>
|
47
|
+
</html>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
|
4
|
+
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
|
5
|
+
|
6
|
+
<script type="text/javascript">
|
7
|
+
|
8
|
+
var _gaq = _gaq || [];
|
9
|
+
_gaq.push(['_setAccount', 'UA-4531218-5']);
|
10
|
+
_gaq.push(['_trackPageview']);
|
11
|
+
|
12
|
+
(function() {
|
13
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
14
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
15
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
16
|
+
})();
|
17
|
+
|
18
|
+
</script>
|
19
|
+
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
<h1>Upconverting Software DVD/Video/Online Player</h1>
|
23
|
+
<pre>
|
24
|
+
Sensible Cinema can playback your DVD's or Movie files (or even online players) in upscaled goodness. This means they look
|
25
|
+
awesome on higher resolution monitors and it really brings out the details in the movie.
|
26
|
+
|
27
|
+
You can use this to play it back in high-res on your monitor, or attach your computer to your projector
|
28
|
+
or TV to get back the equivalent of a hardware "DVD upscaler" playback, but for free, no extra
|
29
|
+
hardware necessary.
|
30
|
+
|
31
|
+
How:
|
32
|
+
|
33
|
+
1) installation: download the latest version from <a href="http://sourceforge.net/projects/sensible-cinema/files">http://sourceforge.net/projects/sensible-cinema/files</a>.
|
34
|
+
Note that you must accept the terms of the gplv3 in order to use this software.
|
35
|
+
2) unzip it
|
36
|
+
3) run "advanced--upconverter.bat" file
|
37
|
+
4) click setup upconverting options button, choose "DVD style playback"
|
38
|
+
5) close the setup window, insert DVD if desired, click "watch DVD upconverted (unedited)" button
|
39
|
+
|
40
|
+
to use the "online upconverting" you need to (be using windows and) install https://github.com/rdp/screen-capture-recorder-to-video-windows-free
|
41
|
+
then use its start menu -> Screen Capture Recorder -> configure -> configure by resizing a transparent window to "overlay" your player
|
42
|
+
in one monitor with it so that it will capture that.
|
43
|
+
Then run "advanced--upconverter"
|
44
|
+
Then click "watch upconverted online player" and drag your window to your other monitor and enjoy upconverted netflix instant/hulu etc.
|
45
|
+
|
46
|
+
Enjoy your film. Feedback welcome rogerdpack@gmail.com
|
47
|
+
|
48
|
+
How does it do this? It uses a high quality software upscaling algorithm (lanczos)
|
49
|
+
along with some denoise and sharpening filters, via ffmpeg/mplayer programs.
|
50
|
+
This is (arguably) better than some hardware DVD upscalers. It's still a work in progress
|
51
|
+
but seems to be working well. WE NEED HELP if you are a movie or image buff we could use
|
52
|
+
help tweaking upconvert parameters to find the best settings (though the default seem to work well).
|
53
|
+
|
54
|
+
Also note that you "can" get upconversion from other sources. You can tweak ffdshow + media player classic
|
55
|
+
to display with similar settings, or purchase/use PowerDVD which I think also does something like this.
|
56
|
+
This project aims to make the process easier :)
|
57
|
+
|
58
|
+
See also the various other things that sensible cinema does <a href="..">here</a>.
|
59
|
+
|
60
|
+
</pre>
|
61
|
+
</body>
|
62
|
+
</html>
|
data/www/video reel.jpg
ADDED
Binary file
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# General Apache options
|
2
|
+
AddHandler fcgid-script .fcgi
|
3
|
+
AddHandler cgi-script .cgi
|
4
|
+
# For security reasons, Option followsymlinks cannot be overridden.
|
5
|
+
#Options +FollowSymLinks +ExecCGI
|
6
|
+
Options +SymLinksIfOwnerMatch +ExecCGI
|
7
|
+
|
8
|
+
# If you don't want Rails to look in certain directories,
|
9
|
+
# use the following rewrite rules so that Apache won't rewrite certain requests
|
10
|
+
#
|
11
|
+
# Example:
|
12
|
+
# RewriteCond %{REQUEST_URI} ^/notrails.*
|
13
|
+
# RewriteRule .* - [L]
|
14
|
+
|
15
|
+
# Redirect all requests not available on the filesystem to Rails
|
16
|
+
# By default the cgi dispatcher is used which is very slow
|
17
|
+
#
|
18
|
+
# For better performance replace the dispatcher with the fastcgi one
|
19
|
+
#
|
20
|
+
# Example:
|
21
|
+
# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
|
22
|
+
RewriteEngine On
|
23
|
+
|
24
|
+
# If your Rails application is accessed via an Alias directive,
|
25
|
+
# then you MUST also set the RewriteBase in this htaccess file.
|
26
|
+
#
|
27
|
+
# Example:
|
28
|
+
# Alias /myrailsapp /path/to/myrailsapp/public
|
29
|
+
# RewriteBase /myrailsapp
|
30
|
+
|
31
|
+
#RewriteRule ^$ index.html [QSA]
|
32
|
+
#RewriteRule ^([^.]+)$ $1.html [QSA]
|
33
|
+
RewriteCond %{REQUEST_FILENAME} !-f
|
34
|
+
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
|
35
|
+
|
36
|
+
#DirectoryIndex dispatch.fcgi index.html index.htm index.php
|
37
|
+
# In case Rails experiences terminal errors
|
38
|
+
# Instead of displaying this message you can supply a file here which will be rendered instead
|
39
|
+
#
|
40
|
+
# Example:
|
41
|
+
# ErrorDocument 500 /500.html
|
42
|
+
# General Apache options
|
43
|
+
#AddHandler fcgid-script .fcgi
|
44
|
+
ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
|
@@ -0,0 +1,141 @@
|
|
1
|
+
|
2
|
+
<!--
|
3
|
+
|
4
|
+
Run this from a web server to actually work...
|
5
|
+
|
6
|
+
-->
|
7
|
+
|
8
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
9
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
10
|
+
<head>
|
11
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
12
|
+
<title>YouTube Edit Decision Listed</title>
|
13
|
+
<style type="text/css">
|
14
|
+
#videoDiv {
|
15
|
+
margin-right: 3px;
|
16
|
+
}
|
17
|
+
#videoInfo {
|
18
|
+
margin-left: 3px;
|
19
|
+
}
|
20
|
+
</style>
|
21
|
+
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
|
22
|
+
<script type="text/javascript">
|
23
|
+
google.load("swfobject", "2.1");
|
24
|
+
</script>
|
25
|
+
<script type="text/javascript">
|
26
|
+
/*
|
27
|
+
* Polling the player for information
|
28
|
+
*/
|
29
|
+
|
30
|
+
// Update a particular HTML element with a new value
|
31
|
+
function updateHTML(elmId, value) {
|
32
|
+
document.getElementById(elmId).innerHTML = value;
|
33
|
+
}
|
34
|
+
|
35
|
+
// This function is called when an error is thrown by the player
|
36
|
+
function onPlayerError(errorCode) {
|
37
|
+
alert("An error occured of type:" + errorCode);
|
38
|
+
}
|
39
|
+
|
40
|
+
// This function is called when the player changes state
|
41
|
+
function onPlayerStateChange(newState) {
|
42
|
+
updateHTML("playerState", newState);
|
43
|
+
}
|
44
|
+
|
45
|
+
|
46
|
+
// we will mute from 2->10 seconds, and then skip from second 13 to 18...
|
47
|
+
// have to run this from a web server for it to work
|
48
|
+
|
49
|
+
function muteFromSecondTwoToTen() { // also contains a skip from 13 to 18...
|
50
|
+
ytplayer.mute();
|
51
|
+
setTimeout(
|
52
|
+
function() {
|
53
|
+
ytplayer.unMute();
|
54
|
+
setTimeout(
|
55
|
+
function() {
|
56
|
+
// here we're at second 13
|
57
|
+
// so let's seek to...say...1
|
58
|
+
ytplayer.seekTo(18, true);
|
59
|
+
}, 3000);
|
60
|
+
}, 8000);
|
61
|
+
}
|
62
|
+
|
63
|
+
var mutes2=[<%= mutes.join(',') %>];
|
64
|
+
var splits=[<%= splits.join(',') %>];
|
65
|
+
|
66
|
+
function areWeWithin(thisArray) {
|
67
|
+
var cur_time = ytplayer.getCurrentTime();
|
68
|
+
for (key in thisArray) {
|
69
|
+
var item = thisArray[key];
|
70
|
+
var start_time = item[0];
|
71
|
+
var end_time = item[1];
|
72
|
+
if(cur_time > start_time && cur_time < end_time) {
|
73
|
+
return end_time;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
return false;
|
77
|
+
}
|
78
|
+
// Display information about the current state of the player
|
79
|
+
// I think this gets called...somewhat frequently, by the youtube player
|
80
|
+
function updatePlayerInfo() {
|
81
|
+
if(ytplayer && ytplayer.getDuration) {
|
82
|
+
updateHTML("videoDuration", ytplayer.getDuration());
|
83
|
+
updateHTML("videoCurrentTime", ytplayer.getCurrentTime()); // this is it...
|
84
|
+
if(areWeWithin(mutes2))
|
85
|
+
ytplayer.mute();
|
86
|
+
else
|
87
|
+
ytplayer.unMute();
|
88
|
+
if(last_end = areWeWithin(splits)) {
|
89
|
+
ytplayer.seekTo(last_end, true);
|
90
|
+
}
|
91
|
+
|
92
|
+
}
|
93
|
+
updateHTML("bytesTotal", ytplayer.getVideoBytesTotal());
|
94
|
+
updateHTML("startBytes", ytplayer.getVideoStartBytes());
|
95
|
+
updateHTML("bytesLoaded", ytplayer.getVideoBytesLoaded());
|
96
|
+
}
|
97
|
+
|
98
|
+
// This function is automatically called by the player once it loads
|
99
|
+
function onYouTubePlayerReady(playerId) {
|
100
|
+
ytplayer = document.getElementById("ytPlayer");
|
101
|
+
// This causes the updatePlayerInfo function to be called every 250ms to
|
102
|
+
// get fresh data from the player
|
103
|
+
setInterval(updatePlayerInfo, 25); // 25 ms
|
104
|
+
updatePlayerInfo();
|
105
|
+
ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
|
106
|
+
ytplayer.addEventListener("onError", "onPlayerError");
|
107
|
+
}
|
108
|
+
|
109
|
+
// The "main method" of this sample. Called when someone clicks "Run".
|
110
|
+
function loadPlayer() {
|
111
|
+
// The video to load
|
112
|
+
var videoID = "<%= video_id %>"
|
113
|
+
// Lets Flash from another domain call JavaScript
|
114
|
+
var params = { allowScriptAccess: "always" };
|
115
|
+
// The element id of the Flash embed
|
116
|
+
var atts = { id: "ytPlayer" };
|
117
|
+
// All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
|
118
|
+
swfobject.embedSWF("http://www.youtube.com/v/" + videoID +
|
119
|
+
"&enablejsapi=1&playerapiid=player1&autoplay=1",
|
120
|
+
"videoDiv", "480", "295", "8", null, null, params, atts);
|
121
|
+
}
|
122
|
+
function _run() {
|
123
|
+
loadPlayer();
|
124
|
+
}
|
125
|
+
google.setOnLoadCallback(_run);
|
126
|
+
</script>
|
127
|
+
</head>
|
128
|
+
<body style="font-family: Arial;border: 0 none;">
|
129
|
+
<table>
|
130
|
+
<tr>
|
131
|
+
<td><div id="videoDiv">Loading...</div></td>
|
132
|
+
<td valign="top">
|
133
|
+
<div id="videoInfo">
|
134
|
+
<p>Player state: <span id="playerState">--</span></p>
|
135
|
+
<p>Current Time: <span id="videoCurrentTime">--:--</span> | Duration: <span id="videoDuration">--:--</span></p>
|
136
|
+
<p>Bytes Total: <span id="bytesTotal">--</span> | Start Bytes: <span id="startBytes">--</span> | Bytes Loaded: <span id="bytesLoaded">--</span></p>
|
137
|
+
</div>
|
138
|
+
</td></tr>
|
139
|
+
</table>
|
140
|
+
</body>
|
141
|
+
</html>
|