Révision 2198

tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/commands/function/BackToMedia.java (revision 2198)
107 107
				int startTime = 0;
108 108
				int endTime = 0;
109 109
				//boolean useWordProperty = Platform.getPreferencesService().getBoolean(Application.PLUGIN_ID, BackToMediaPreferences.USEWORDPROPERTY, false, null);
110
				boolean useWordProperty = BackToMediaPreferences.getInstance().getBoolean(BackToMediaPreferences.USEWORDPROPERTY);
110
				String sync_mode = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.SYNCMODE);
111 111

  
112 112
				StructuralUnit textS = corpus.getStructuralUnit("text"); //$NON-NLS-1$
113 113
				Property textP = textS.getProperty("id"); //$NON-NLS-1$
......
115 115
				
116 116
				Log.fine(MessagesMP.BackToMedia_7+textid);
117 117

  
118
				if (useWordProperty) {
118
				if (BackToMediaPreferences.WORDMODE.equals(sync_mode)) {
119 119
					String pTimeName = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.WORD_PROPERTY);
120 120
					if ("".equals(pTimeName)) pTimeName = "time"; //$NON-NLS-1$ //$NON-NLS-2$
121 121

  
......
131 131
					String[] times = CQPSearchEngine.getCqiClient().cpos2Str(timeP.getQualifiedName(), positions);
132 132
					sStartTime = times[0];
133 133
					sEndTime = times[1];
134
				} else {
134
				} else if (BackToMediaPreferences.STRUCTUREMODE.equals(sync_mode)){
135 135
					StructuralUnit structure = corpus.getStructuralUnit(structurePropertyName);
136 136
					if (structure == null) {
137 137
						System.out.println(MessagesMP.bind(MessagesMP.BackToMedia_12, structurePropertyName));
......
151 151
						System.out.println(MessagesMP.bind(MessagesMP.BackToMedia_17, endPropertyName));
152 152
						return null;
153 153
					}
154
					sEndTime =  Match.getValueForProperty(endProperty, line.getMatch().getStart());
154
					sEndTime =  Match.getValueForProperty(endProperty, line.getMatch().getEnd());
155 155
					Log.fine(MessagesMP.BackToMedia_19+sEndTime);
156
				} else {
157
					StructuralUnit structure = corpus.getStructuralUnit(structurePropertyName);
158
					if (structure == null) {
159
						System.out.println(MessagesMP.bind(MessagesMP.BackToMedia_12, structurePropertyName));
160
						return null;
161
					}
162
					Property startProperty = structure.getProperty(startPropertyName);
163
					if (startProperty == null) {
164
						System.out.println(MessagesMP.bind(MessagesMP.BackToMedia_14, startPropertyName));
165
						return null;
166
					}
167
					
168
					sStartTime = Match.getValueForProperty(startProperty, line.getMatch().getStart());
169
					
170
					int end = line.getMatch().getEnd()+1;
171
					sEndTime = Match.getValueForProperty(startProperty, end); // should be after the next milestone
172
					Log.fine(MessagesMP.BackToMedia_16+sStartTime);
156 173
				}
157 174

  
158 175
				//				try {
tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferencePage.java (revision 2198)
36 36
import org.eclipse.swt.layout.RowLayout;
37 37
import org.eclipse.swt.widgets.Group;
38 38
import org.eclipse.ui.IWorkbench;
39
import org.eclipse.ui.preferences.ScopedPreferenceStore;
39
import org.txm.rcp.jface.ComboFieldEditor;
40 40
import org.txm.rcp.preferences.TXMPreferencePage;
41 41
import org.txm.rcp.preferences.TXMPreferenceStore;
42 42

  
43 43
import vlcplayerrcp.MessagesMP;
44
// TODO: Auto-generated Javadoc
44

  
45 45
/**
46 46
 * This class represents a preference page that is contributed to the
47 47
 * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage</samp>, we
......
58 58
	/** The Constant ID. */
59 59
	public static final String ID = "org.txm.backtomedia.preferences.BackToMediaPreferencePage"; //$NON-NLS-1$
60 60

  
61
	/** The preferences. */
62
	private ScopedPreferenceStore preferences;
63

  
64 61
	/**
65 62
	 * The display parts count in chart title state.
66 63
	 */
67 64
	private BooleanFieldEditor loopProperty;
68
	private BooleanFieldEditor useWordProperty;
