diff --git a/CHANGELOG.md b/CHANGELOG.md index 9461db0f0..26a24c85c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ All notable changes to this project will be documented in this file. - List of treenode subitems on otherwise empty panel (with 32x32 icons) - DefineVideoStream codecId and videoFlagsDeblocking handled as enums in raw editation - Option to mute frame sounds -- Option to fix conflation artifacts in antialising (Default off - it is slow) +- Experimental option to fix conflation artifacts in antialising (slow) +- Option to disable autoplay of sounds (DefineSound) ### Fixed - [#1897] Close menu button without selecting specific item diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index f2a4224fb..af5d88e6b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -831,6 +831,10 @@ public final class Configuration { @ConfigurationCategory("display") public static ConfigurationItem fixAntialiasConflation = null; + @ConfigurationDefaultBoolean(true) + @ConfigurationCategory("display") + public static ConfigurationItem autoPlaySounds = null; + private enum OSId { WINDOWS, OSX, UNIX } diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index a382023ae..d58c523f1 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -4692,11 +4692,13 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se previewPanel.setImageReplaceButtonVisible(false, false, false, !((Tag) treeItem).isReadOnly() && (treeItem instanceof DefineSoundTag)); try { SoundTagPlayer soundThread = new SoundTagPlayer(null, (SoundTag) treeItem, Configuration.loopMedia.get() ? Integer.MAX_VALUE : 1, true); + if (!Configuration.autoPlaySounds.get()) { + soundThread.pause(); + } previewPanel.setMedia(soundThread); } catch (LineUnavailableException | IOException | UnsupportedAudioFileException ex) { logger.log(Level.SEVERE, null, ex); } - } else if ((treeItem instanceof FontTag) && internalViewer) { previewPanel.showFontPanel((FontTag) treeItem); } else if ((treeItem instanceof TextTag) && internalViewer) { diff --git a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java index c20f9178d..6b490e7a0 100644 --- a/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java +++ b/src/com/jpexs/decompiler/flash/gui/SoundTagPlayer.java @@ -271,9 +271,7 @@ public class SoundTagPlayer implements MediaDisplay { loop: while (true) { - final byte[] data = new byte[16]; - - setPausedFlag(false); + final byte[] data = new byte[16]; setActiveFlag(true); long posBytes = 0; try { diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties index 6d3a6469a..94eb52b92 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties @@ -630,6 +630,9 @@ config.description.warning.video.vlc = Show warning about VLC media player requi config.name.playFrameSounds = Play frame sounds config.description.playFrameSounds = Play sounds on displaying frames. -config.name.fixAntialiasConflation = Try to fix antialias conflation (SLOW) -config.description.fixAntialiasConflation = Tries fixing conflation artifacts between adjacent shapes caused by antialiasing. This slows down a rendering. +config.name.fixAntialiasConflation = Try to fix antialias conflation (EXPERIMENTAL, SLOW) +config.description.fixAntialiasConflation = Tries fixing conflation artifacts between adjacent shapes caused by antialiasing. This slows down a rendering. Experimental feature. + +config.name.autoPlaySounds = Autoplay sounds +config.description.autoPlaySounds = Automatically play sounds (DefineSound) on treenode selection. diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties index 1854cb5b9..82f759921 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_cs.properties @@ -620,5 +620,8 @@ config.description.warning.video.vlc = Zobrazovat varov\u00e1n\u00ed o vy\u017ea config.name.playFrameSounds = P\u0159ehr\u00e1vat sn\u00edmkov\u00e9 zvuky config.description.playFrameSounds = P\u0159ehr\u00e1vat zvuky p\u0159i zobrazov\u00e1n\u00ed sn\u00edmk\u016f. -config.name.fixAntialiasConflation = Pokusit se opravit antialiasingovou konflaci (POMAL\u00c9) -config.description.fixAntialiasConflation = Pokus\u00ed se opravit konfla\u010dn\u00ed artefakty mezi p\u0159il\u00e9haj\u00edc\u00edmi tvary zp\u016fsobenou antialiasingem. Toto zpomaluje renderov\u00e1n\u00ed. +config.name.fixAntialiasConflation = Pokusit se opravit antialiasingovou konflaci (EXPERIMENT\u00c1LN\u00cd, POMAL\u00c9) +config.description.fixAntialiasConflation = Pokus\u00ed se opravit konfla\u010dn\u00ed artefakty mezi p\u0159il\u00e9haj\u00edc\u00edmi tvary zp\u016fsobenou antialiasingem. Toto zpomaluje renderov\u00e1n\u00ed. Experiment\u00e1ln\u00ed. + +config.name.autoPlaySounds = Automaticky p\u0159ehr\u00e1vat zvuky +config.description.autoPlaySounds = Automaticky p\u0159ehr\u00e1vat zvuky (DefineSound) p\u0159i v\u00fdb\u011bru polo\u017eky ve stromu. \ No newline at end of file