Changeset 30722 in osm for applications/editors/josm/plugins/videomapping/src/org
- Timestamp:
- 2014-10-15T00:24:51+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/videomapping/src/org/openstreetmap/josm/plugins/videomapping/video/VideoEngine.java
r29769 r30722 6 6 import java.util.LinkedList; 7 7 import java.util.List; 8 9 import org.openstreetmap.josm.Main; 8 10 9 11 import uk.co.caprica.vlcj.binding.internal.libvlc_media_t; … … 48 50 WindowsRuntimeUtil.VLC_INSTALL_DIR_KEY); 49 51 } catch (RuntimeException e) { 50 System.err.println(e.getMessage());52 Main.error(e); 51 53 } 52 54 } … … 58 60 59 61 if (vlcInstallDir != null) { 60 System.out.println("videomapping: found VLC install dir: "+vlcInstallDir);62 Main.info("videomapping: found VLC install dir: "+vlcInstallDir); 61 63 NativeLibrary.addSearchPath("libvlc", vlcInstallDir); 62 64 } else { 63 System.err.println("videomapping: unable to locate VLC install dir");65 Main.error("videomapping: unable to locate VLC install dir"); 64 66 } 65 67 } 66 68 67 public VideoEngine(Window parent) 68 { 69 public VideoEngine(Window parent) { 69 70 System.setProperty("logj4.configuration","file:log4j.xml"); //TODO still unsure if we can't link this to the JOSM log4j instance 70 videos = new LinkedList< Video>();71 observers = new LinkedList< VideosObserver>();71 videos = new LinkedList<>(); 72 observers = new LinkedList<>(); 72 73 try { 73 74 mediaPlayerFactory = new MediaPlayerFactory(libvlcArgs); 74 75 fullScreenStrategy = new DefaultFullScreenStrategy(parent); 75 76 } catch (NoClassDefFoundError e) { 76 System.err.println(tr("Unable to find JNA Java library!"));77 Main.error(tr("Unable to find JNA Java library!")); 77 78 } catch (UnsatisfiedLinkError e) { 78 System.err.println(tr("Unable to find native libvlc library!"));79 } catch ( Throwablet) {80 System.err.println(t.getMessage());79 Main.error(tr("Unable to find native libvlc library!")); 80 } catch (Exception t) { 81 Main.error(t); 81 82 } 82 83 } 83 84 84 public void add(Video video) 85 { 86 try 87 { 85 public void add(Video video) { 86 try { 88 87 EmbeddedMediaPlayer mp = mediaPlayerFactory.newEmbeddedMediaPlayer(fullScreenStrategy); 89 88 video.player=mp; … … 96 95 mp.playMedia(mediaPath); 97 96 //now fetching and playback starts automatically 98 } 99 catch (NoClassDefFoundError e) 100 { 101 System.err.println(tr("Unable to find JNA Java library!")); 102 } 103 catch (UnsatisfiedLinkError e) 104 { 105 System.err.println(tr("Unable to find native libvlc library!")); 97 } catch (NoClassDefFoundError e) { 98 Main.error(tr("Unable to find JNA Java library!")); 99 } catch (UnsatisfiedLinkError e) { 100 Main.error(tr("Unable to find native libvlc library!")); 106 101 } 107 102 } … … 119 114 } 120 115 121 public void play() 122 { 123 if (singleVideoMode) 124 { 116 public void play() { 117 if (singleVideoMode) { 125 118 lastAddedVideo.player.play(); 126 } 127 else 128 { 119 } else { 129 120 for (Video video : videos) { 130 121 video.player.play(); 131 122 } 132 123 } 133 System.out.println("abspielen");134 124 } 135 125 136 126 //toggles pause and play 137 public void pause() 138 { 139 if (singleVideoMode) 140 { 127 public void pause() { 128 if (singleVideoMode) { 141 129 lastAddedVideo.player.pause(); 142 } 143 else 144 { 130 } else { 145 131 for (Video video : videos) { 146 132 video.player.pause(); … … 159 145 //jumps relative for ms in all videos 160 146 public void jumpFor(long ms) { 161 if (singleVideoMode) 162 { 147 if (singleVideoMode) { 163 148 long start=lastAddedVideo.player.getTime(); 164 149 lastAddedVideo.player.setTime(start+ms); 165 } 166 else 167 { 150 } else { 168 151 for (Video video : videos) { 169 152 long start=video.player.getTime(); … … 175 158 176 159 //jumps in all videos to this absolute video time 177 public void jumpTo(long msVideo) 178 { 179 if (singleVideoMode) 180 { 160 public void jumpTo(long msVideo) { 161 if (singleVideoMode) { 181 162 lastAddedVideo.player.setTime(msVideo); 182 } 183 else 184 { 163 } else { 185 164 for (Video video : videos) { 186 165 video.player.setTime(msVideo); … … 191 170 192 171 //TODO muss evtl. auf Rückgabe für alle Videos erweitert werden 193 public long getVideoTime() 194 { 172 public long getVideoTime() { 195 173 return videos.get(0).player.getTime(); 196 174 } 197 175 198 176 //jumps in all videos to this absolute video time percentage 199 public void jumpToPosition(int percent) 200 { 177 public void jumpToPosition(int percent) { 201 178 float position = ((float)percent/100f); 202 if (singleVideoMode) 203 { 179 if (singleVideoMode) { 204 180 lastAddedVideo.player.setPosition(position); 205 } 206 else 207 { 181 } else { 208 182 for (Video video : videos) { 209 183 video.player.setPosition(position); … … 214 188 215 189 //TODO muss evtl. auf Rückgabe für alle Videos erweitert werden 216 public int getPosition() 217 { 190 public int getPosition() { 218 191 return (int) (videos.get(0).player.getPosition()*100); 219 192 } 220 193 221 public void setSpeed(int percent) 222 { 223 if (singleVideoMode) 224 { 194 public void setSpeed(int percent) { 195 if (singleVideoMode) { 225 196 lastAddedVideo.player.setRate((float)(percent/100f)); 226 197 } … … 232 203 233 204 //TODO muss evtl. auf Rückgabe für alle Videos erweitert werden 234 public int getSpeed() 235 { 205 public int getSpeed() { 236 206 return (int) (videos.get(0).player.getRate()*100); 237 207 } 238 208 239 209 //returns if at least one video has subtitles 240 public boolean hasSubtitles() 241 { 210 public boolean hasSubtitles() { 242 211 for (Video video : videos) { 243 212 if (video.player.getSpuCount()>0) return true; … … 246 215 } 247 216 248 249 public void setSubtitles (boolean enabled) 250 { 251 if (enabled) 252 { 217 public void setSubtitles (boolean enabled) { 218 if (enabled) { 253 219 //VLC uses a list of sub picture units 254 220 for (Video video : videos) { 255 221 video.player.setSpu(0); 256 222 } 257 } 258 else 259 { 223 } else { 260 224 for (Video video : videos) { 261 225 video.player.setSpu(-1); … … 263 227 } 264 228 } 265 266 267 public void setDeinterlacer (DeinterlaceMode deinterlacer) 268 { 269 if (singleVideoMode) 270 { 229 230 public void setDeinterlacer (DeinterlaceMode deinterlacer) { 231 if (singleVideoMode) { 271 232 lastAddedVideo.player.setDeinterlace(deinterlacer); 272 } 273 else 274 { 233 } else { 275 234 for (Video video : videos) { 276 235 video.player.setDeinterlace(deinterlacer); … … 279 238 } 280 239 281 public static String[] getDeinterlacers() 282 { 240 public static String[] getDeinterlacers() { 283 241 return deinterlacers; 284 242 } 285 243 286 public void mute() 287 { 288 if (singleVideoMode) 289 { 244 public void mute() { 245 if (singleVideoMode) { 290 246 lastAddedVideo.player.mute(); 291 247 } … … 295 251 } 296 252 297 public void unload() 298 { 253 public void unload() { 299 254 for (Video video : videos) { 300 255 video.player.stop(); … … 309 264 public void addObserver(VideosObserver observer) { 310 265 observers.add(observer); 311 312 } 313 314 private void notifyObservers(VideoObserversEvents event) 315 { 266 } 267 268 private void notifyObservers(VideoObserversEvents event) { 316 269 for (VideosObserver observer : observers) { 317 270 observer.update(event); … … 319 272 } 320 273 321 274 @Override 322 275 public void backward(MediaPlayer arg0) { } 323 276 /* … … 326 279 } 327 280 */ 328 281 @Override 329 282 public void error(MediaPlayer arg0) { } 330 283 331 284 @Override 332 285 public void finished(MediaPlayer arg0) { } 333 286 334 287 @Override 335 288 public void forward(MediaPlayer arg0) { } 336 289 337 290 @Override 338 291 public void lengthChanged(MediaPlayer arg0, long arg1) { } 339 292 /* … … 348 301 } 349 302 */ 350 303 @Override 351 304 public void opening(MediaPlayer arg0) { } 352 305 353 306 @Override 354 307 public void pausableChanged(MediaPlayer arg0, int arg1) { } 355 308 356 309 @Override 357 310 public void paused(MediaPlayer arg0) { } 358 311 359 312 @Override 360 313 public void playing(MediaPlayer arg0) { } 361 314 362 315 @Override 363 316 public void positionChanged(MediaPlayer arg0, float arg1) { } 364 317 365 318 @Override 366 319 public void seekableChanged(MediaPlayer arg0, int arg1) { } 367 320 368 321 @Override 369 322 public void snapshotTaken(MediaPlayer arg0, String arg1) { } 370 323 371 324 @Override 372 325 public void stopped(MediaPlayer arg0) { } 373 326 374 327 @Override 375 328 public void timeChanged(MediaPlayer arg0, long arg1) { } 376 329 377 330 @Override 378 331 public void titleChanged(MediaPlayer arg0, int arg1) { } 379 332 … … 388 341 public void enableSingleVideoMode(boolean enabled) { 389 342 singleVideoMode = true; 390 391 343 } 392 344 … … 394 346 public void mediaChanged(MediaPlayer mediaPlayer, libvlc_media_t media, String mrl) { 395 347 // TODO Auto-generated method stub 396 397 348 } 398 349 … … 400 351 public void buffering(MediaPlayer mediaPlayer, float newCache) { 401 352 // TODO Auto-generated method stub 402 403 353 } 404 354 … … 406 356 public void videoOutput(MediaPlayer mediaPlayer, int newCount) { 407 357 // TODO Auto-generated method stub 408 409 358 } 410 359 … … 412 361 public void mediaMetaChanged(MediaPlayer mediaPlayer, int metaType) { 413 362 // TODO Auto-generated method stub 414 415 363 } 416 364 … … 418 366 public void mediaSubItemAdded(MediaPlayer mediaPlayer, libvlc_media_t subItem) { 419 367 // TODO Auto-generated method stub 420 421 368 } 422 369 … … 424 371 public void mediaDurationChanged(MediaPlayer mediaPlayer, long newDuration) { 425 372 // TODO Auto-generated method stub 426 427 373 } 428 374 … … 430 376 public void mediaParsedChanged(MediaPlayer mediaPlayer, int newStatus) { 431 377 // TODO Auto-generated method stub 432 433 378 } 434 379 … … 436 381 public void mediaFreed(MediaPlayer mediaPlayer) { 437 382 // TODO Auto-generated method stub 438 439 383 } 440 384 … … 442 386 public void mediaStateChanged(MediaPlayer mediaPlayer, int newState) { 443 387 // TODO Auto-generated method stub 444 445 388 } 446 389 … … 448 391 public void newMedia(MediaPlayer mediaPlayer) { 449 392 // TODO Auto-generated method stub 450 451 393 } 452 394 … … 454 396 public void subItemPlayed(MediaPlayer mediaPlayer, int subItemIndex) { 455 397 // TODO Auto-generated method stub 456 457 398 } 458 399 … … 460 401 public void subItemFinished(MediaPlayer mediaPlayer, int subItemIndex) { 461 402 // TODO Auto-generated method stub 462 463 403 } 464 404 … … 466 406 public void endOfSubItems(MediaPlayer mediaPlayer) { 467 407 // TODO Auto-generated method stub 468 469 } 470 408 } 471 409 }
Note:
See TracChangeset
for help on using the changeset viewer.