65
	private ComboFieldEditor useWordProperty;
69 66
	private StringFieldEditor defaultStructure;
70 67
	private StringFieldEditor defaultStructureStartProperty;
71 68
	private StringFieldEditor defaultStructureEndProperty;
......
102 99
		loopProperty = new BooleanFieldEditor(BackToMediaPreferences.REPEAT,MessagesMP.BackToMediaPreferencePage_1, getFieldEditorParent());
103 100
		addField(loopProperty);
104 101
		
105
		useWordProperty = new BooleanFieldEditor(BackToMediaPreferences.USEWORDPROPERTY,MessagesMP.BackToMediaPreferencePage_2, getFieldEditorParent());
102
		String [][] choices = {{BackToMediaPreferences.WORDMODE, BackToMediaPreferences.WORDMODE},
103
				{BackToMediaPreferences.STRUCTUREMODE, BackToMediaPreferences.STRUCTUREMODE},
104
				{BackToMediaPreferences.MILESTONEMODE, BackToMediaPreferences.MILESTONEMODE}
105
				};
106
		useWordProperty = new ComboFieldEditor(BackToMediaPreferences.SYNCMODE,MessagesMP.BackToMediaPreferencePage_2, choices, getFieldEditorParent());
107
		
106 108
		addField(useWordProperty);
107 109
		
108 110
		spanGroup = new Group(getFieldEditorParent(), SWT.NONE);
......
127 129
		defaultStructureEndProperty = new StringFieldEditor(BackToMediaPreferences.STRUCTURE_END_PROPERTY,MessagesMP.BackToMediaPreferencePage_7, spanGroup);
128 130
		addField(defaultStructureEndProperty);
129 131
		
130
		updateEnables(useWordProperty.getBooleanValue());
132
		updateEnables(useWordProperty.getStringValue());
131 133
	}
132 134
	
