Skip to content

Commit

Permalink
Exporting issue if image source is whatsapp (no meta data)
Browse files Browse the repository at this point in the history
  • Loading branch information
lanthale committed May 17, 2024
1 parent 9a62adb commit 28dce27
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
22 changes: 14 additions & 8 deletions PhotoSlide/src/main/java/org/photoslide/MainViewController.java
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@ protected Boolean call() throws Exception {
//sort
if (diag.getController().getSortComboBox().getSelectionModel().getSelectedItem().equalsIgnoreCase("Record time based")) {
AtomicInteger iatom = new AtomicInteger(1);
for (MediaFile mediaFile : exportList) {
exportList.parallelStream().forEach((mediaFile) -> {
updateMessage("Export: Read record time " + iatom.get() + "/" + exportList.size());
try {
if (mediaFile.getRecordTime() == null) {
Expand All @@ -452,15 +452,15 @@ protected Boolean call() throws Exception {
mediaFile.setRecordTime(triggerTime);
}
iatom.addAndGet(1);
}
});
exportList.sort(Comparator.comparing(MediaFile::getRecordTime));
}
//end sort
int i = 0;
for (MediaFile mediaItem : exportList) {
if (this.isCancelled() == false) {
updateProgress(i + 1, exportList.size());
updateMessage("" + (i + 1) + "/" + exportList.size());
updateMessage("Exporting " + (i + 1) + "/" + exportList.size());
try {
String fileFormat = diag.getController().getFileFormat();
ImageType imageType = ImageType.JPG;
Expand Down Expand Up @@ -490,7 +490,7 @@ protected Boolean call() throws Exception {
}
}
String url = mediaItem.getImageUrl().toString();
Image img = new Image(url, false);
Image img = new Image(url, false);
ObservableList<ImageFilter> filterList = mediaItem.getFilterListWithoutImageData();
Image imageWithFilters = img;
for (ImageFilter imageFilter : filterList) {
Expand All @@ -500,7 +500,7 @@ protected Boolean call() throws Exception {
img = imageWithFilters;
PixelReader reader = img.getPixelReader();
BufferedImage fromFXImage;
WritableImage newImage;
WritableImage newImage;
if (mediaItem.getCropView() != null && mediaItem.getCropView().getHeight() > 0.0) {
newImage = new WritableImage(reader, (int) (mediaItem.getCropView().getMinX()), (int) (mediaItem.getCropView().getMinY()), (int) (mediaItem.getCropView().getWidth()), (int) (mediaItem.getCropView().getHeight()));
} else {
Expand Down Expand Up @@ -565,17 +565,23 @@ protected Boolean call() throws Exception {
if (diag.getController().getExportBasicMetadataBox().isSelected()) {
metadataPaneController.readBasicMetadata(this, mediaItem);
if (diag.getController().getReplaceTitleBox().isSelected()) {
mediaItem.setTitle(diag.getController().getTitle());
Platform.runLater(() -> {
mediaItem.setTitle(diag.getController().getTitle());
});
}
if (diag.getController().getReplaceKeywordChoiceBox().isSelected()) {
mediaItem.setKeywords(diag.getController().getKeywordsAsString());
Platform.runLater(() -> {
mediaItem.setKeywords(diag.getController().getKeywordsAsString());
});
}
if (!diag.getController().getHeightTextField().getText().equalsIgnoreCase("")) {
mediaItem.setGpsHeight(Double.parseDouble(diag.getController().getHeightTextField().getText()));
}
if (diag.getController().getReplaceGPSCheckBox().isSelected()) {
mediaItem.setGpsPositionFromDegree(diag.getController().getSelectedGPSPos());
mediaItem.placeProperty().setValue(diag.getController().getFoundPlaceName());
Platform.runLater(() -> {
mediaItem.placeProperty().setValue(diag.getController().getFoundPlaceName());
});
}
metadataPaneController.exportBasicMetadata(mediaItem, outFileStr, diag.getController().getReplaceGPSCheckBox().isSelected());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -951,7 +951,7 @@ private void selectSortOrderAction(ActionEvent event) {
@Override
protected Boolean call() throws IOException {
AtomicInteger i = new AtomicInteger(1);
fullMediaList.forEach((mediaFile) -> {
fullMediaList.parallelStream().forEach((mediaFile) -> {
if (this.isCancelled() == false) {
updateProgress(i.get(), fullMediaList.size());
updateMessage("Read record time " + i.get() + "/" + fullMediaList.size());
Expand All @@ -966,7 +966,7 @@ protected Boolean call() throws IOException {
= LocalDateTime.ofInstant(Instant.ofEpochMilli(test_timestamp), TimeZone.getDefault().toZoneId());
mediaFile.setRecordTime(triggerTime);
}
if (mediaFile.getRecordTime() == null) {
if (mediaFile.getRecordTime() == null) {
long test_timestamp = mediaFile.getPathStorage().toFile().lastModified();
LocalDateTime triggerTime
= LocalDateTime.ofInstant(Instant.ofEpochMilli(test_timestamp), TimeZone.getDefault().toZoneId());
Expand All @@ -980,7 +980,7 @@ protected Boolean call() throws IOException {
};
taskMeta.setOnSucceeded((t) -> {
try {
sortedMediaList.sort(Comparator.comparing(MediaFile::getRecordTime));
sortedMediaList.setComparator(Comparator.comparing(MediaFile::getRecordTime));
} catch (NullPointerException e) {
sortOrderComboBox.getSelectionModel().clearSelection(0);
}
Expand Down

0 comments on commit 28dce27

Please sign in to comment.