sensible-cinema 0.27.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- data/TODO +0 -1
- data/VERSION +1 -1
- data/change_log_with_feature_list.txt +17 -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
- metadata +43 -7
- data/legal/control_youtube.html +0 -135
- data/legal/md5s.txt +0 -53
- data/legal/play_with_inserted_scene.bat +0 -8
- data/legal/play_with_overlay.bat +0 -24
- data/legal/serve.rb +0 -6
- data/legal/transcript_mute_vlc.txt +0 -117
data/TODO
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.28.0
|
@@ -1,3 +1,20 @@
|
|
1
|
+
== 0.28.0 ==
|
2
|
+
|
3
|
+
Includes vendored support (experimental) for EDL playback via VLC via its internal libVLC control API
|
4
|
+
includes parsing of srt files to detect subtitle profanity time, merging
|
5
|
+
of EDL with other EDL, subtitle preferences, etc.
|
6
|
+
And a GUI for editing etc.
|
7
|
+
pulled from http://code.google.com/p/movie-content-editor, has its own license/owner/responsibility.
|
8
|
+
"VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as
|
9
|
+
DVD, Audio CD, VCD, and various streaming protocols."
|
10
|
+
So I suppose you can say we merge/join with that and its playback/scripting/EDL playback ability now.
|
11
|
+
Also had the idea of applying edit lists to streaming content like media/audio
|
12
|
+
(ex: OCR iTunes to mute etc., possibly automatically detecting playback content via strings, OCR, or being
|
13
|
+
able to specify it play file x at time y, etc., as one can do with VLC).
|
14
|
+
Also note that VLC can playback from a playlist to mix different types of media (audio/video, differing sources, etc.).
|
15
|
+
VLC also contains several other side-projects too, so I suppose you can say our code mixes well with theirs for
|
16
|
+
those as well. This may also bind us to a license as well, I'm not sure.
|
17
|
+
|
1
18
|
== 0.27.0 ==
|
2
19
|
|
3
20
|
Added support for Microsoft DVD Player style playback codes.
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
|
Binary file
|
Binary file
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#Tue Feb 16 00:01:02 EST 2010
|
2
|
+
useQuickDiffPrefPage=true
|
3
|
+
proposalOrderMigrated=true
|
4
|
+
tabWidthPropagated=true
|
5
|
+
content_assist_proposals_background=255,255,255
|
6
|
+
org.eclipse.jdt.ui.javadoclocations.migrated=true
|
7
|
+
useAnnotationsPrefPage=true
|
8
|
+
org.eclipse.jface.textfont=1|Courier New|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Courier New;
|
9
|
+
org.eclipse.jdt.ui.editor.tab.width=
|
10
|
+
org.eclipse.jdt.ui.formatterprofiles.version=11
|
11
|
+
spelling_locale_initialized=true
|
12
|
+
eclipse.preferences.version=1
|
13
|
+
content_assist_proposals_foreground=0,0,0
|
14
|
+
fontPropagated=true
|
Binary file
|
Binary file
|
data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<section name="Workbench">
|
3
|
+
<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
|
4
|
+
<item value="true" key="group_libraries"/>
|
5
|
+
<item value="false" key="linkWithEditor"/>
|
6
|
+
<item value="2" key="layout"/>
|
7
|
+
<item value="1" key="rootMode"/>
|
8
|
+
<item value="<?xml version="1.0" encoding="UTF-8"?>
<packageExplorer group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="Aggregate for window 1266296360001">
<customFilters userDefinedPatternsEnabled="false">
<xmlDefinedFilters>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter" isEnabled="false"/>
<child filterId="org.eclipse.pde.ui.ExternalPluginLibrariesFilter1" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
<child filterId="org.eclipse.pde.ui.BinaryProjectFilter1" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
</xmlDefinedFilters>
</customFilters>
</packageExplorer>" key="memento"/>
|
9
|
+
</section>
|
10
|
+
</section>
|
data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<section name="Workbench">
|
3
|
+
<section name="ChooseWorkspaceDialogSettings">
|
4
|
+
<item value="193" key="DIALOG_Y_ORIGIN"/>
|
5
|
+
<item value="202" key="DIALOG_X_ORIGIN"/>
|
6
|
+
</section>
|
7
|
+
<section name="WORKBENCH_SETTINGS">
|
8
|
+
<list key="ENABLED_TRANSFERS">
|
9
|
+
</list>
|
10
|
+
</section>
|
11
|
+
</section>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<section name="Workbench">
|
3
|
+
<section name="ShowViewDialog">
|
4
|
+
<item value="311" key="DIALOG_WIDTH"/>
|
5
|
+
<item value="88" key="DIALOG_Y_ORIGIN"/>
|
6
|
+
<item value="438" key="DIALOG_HEIGHT"/>
|
7
|
+
<item value="357" key="DIALOG_X_ORIGIN"/>
|
8
|
+
<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
|
9
|
+
</section>
|
10
|
+
</section>
|
data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
ADDED
@@ -0,0 +1,232 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<workbench progressCount="20" version="2.0">
|
3
|
+
<workbenchAdvisor/>
|
4
|
+
<window height="760" width="1024" x="175" y="0">
|
5
|
+
<fastViewData fastViewLocation="1024"/>
|
6
|
+
<perspectiveBar>
|
7
|
+
<itemSize x="160"/>
|
8
|
+
</perspectiveBar>
|
9
|
+
<coolbarLayout locked="0">
|
10
|
+
<coolItem id="group.file" itemType="typeGroupMarker"/>
|
11
|
+
<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="99" y="22"/>
|
12
|
+
<coolItem id="additions" itemType="typeGroupMarker"/>
|
13
|
+
<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="129" y="22"/>
|
14
|
+
<coolItem id="org.eclipse.jdt.ui.JavaElementCreationActionSet" itemType="typeToolBarContribution" x="99" y="22"/>
|
15
|
+
<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="99" y="22"/>
|
16
|
+
<coolItem id="group.nav" itemType="typeGroupMarker"/>
|
17
|
+
<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="190" y="22"/>
|
18
|
+
<coolItem id="group.editor" itemType="typeGroupMarker"/>
|
19
|
+
<coolItem id="group.help" itemType="typeGroupMarker"/>
|
20
|
+
<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
|
21
|
+
</coolbarLayout>
|
22
|
+
<page aggregateWorkingSetId="Aggregate for window 1266296360001" focus="true" label="Workspace - Java">
|
23
|
+
<editors>
|
24
|
+
<editorArea activeWorkbook="DefaultEditorWorkbook">
|
25
|
+
<info part="DefaultEditorWorkbook">
|
26
|
+
<folder appearance="1" expanded="2">
|
27
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
|
28
|
+
</folder>
|
29
|
+
</info>
|
30
|
+
</editorArea>
|
31
|
+
</editors>
|
32
|
+
<views>
|
33
|
+
<view id="org.eclipse.jdt.ui.TypeHierarchy" partName="Hierarchy"/>
|
34
|
+
<view id="org.eclipse.ui.views.ProblemView" partName="Problems">
|
35
|
+
<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
|
36
|
+
<columnWidths org.eclipse.ui.ide.locationField="64" org.eclipse.ui.ide.markerType="94" org.eclipse.ui.ide.pathField="124" org.eclipse.ui.ide.resourceField="94" org.eclipse.ui.ide.severityAndDescriptionField="300"/>
|
37
|
+
<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
|
38
|
+
<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
|
39
|
+
<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
|
40
|
+
<visible IMemento.internal.id="org.eclipse.ui.ide.locationField"/>
|
41
|
+
<visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>
|
42
|
+
</viewState>
|
43
|
+
</view>
|
44
|
+
<view id="org.eclipse.jdt.ui.PackageExplorer" partName="Package Explorer">
|
45
|
+
<viewState group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="Aggregate for window 1266296360001">
|
46
|
+
<customFilters userDefinedPatternsEnabled="false">
|
47
|
+
<xmlDefinedFilters>
|
48
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
|
49
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter" isEnabled="false"/>
|
50
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter" isEnabled="false"/>
|
51
|
+
<child filterId="org.eclipse.pde.ui.ExternalPluginLibrariesFilter1" isEnabled="true"/>
|
52
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter" isEnabled="false"/>
|
53
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter" isEnabled="false"/>
|
54
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter" isEnabled="false"/>
|
55
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter" isEnabled="false"/>
|
56
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter" isEnabled="false"/>
|
57
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter" isEnabled="false"/>
|
58
|
+
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter" isEnabled="true"/>
|
59
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter" isEnabled="true"/>
|
60
|
+
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter" isEnabled="false"/>
|
61
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter" isEnabled="true"/>
|
62
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter" isEnabled="false"/>
|
63
|
+
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter" isEnabled="true"/>
|
64
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter" isEnabled="false"/>
|
65
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*" isEnabled="true"/>
|
66
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
|
67
|
+
<child filterId="org.eclipse.pde.ui.BinaryProjectFilter1" isEnabled="false"/>
|
68
|
+
<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
|
69
|
+
</xmlDefinedFilters>
|
70
|
+
</customFilters>
|
71
|
+
</viewState>
|
72
|
+
</view>
|
73
|
+
<view id="org.eclipse.mylyn.tasks.ui.views.tasks" partName="Task List">
|
74
|
+
<viewState linkWithEditor="true" presentation="org.eclipse.mylyn.tasks.ui.categorized">
|
75
|
+
<sorter groupBy="CATEGORY_QUERY">
|
76
|
+
<sorter>
|
77
|
+
<sort0 sortDirection="1" sortKey="PRIORITY"/>
|
78
|
+
<sort1 sortDirection="1" sortKey="DATE_CREATED"/>
|
79
|
+
<sort2 sortDirection="1" sortKey="NONE"/>
|
80
|
+
<sort3 sortDirection="1" sortKey="NONE"/>
|
81
|
+
</sorter>
|
82
|
+
</sorter>
|
83
|
+
</viewState>
|
84
|
+
</view>
|
85
|
+
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
|
86
|
+
<viewState/>
|
87
|
+
</view>
|
88
|
+
<view id="org.eclipse.jdt.ui.SourceView" partName="Declaration"/>
|
89
|
+
<view id="org.eclipse.jdt.ui.JavadocView" partName="Javadoc"/>
|
90
|
+
</views>
|
91
|
+
<perspectives activePart="org.eclipse.jdt.ui.PackageExplorer" activePerspective="org.eclipse.jdt.ui.JavaPerspective">
|
92
|
+
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
|
93
|
+
<descriptor class="org.eclipse.jdt.internal.ui.JavaPerspectiveFactory" id="org.eclipse.jdt.ui.JavaPerspective" label="Java"/>
|
94
|
+
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
|
95
|
+
<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
|
96
|
+
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
|
97
|
+
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
|
98
|
+
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
|
99
|
+
<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
|
100
|
+
<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
|
101
|
+
<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
|
102
|
+
<alwaysOnActionSet id="org.eclipse.mylyn.context.ui.actionSet"/>
|
103
|
+
<alwaysOnActionSet id="org.eclipse.mylyn.tasks.ui.navigation"/>
|
104
|
+
<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
|
105
|
+
<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
|
106
|
+
<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaElementCreationActionSet"/>
|
107
|
+
<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
|
108
|
+
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
|
109
|
+
<alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
|
110
|
+
<alwaysOnActionSet id="org.eclipse.jdt.junit.JUnitActionSet"/>
|
111
|
+
<show_view_action id="org.eclipse.jdt.ui.PackageExplorer"/>
|
112
|
+
<show_view_action id="org.eclipse.jdt.ui.TypeHierarchy"/>
|
113
|
+
<show_view_action id="org.eclipse.jdt.ui.SourceView"/>
|
114
|
+
<show_view_action id="org.eclipse.jdt.ui.JavadocView"/>
|
115
|
+
<show_view_action id="org.eclipse.search.ui.views.SearchView"/>
|
116
|
+
<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
|
117
|
+
<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
|
118
|
+
<show_view_action id="org.eclipse.ui.views.ProblemView"/>
|
119
|
+
<show_view_action id="org.eclipse.ui.views.ResourceNavigator"/>
|
120
|
+
<show_view_action id="org.eclipse.ui.views.TaskList"/>
|
121
|
+
<show_view_action id="org.eclipse.ui.views.ProgressView"/>
|
122
|
+
<show_view_action id="org.eclipse.ui.navigator.ProjectExplorer"/>
|
123
|
+
<show_view_action id="org.eclipse.ui.texteditor.TemplatesView"/>
|
124
|
+
<show_view_action id="org.eclipse.ant.ui.views.AntView"/>
|
125
|
+
<show_view_action id="org.eclipse.pde.runtime.LogView"/>
|
126
|
+
<show_view_action id="org.eclipse.mylyn.tasks.ui.views.tasks"/>
|
127
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.JavaProjectWizard"/>
|
128
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"/>
|
129
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewClassCreationWizard"/>
|
130
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"/>
|
131
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewEnumCreationWizard"/>
|
132
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard"/>
|
133
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard"/>
|
134
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"/>
|
135
|
+
<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard"/>
|
136
|
+
<new_wizard_action id="org.eclipse.ui.wizards.new.folder"/>
|
137
|
+
<new_wizard_action id="org.eclipse.ui.wizards.new.file"/>
|
138
|
+
<new_wizard_action id="org.eclipse.ui.editors.wizards.UntitledTextFileWizard"/>
|
139
|
+
<new_wizard_action id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard"/>
|
140
|
+
<new_wizard_action id="org.eclipse.mylyn.tasks.ui.wizards.new.repository.task"/>
|
141
|
+
<perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>
|
142
|
+
<perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
|
143
|
+
<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
|
144
|
+
<view id="org.eclipse.jdt.ui.PackageExplorer"/>
|
145
|
+
<view id="org.eclipse.jdt.ui.TypeHierarchy"/>
|
146
|
+
<view id="org.eclipse.ui.views.ProblemView"/>
|
147
|
+
<view id="org.eclipse.jdt.ui.JavadocView"/>
|
148
|
+
<view id="org.eclipse.jdt.ui.SourceView"/>
|
149
|
+
<view id="org.eclipse.ui.views.ContentOutline"/>
|
150
|
+
<view id="org.eclipse.mylyn.tasks.ui.views.tasks"/>
|
151
|
+
<fastViewBars/>
|
152
|
+
<layout>
|
153
|
+
<mainWindow>
|
154
|
+
<info folder="true" part="left">
|
155
|
+
<folder activePageID="org.eclipse.jdt.ui.PackageExplorer" appearance="2" expanded="2">
|
156
|
+
<page content="org.eclipse.jdt.ui.PackageExplorer" label="Package Explorer"/>
|
157
|
+
<page content="org.eclipse.jdt.ui.TypeHierarchy" label="Hierarchy"/>
|
158
|
+
<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
|
159
|
+
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="LabelNotFound"/>
|
160
|
+
<page content="org.eclipse.jdt.junit.ResultView" label="LabelNotFound"/>
|
161
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
|
162
|
+
<part id="0"/>
|
163
|
+
<part id="1"/>
|
164
|
+
</presentation>
|
165
|
+
</folder>
|
166
|
+
</info>
|
167
|
+
<info folder="true" part="org.eclipse.ui.internal.ViewStack@6489f0" ratio="0.75" ratioLeft="750" ratioRight="250" relationship="2" relative="left">
|
168
|
+
<folder appearance="2" expanded="2">
|
169
|
+
<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
|
170
|
+
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
|
171
|
+
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
|
172
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
|
173
|
+
</folder>
|
174
|
+
</info>
|
175
|
+
<info part="org.eclipse.ui.editorss" ratio="0.25" ratioLeft="250" ratioRight="750" relationship="2" relative="left"/>
|
176
|
+
<info folder="true" part="bottom" ratio="0.74960876" ratioLeft="479" ratioRight="160" relationship="4" relative="org.eclipse.ui.editorss">
|
177
|
+
<folder activePageID="org.eclipse.ui.views.ProblemView" appearance="2" expanded="2">
|
178
|
+
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
|
179
|
+
<page content="org.eclipse.jdt.ui.JavadocView" label="Javadoc"/>
|
180
|
+
<page content="org.eclipse.jdt.ui.SourceView" label="Declaration"/>
|
181
|
+
<page content="org.eclipse.search.ui.views.SearchView" label="LabelNotFound"/>
|
182
|
+
<page content="org.eclipse.ui.console.ConsoleView" label="LabelNotFound"/>
|
183
|
+
<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
|
184
|
+
<page content="org.eclipse.ui.views.ProgressView" label="LabelNotFound"/>
|
185
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
|
186
|
+
<part id="0"/>
|
187
|
+
<part id="1"/>
|
188
|
+
<part id="2"/>
|
189
|
+
</presentation>
|
190
|
+
</folder>
|
191
|
+
</info>
|
192
|
+
<info folder="true" part="org.eclipse.ui.internal.ViewStack@d5e270" ratio="0.7493333" ratioLeft="562" ratioRight="188" relationship="2" relative="org.eclipse.ui.editorss">
|
193
|
+
<folder activePageID="org.eclipse.mylyn.tasks.ui.views.tasks" appearance="2" expanded="2">
|
194
|
+
<page content="org.eclipse.mylyn.tasks.ui.views.tasks" label="Task List"/>
|
195
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
|
196
|
+
<part id="0"/>
|
197
|
+
</presentation>
|
198
|
+
</folder>
|
199
|
+
</info>
|
200
|
+
<info folder="true" part="right" ratio="0.49895614" ratioLeft="239" ratioRight="240" relationship="4" relative="org.eclipse.ui.internal.ViewStack@d5e270">
|
201
|
+
<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
|
202
|
+
<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
|
203
|
+
<page content="org.eclipse.ui.texteditor.TemplatesView" label="LabelNotFound"/>
|
204
|
+
<page content="org.eclipse.ant.ui.views.AntView" label="LabelNotFound"/>
|
205
|
+
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
|
206
|
+
<part id="0"/>
|
207
|
+
</presentation>
|
208
|
+
</folder>
|
209
|
+
</info>
|
210
|
+
</mainWindow>
|
211
|
+
</layout>
|
212
|
+
</perspective>
|
213
|
+
</perspectives>
|
214
|
+
<workingSets/>
|
215
|
+
<navigationHistory/>
|
216
|
+
<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
|
217
|
+
</page>
|
218
|
+
<workbenchWindowAdvisor/>
|
219
|
+
<actionBarAdvisor/>
|
220
|
+
<trimLayout>
|
221
|
+
<trimArea IMemento.internal.id="128">
|
222
|
+
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
|
223
|
+
</trimArea>
|
224
|
+
<trimArea IMemento.internal.id="1024">
|
225
|
+
<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
|
226
|
+
<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
|
227
|
+
<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
|
228
|
+
</trimArea>
|
229
|
+
</trimLayout>
|
230
|
+
</window>
|
231
|
+
<mruList/>
|
232
|
+
</workbench>
|
@@ -0,0 +1 @@
|
|
1
|
+
org.eclipse.core.runtime=1
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<projectDescription>
|
3
|
+
<name>movie_editor</name>
|
4
|
+
<comment></comment>
|
5
|
+
<projects>
|
6
|
+
</projects>
|
7
|
+
<buildSpec>
|
8
|
+
<buildCommand>
|
9
|
+
<name>org.python.pydev.PyDevBuilder</name>
|
10
|
+
<arguments>
|
11
|
+
</arguments>
|
12
|
+
</buildCommand>
|
13
|
+
</buildSpec>
|
14
|
+
<natures>
|
15
|
+
<nature>org.python.pydev.pythonNature</nature>
|
16
|
+
</natures>
|
17
|
+
</projectDescription>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<?eclipse-pydev version="1.0"?>
|
3
|
+
|
4
|
+
<pydev_project>
|
5
|
+
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
|
6
|
+
<path>/movie_editor/src</path>
|
7
|
+
<path>/movie_editor</path>
|
8
|
+
</pydev_pathproperty>
|
9
|
+
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>
|
10
|
+
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
|
11
|
+
</pydev_project>
|
@@ -0,0 +1,171 @@
|
|
1
|
+
#Subit
|
2
|
+
# * Version 1.2
|
3
|
+
# * 2009-01-11
|
4
|
+
# * URL: http://www.homeofthehip.com
|
5
|
+
# * Description: Subtitle downloader.
|
6
|
+
# * Author: Magnus Dunker
|
7
|
+
# * Modified by: S. Andrew Ning
|
8
|
+
# * Copyright: Copyright (c) 2009 Magnus Dunker. Use it anyway you like
|
9
|
+
#
|
10
|
+
#@Parameters
|
11
|
+
# -f The name of the avi file or directory. If -f is not specified subit will look in the current directory.
|
12
|
+
# -l A comma delimitered string specifying the language of the subtitles in prioritied order.
|
13
|
+
#
|
14
|
+
#Usage: SubIt.py -f "M:\MyAvis" -l dan,eng
|
15
|
+
|
16
|
+
import time
|
17
|
+
from array import array
|
18
|
+
import struct
|
19
|
+
import os
|
20
|
+
import urllib
|
21
|
+
import sys
|
22
|
+
|
23
|
+
from zipfile import *
|
24
|
+
from xmlrpclib import ServerProxy, Error
|
25
|
+
from urllib2 import Request, urlopen, URLError, HTTPError
|
26
|
+
from optparse import OptionParser
|
27
|
+
|
28
|
+
server = ServerProxy("http://api.opensubtitles.org/xml-rpc")
|
29
|
+
token=""
|
30
|
+
def SubIt():
|
31
|
+
filename=""
|
32
|
+
lang=""
|
33
|
+
movieFound=False
|
34
|
+
parser = OptionParser()
|
35
|
+
parser.add_option("-f", help="name of the file or directory to get subtitles for. If omitted SubIt will look for .avi files in the current directory", dest="filename")
|
36
|
+
parser.add_option("-l", help="comma delimitered string with languages. eg dan,eng. If omitted the default will be english", dest="languages")
|
37
|
+
|
38
|
+
(options, args) = parser.parse_args()
|
39
|
+
|
40
|
+
if options.filename:
|
41
|
+
filename = options.filename
|
42
|
+
if options.languages:
|
43
|
+
lang=options.languages
|
44
|
+
else:
|
45
|
+
lang="eng"
|
46
|
+
|
47
|
+
|
48
|
+
if filename=="" or os.path.isdir(filename) == True:
|
49
|
+
if(os.path.isdir(filename) == True):
|
50
|
+
directory = filename
|
51
|
+
else:
|
52
|
+
directory=os.getcwd()
|
53
|
+
for root, dirs, files in os.walk(directory):
|
54
|
+
for fname in files:
|
55
|
+
extension = os.path.splitext( fname )[1]
|
56
|
+
if extension==".avi":
|
57
|
+
movieFound=True
|
58
|
+
FindSubtitles(root +"\\"+ fname,lang)
|
59
|
+
|
60
|
+
else:
|
61
|
+
FindSubtitles(filename,lang)
|
62
|
+
movieFound=True
|
63
|
+
if not movieFound:
|
64
|
+
print "No movies found in '"+os.getcwd()+"'"
|
65
|
+
|
66
|
+
raw_input("Done... press enter ")
|
67
|
+
def FindSubtitles(videoname,lang):
|
68
|
+
print "Contacting www.opensubtitles.org ("+videoname+")"
|
69
|
+
filename = os.path.dirname(videoname) + "\\" +os.path.splitext(os.path.basename(videoname))[0]+ ".srt"
|
70
|
+
|
71
|
+
langs=lang.split(",")
|
72
|
+
|
73
|
+
data=GetSubtitles(videoname);
|
74
|
+
found=False
|
75
|
+
if data:
|
76
|
+
for l in langs:
|
77
|
+
for item in data:
|
78
|
+
if item['SubLanguageID']== l and not found:
|
79
|
+
print "Found", item['LanguageName'], "subtitle ..."
|
80
|
+
zipname=Download(item['ZipDownloadLink'],item['SubFileName'])
|
81
|
+
print "Extracting subtitle ",filename
|
82
|
+
Unzip(zipname,filename)
|
83
|
+
os.remove(zipname)
|
84
|
+
found=True
|
85
|
+
else:
|
86
|
+
print "No Subtitles found"
|
87
|
+
|
88
|
+
def GetSubtitles(moviepath ):
|
89
|
+
#print server.LogIn("","","","SubIt")['status']
|
90
|
+
try:
|
91
|
+
token=server.LogIn("","","","SubIt")['token']
|
92
|
+
except:
|
93
|
+
print "opensubtitles.org server is not online at the moment. please try again later."
|
94
|
+
exit(1);
|
95
|
+
|
96
|
+
moviebytesize = os.path.getsize(moviepath)
|
97
|
+
hash=Compute(moviepath)
|
98
|
+
movieInfo = {'sublanguageid' : 'eng','moviehash' : hash, 'moviebytesize' : moviebytesize}
|
99
|
+
movies=[movieInfo]
|
100
|
+
data=server.SearchSubtitles(token,movies)['data']
|
101
|
+
|
102
|
+
# if the hash fails, try searching by title of movie (assuming file is named after its title)
|
103
|
+
if (data == False):
|
104
|
+
basename = os.path.basename(moviepath)
|
105
|
+
name = os.path.splitext(basename)[0]
|
106
|
+
print "Could not find by hash ..."
|
107
|
+
print "Searching by name: \"" + name + "\""
|
108
|
+
movieInfo = {'sublanguageid' : 'eng','query' : name}
|
109
|
+
movies=[movieInfo]
|
110
|
+
data=server.SearchSubtitles(token,movies)['data']
|
111
|
+
|
112
|
+
server.LogOut()
|
113
|
+
|
114
|
+
return data
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
def Compute(name):
|
119
|
+
try:
|
120
|
+
longlongformat = 'q' # long long
|
121
|
+
bytesize = struct.calcsize(longlongformat)
|
122
|
+
f = file(name, "rb")
|
123
|
+
filesize = os.path.getsize(name)
|
124
|
+
hash = filesize
|
125
|
+
|
126
|
+
if filesize < 65536 * 2:
|
127
|
+
return "SizeError"
|
128
|
+
|
129
|
+
for x in range(65536/bytesize):
|
130
|
+
buffer = f.read(bytesize)
|
131
|
+
(l_value,)= struct.unpack(longlongformat, buffer)
|
132
|
+
hash += l_value
|
133
|
+
hash = hash & 0xFFFFFFFFFFFFFFFF #to remain as 64bit number
|
134
|
+
|
135
|
+
|
136
|
+
f.seek(max(0,filesize-65536),0)
|
137
|
+
for x in range(65536/bytesize):
|
138
|
+
buffer = f.read(bytesize)
|
139
|
+
(l_value,)= struct.unpack(longlongformat, buffer)
|
140
|
+
hash += l_value
|
141
|
+
hash = hash & 0xFFFFFFFFFFFFFFFF
|
142
|
+
|
143
|
+
f.close()
|
144
|
+
returnedhash = "%016x" % hash
|
145
|
+
return returnedhash
|
146
|
+
|
147
|
+
except(IOError):
|
148
|
+
return "IOError"
|
149
|
+
|
150
|
+
def Unzip(zipname,unzipname):
|
151
|
+
z = ZipFile(zipname)
|
152
|
+
for filename in z.namelist():
|
153
|
+
if os.path.splitext(os.path.basename(filename))[1] == ".srt":
|
154
|
+
outfile = file(unzipname, "w")
|
155
|
+
outfile.write(z.read(filename))
|
156
|
+
outfile.close()
|
157
|
+
|
158
|
+
def Download(url,filename):
|
159
|
+
req = Request(url)
|
160
|
+
f = urlopen(req)
|
161
|
+
print "downloading " + url
|
162
|
+
# Open our local file for writing
|
163
|
+
local_file = open(filename+".zip", "w" + "b")
|
164
|
+
#Write to our local file
|
165
|
+
local_file.write(f.read())
|
166
|
+
local_file.close()
|
167
|
+
return filename+".zip"
|
168
|
+
|
169
|
+
|
170
|
+
SubIt()
|
171
|
+
|