133
	public void updateEnables(boolean useWordPropertyValue) {
134
		defaultStructure.setEnabled(!useWordPropertyValue, spanGroup);
135
		defaultStructureStartProperty.setEnabled(!useWordPropertyValue, spanGroup);
136
		defaultStructureEndProperty.setEnabled(!useWordPropertyValue, spanGroup);
137
		defaultWordTimeProperty.setEnabled(useWordPropertyValue, spanGroup);
135
	public void updateEnables(String sync_mode) {
136
		if (BackToMediaPreferences.WORDMODE.equals(sync_mode)) {
137
			defaultStructure.setEnabled(false, spanGroup);
138
			defaultStructureStartProperty.setEnabled(false, spanGroup);
139
			defaultStructureEndProperty.setEnabled(false, spanGroup);
140
			defaultWordTimeProperty.setEnabled(true, spanGroup);
141
		} else if (BackToMediaPreferences.STRUCTUREMODE.equals(sync_mode)) {
142
			defaultStructure.setEnabled(true, spanGroup);
143
			defaultStructureStartProperty.setEnabled(true, spanGroup);
144
			defaultStructureEndProperty.setEnabled(true, spanGroup);
145
			defaultWordTimeProperty.setEnabled(false, spanGroup);
146
		} else { // milestones
147
			defaultStructure.setEnabled(true, spanGroup);
148
			defaultStructureStartProperty.setEnabled(true, spanGroup);
149
			defaultStructureEndProperty.setEnabled(false, spanGroup);
150
			defaultWordTimeProperty.setEnabled(false, spanGroup);
151
		}
138 152
	}
139 153
	
140 154
	@Override
141 155
	public void propertyChange(PropertyChangeEvent event) {
142 156
		String prefName = ((FieldEditor) event.getSource()).getPreferenceName();
143
		if (prefName.equals(BackToMediaPreferences.USEWORDPROPERTY)) {
144
			updateEnables(useWordProperty.getBooleanValue());
157
		if (prefName.equals(BackToMediaPreferences.SYNCMODE)) {
158
			updateEnables(useWordProperty.getStringValue());
145 159
		}
146 160
	}
147 161
}
tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferences.java (revision 2198)
13 13
	public static final String PREFERENCES_PREFIX = "backtomedia_";
14 14
	
15 15
	public static final String REPEAT = "backtomedia_loop"; //$NON-NLS-1$
16
	public static final String USEWORDPROPERTY = "backtomedia_type"; //$NON-NLS-1$
16
	public static final String SYNCMODE = "sync_mode"; //$NON-NLS-1$
17

  
17 18
	public static final String STRUCTURE = "backtomedia_structure"; //$NON-NLS-1$
18 19
	public static final String STRUCTURE_START_PROPERTY = "backtomedia_startproperty"; //$NON-NLS-1$
19 20
	public static final String STRUCTURE_END_PROPERTY = "backtomedia_endproperty"; //$NON-NLS-1$
20 21
	public static final String WORD_PROPERTY = "backtomedia_time_property"; //$NON-NLS-1$
21 22

  
23
	// the sync modes
24
	public static final String WORDMODE = "Word";
25
	public static final String STRUCTUREMODE = "Structure";
26
	public static final String MILESTONEMODE = "Milestone";
22 27
	
23 28
	public BackToMediaPreferences() {
24 29
		// TODO Auto-generated constructor stub
......
30 35
		
31 36
		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
32 37
		preferences.putBoolean(REPEAT, true);
33
		preferences.putBoolean(USEWORDPROPERTY, false);
34
		preferences.put(STRUCTURE, "sp");
35
		preferences.put(STRUCTURE_START_PROPERTY, "starttime");
36
		preferences.put(STRUCTURE_END_PROPERTY, "endtime");
38
		preferences.put(SYNCMODE, MILESTONEMODE);
39
		preferences.put(STRUCTURE, "u");
40
		preferences.put(STRUCTURE_START_PROPERTY, "start");
41
		preferences.put(STRUCTURE_END_PROPERTY, "end");
37 42
		preferences.put(WORD_PROPERTY, "time");
38 43
	}
39 44
	
tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/vlcplayer/VLCPlayer.java (revision 2198)
61 61
	private EmbeddedMediaPlayer vlcPlayer;
62 62
	private Composite videoComposite;
63 63
	private CanvasVideoSurface playerCanvas;
64
	private Scale rateField;
65
	private Label rateValueLabel;
64 66
	private Scale volumeField;
67
	private Label volumeValueLabel;
68
	
65 69
	private Button playButton;
66 70
	private Button repeatButton;
67 71
	
68 72
	protected String currentlyPlayed = ""; //$NON-NLS-1$
69
	private Scale rateField;
73

  
70 74
	//private String startTime, endTime;
71 75
	private int start, end;
72 76
	
......
82 86
	long previous = 0;
83 87
	long time, mins, secs;
84 88

  
89

  
85 90
	static {
86 91
		//uncomment to enable VLC logs
87 92
		//Logger.setLevel(Level.TRACE);
......
240 245
		GridData gdata4 = new GridData(SWT.FILL, SWT.CENTER, false, false);
241 246
		gdata4.widthHint = 100;
242 247
		rateField.setLayoutData(gdata4);
243
		rateField.setMaximum(150);
244
		rateField.setMinimum(60);
248
		rateField.setMaximum(140);
249
		rateField.setMinimum(70);
245 250
		rateField.setSelection(100);
246 251
		rateField.setPageIncrement (5);
252

  
247 253
		rateField.addSelectionListener(new SelectionListener() {
248 254
			@Override
249 255
			public void widgetSelected(SelectionEvent e) {
250 256
				float rate = rateField.getSelection()/100.0f;
251 257
				vlcPlayer.setRate(rate);
258
				rateValueLabel.setText(""+rateField.getSelection()+"%");
252 259
			}
253 260

  
254 261
			@Override
255 262
			public void widgetDefaultSelected(SelectionEvent e) { }
256 263
		});
257 264

  
265
		rateValueLabel = new Label(this, SWT.NONE);
266
		rateValueLabel.setText("100%");
267
		
258 268
		l = new Label(this, SWT.NONE);
259 269
		l.setText(MessagesMP.volume);
260 270

  
......
271 281
			public void widgetSelected(SelectionEvent e) {
272 282
				vlcPlayer.setVolume(volumeField.getSelection());
273 283
				volume = volumeField.getSelection();
284
				volumeValueLabel.setText(""+volume+"%");
274 285
			}
275 286

  
276 287
			@Override
277 288
			public void widgetDefaultSelected(SelectionEvent e) { }
278 289
		});
290
		
291
		volumeValueLabel = new Label(this, SWT.NONE);
292
		volumeValueLabel.setText("100%");
279 293

  
280 294
		vlcPlayer.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {			
281 295
			@Override

Formats disponibles : Unified diff