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.
Files changed (52) hide show
  1. data/TODO +0 -1
  2. data/VERSION +1 -1
  3. data/change_log_with_feature_list.txt +17 -0
  4. data/vendor/movie-content-editor-read-only/.metadata/.lock +0 -0
  5. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/.tasks.xml.zip +0 -0
  6. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/repositories.xml.zip +0 -0
  7. data/vendor/movie-content-editor-read-only/.metadata/.mylyn/tasks.xml.zip +0 -0
  8. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +1 -0
  9. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index +0 -0
  10. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +1 -0
  11. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree +0 -0
  12. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources +0 -0
  13. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +3 -0
  14. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +14 -0
  15. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +3 -0
  16. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +5 -0
  17. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +3 -0
  18. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache +0 -0
  19. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat +0 -0
  20. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +2 -0
  21. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +2 -0
  22. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +10 -0
  23. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +11 -0
  24. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml +4 -0
  25. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +10 -0
  26. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml +232 -0
  27. data/vendor/movie-content-editor-read-only/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +4 -0
  28. data/vendor/movie-content-editor-read-only/.metadata/version.ini +1 -0
  29. data/vendor/movie-content-editor-read-only/.project +17 -0
  30. data/vendor/movie-content-editor-read-only/.pydevproject +11 -0
  31. data/vendor/movie-content-editor-read-only/.settings/org.eclipse.core.resources.prefs +6 -0
  32. data/vendor/movie-content-editor-read-only/SubIt.py +171 -0
  33. data/vendor/movie-content-editor-read-only/VLCMacVideo.py +257 -0
  34. data/vendor/movie-content-editor-read-only/VideoMac.ui +102 -0
  35. data/vendor/movie-content-editor-read-only/badwords.txt +4 -0
  36. data/vendor/movie-content-editor-read-only/blank.srt +4 -0
  37. data/vendor/movie-content-editor-read-only/edit.py +197 -0
  38. data/vendor/movie-content-editor-read-only/mergeCommands.py +73 -0
  39. data/vendor/movie-content-editor-read-only/mute.txt +5 -0
  40. data/vendor/movie-content-editor-read-only/panda.srt +4235 -0
  41. data/vendor/movie-content-editor-read-only/panda_custom.txt +3 -0
  42. data/vendor/movie-content-editor-read-only/panda_edit.srt +4235 -0
  43. data/vendor/movie-content-editor-read-only/subtitle.py +90 -0
  44. data/vendor/movie-content-editor-read-only/vlc.py +5579 -0
  45. data/vendor/movie-content-editor-read-only/vlcwidget.py +154 -0
  46. metadata +43 -7
  47. data/legal/control_youtube.html +0 -135
  48. data/legal/md5s.txt +0 -53
  49. data/legal/play_with_inserted_scene.bat +0 -8
  50. data/legal/play_with_overlay.bat +0 -24
  51. data/legal/serve.rb +0 -6
  52. data/legal/transcript_mute_vlc.txt +0 -117
data/TODO CHANGED
@@ -40,7 +40,6 @@
40
40
  after get DVD down
41
41
  C player feedback message
42
42
  nextsprocket...
43
- releases that include Debug, python too :)
44
43
 
45
44
  == yes do, un-ordered currently, from the various future release options ==
46
45
  todo.upconvert
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.27.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.
@@ -0,0 +1,3 @@
1
+ #Tue Feb 16 00:01:02 EST 2010
2
+ version=1
3
+ eclipse.preferences.version=1
@@ -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
@@ -0,0 +1,3 @@
1
+ #Mon Feb 15 23:59:20 EST 2010
2
+ eclipse.preferences.version=1
3
+ mylyn.attention.migrated=true
@@ -0,0 +1,5 @@
1
+ #Tue Feb 16 00:01:02 EST 2010
2
+ eclipse.preferences.version=1
3
+ tipsAndTricks=true
4
+ platformState=1266290582025
5
+ PROBLEMS_FILTERS_MIGRATE=true
@@ -0,0 +1,3 @@
1
+ #Mon Feb 15 23:59:21 EST 2010
2
+ eclipse.preferences.version=1
3
+ showIntro=false
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <typeInfoHistroy/>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <qualifiedTypeNameHistroy/>
@@ -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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1266296360001&quot;&gt;&#x0D;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0D;&#x0A;&lt;xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.ExternalPluginLibrariesFilter1&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.BinaryProjectFilter1&quot; isEnabled=&quot;false&quot;/&gt;&#x0D;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0D;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0D;&#x0A;&lt;/customFilters&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
9
+ </section>
10
+ </section>
@@ -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,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <section name="Workbench">
3
+ <item value="1024" key="introLaunchBar.location"/>
4
+ </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>
@@ -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,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <workingSetManager>
3
+ <workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1266296360003_0" label="Window Working Set" name="Aggregate for window 1266296360001"/>
4
+ </workingSetManager>
@@ -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,6 @@
1
+ #Mon Feb 15 20:40:43 PST 2010
2
+ eclipse.preferences.version=1
3
+ encoding//subdownloader/FileManagement/Subtitle.py=utf-8
4
+ encoding//subdownloader/gui/main.py=utf-8
5
+ encoding//subdownloader/modules/subtitlefile.py=utf-8
6
+ encoding//subdownloader/run.py=utf-8
@@ -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
+