Coder Social home page Coder Social logo

soundswapper's People

Contributors

damencs avatar pajlada avatar petertalbanese avatar

Watchers

 avatar  avatar

soundswapper's Issues

Area Sounds Swap

This only works with Sound Effects and not Area sounds, right? It'd be great if you could swap the sounds for both. I believe the method for getting those is onAreaSoundEffectPlayed.

Custom sounds volume is beeping

Hi I'm trying to replace the venator bow sounds with a shortbow or crossbow. The sound is not matched to the game volume so its way too loud, but when lowering using the Custom Sounds Volume it creates a honk/beep. I do hear a slight beep at the end of the sound file, but it seems the volume isn't being lowered correctly. The arrow sound is gone but the beep remains so each arrow shot is just a beep. I hope that makes sense...

Performance is extremely slow / freezes

I changed one of my prayer sounds, for example 2686 which is the prayer SMITE sound, and placed a .wav file in the "SoundSwapper" folder in the root directory of runelite.

Now when I activate the SMITE prayer, it works as expected. But if I spam the prayer too much (i.e. 2 clicks in a tick) then runelite freezes for a second. So I think the performance of this plugin makes it unusable at least for my case.

Doest seem to work.

Ive tried changing the drop sound but it just mutes it. I followed the instructions clearly. No idea

Music Tracks support

Hi,
Can you add a feature to blacklist music tracks? And potentially an option to mute all music tracks?
I wanna listen to the jingles without listening to the music.
Would love it if you add it.

[Suggestion] add filter for blacklisted sounds in debug mode

I'm currently chinning, trying to hear my metronome, and finding it difficult to filter monkey noises when there's so much flooding the debug log. Would be nice if there was a checkbox to filter anything already blacklisted from appearing in the debug mode log.

Swapping sound effects with a custom sound mutes sound effect in question

I'm trying to custom swap a soundwith a short wav file I made just to try the plugin out. I've identified the sound effect I want to swap in game with the "debug sound effects" feature, typed the sound effect ID into the Custom Sounds field, pasted the wav file with the same sound ID number as the sound I'm wanting to swap into the SoundSwapper folder in my .runelite folder, and checked the box called "Swap Sound Effects". This results in no sound playing when the sound effect should happen. I've listened back to the wav file alone to make sure it has audible sound in it (which it does), tried using a different wav file, tried closing and reopening runelite, and I've tried using different sound IDs and matching the wav file name to the ID and preforming the action in game that should produce that sound. None of these troubleshoots worked and will still result in silence. Once the box called "Swap Sound Effects" has been un-checked, the vanilla in-game sound is able to play again but I'd like this plugin to work for me and others who might have the same problem.

Unable to load custom sound

Hello,

Cool project, I believe I am following the readme correctly but I think I have perhaps found some wav files that are unsupported in some way. I have confirmed this in the logs below.

Here is a sample wav that produces this issue

Though, through downloading wavs through various sources, I've not gotten one to work so perhaps its something specific to my system or configuration.

2023-07-24 11:31:52 CDT [AWT-EventQueue-0] WARN  com.soundswapper.SoundSwapperPlugin - Unable to load custom sound 2401
javax.sound.sampled.UnsupportedAudioFileException: Stream of unsupported format
	at java.desktop/javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
	at com.soundswapper.SoundSwapperPlugin.tryLoadSound(SoundSwapperPlugin.java:270)
	at com.soundswapper.SoundSwapperPlugin.updateSoundList(SoundSwapperPlugin.java:299)
	at com.soundswapper.SoundSwapperPlugin.onConfigChanged(SoundSwapperPlugin.java:134)
	at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
	at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
	at net.runelite.client.config.ConfigManager.setConfiguration(ConfigManager.java:824)
	at net.runelite.client.config.ConfigManager.setConfiguration(ConfigManager.java:841)
	at net.runelite.client.plugins.config.ConfigPanel.changeConfiguration(ConfigPanel.java:711)
	at net.runelite.client.plugins.config.ConfigPanel$2.focusLost(ConfigPanel.java:514)
	at java.desktop/java.awt.AWTEventMulticaster.focusLost(Unknown Source)
	at java.desktop/java.awt.Component.processFocusEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
	```

AssertionError on profile change.

java.lang.AssertionError: must be called on client thread
	at client.setGameState(client.java:51244)
	at com.soundswapper.SoundSwapperPlugin.onConfigChanged(SoundSwapperPlugin.java:175)
	at net.runelite.client.eventbus.EventBus$Subscriber.invoke(EventBus.java:70)
	at net.runelite.client.eventbus.EventBus.post(EventBus.java:223)
	at net.runelite.client.config.ConfigManager.switchProfile(ConfigManager.java:234)
	at net.runelite.client.plugins.config.ProfilePanel.lambda$switchToProfile$7(ProfilePanel.java:666)
	at net.runelite.client.util.RunnableExceptionLogger.run(RunnableExceptionLogger.java:41)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

configchanged can happen on any thread, so you should probably wrap it in clienthtread.invokelater.

This is an error not an exception so it isn't caught and cuts the profile change short with assertions enabled which makes working on my plugin hub plugins harder :P

Suggestion: Use Sound ID instead of names

Hi, awesome plugin! I have a suggestion though. Would it be possible to use Sound IDs instead of the names provided on the wiki page? The list on the wiki page is a bit outdated and doesn't contain sounds from more recent updates. For example, Tumeken's Shadow attack sound has Sound ID 6410, while the wiki list only goes up to ID 4996. Using the Visual Sounds plugin you can quite easily find out the Sound ID of the sound you wish to swap. For example, you could put "6410.wav" in the SoundSwapper folder and add 6410 to the list in the plugin.

freezing

game freezes for second sometimes when using the plugin, after disabling i didnt have the freezing problems

Doesnt work

Swapping sounds simply doesnt work but "Consume Sounds Effects" does mute all audio.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.