algorithman / soundcense Goto Github PK
View Code? Open in Web Editor NEWSound for Dwarf Fortress without the need of java :)
Sound for Dwarf Fortress without the need of java :)
Let the user decide wether to delete or replace files changed in updates.
Before I say anything, I just want to mention that I'm not well versed in computer-speak and am, all things considered, a pretty pathetic Linux user. With that being said, I'm always willing to learn, and, in this particular case, I've been bashing my head against the problem for the last 5 hours, trying to approach it from so many different angles, and on every front I've hit nothing but dead ends. Basically, I want Sound Sense on DF--that's it.
I'm running Ubuntu 20.04
DF version is: 0.47.05
SoundCenSe v.1.4.4 (latest at the time)
OK, the nitty-gritty stuff:
[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: libglib-2.0-0.dll assembly: type: member:(null)
at (wrapper managed-to-native) GLib.Marshaller.g_malloc(uintptr)
at GLib.Marshaller.StringToPtrGStrdup (System.String str) [0x0002a] in <7fabccec8b944d08a73d2c44188cf7f9>:0
at GLib.Global.set_ProgramName (System.String value) [0x00001] in <7fabccec8b944d08a73d2c44188cf7f9>:0
at Gtk.Application.SetPrgname () [0x0000d] in <64bd07ca456641de939ae0132964184c>:0
at Gtk.Application.Init () [0x00001] in <64bd07ca456641de939ae0132964184c>:0
at SoundCenSeGTK.MainClass.Main (System.String[] args) [0x000a7] in <39229d700ca34e4b81effba0ff3175b1>:0
With nothing else ... command line awaits next entry.
Windows has it's specific .dll files, and I'm assuming mono is trying to access one of them, but my being a Linux user has a special way of pissing it off--but that's just a guess. In any case, help would be greatly appreciated....
Add possibility to get sound probability up for your favorites
Let the user decide what not to hear
Create a new SFX Control (Volume, Mute) with a variable list of playing sounds
I use a lot of scripts while playing Dwarf Fortress' adventure mode and I noticed that SoundCenSe randomly crashes while I play. I later found out that it consistently crashes whenever I use scripts that rapidly generate a lot of sounds in the log (such as picking up and dropping items).
If the sound queue gets too backed up with something along the lines of 200 or so sounds waiting to be played then SoundCenSe crashes. This limit won't really be reached in normal gameplay (unless an absurdly large fortress has a tantrum spiral), but it leads to problems when running scripts.
I tried this again with the original soundsense and it doesn't crash, but it spends a lot of CPU trying to play 50+ sounds / second)
Show download log for soundpack updates
2018-07-16 14:37:08.8333|WARN|SoundCenSeGTK.MainClass|Checking dll in registry
2018-07-16 14:37:10.1444|WARN|SoundCenSeGTK.SoundsXML|Include listing tag without valid 'filePathAndName' attribute encountered (make sure it ends in '.xml'!).
SDL2_mixer has enough functions to do whats needed, only resampling can be effort.
C# wrapper for SDL2 is already done
Buffer the last 10 or so played sounds for easy disabling of something annoying.
Display as list on demand.
Create a display of disabled sounds, for easy reenabling.
Add controls to change the config (like soundpackspath and other things, which are not accessible by other means)
After discovering a cavern, adamantine, lava, etc... In other word when one of the "win music *.mp3" is played, there is no music anymore. This issue can be resolved by restarting the game or by waiting for a new season.
SoundCenSe is not currently compatible with Dwarf Fortress 64-bit on Windows.
You are using Process.MainModule to identify and get the path to Dwarf Fortress and its log files, but this property is not available from a 32-bit process to a 64-bit process. Normally it would throw an exception, but in this case it is buried in a try/catch that assumes all errors mean Dwarf Fortress closed, so it swallows them silently.
I thought you would want to know that SoundCenSe is not compatible with 64-bit Dwarf Fortress and why, if you did not already.
Last mixer stage is probably only a cpu eater, sound card does mixing with less effort
Hi, any chance to run this on OSX ?
Thanks
Martin
Hi
I have been encountering frequent crashes of the application with the following error in the log (this is the entire log for this session)
2017-01-19 06:47:05.1415|WARN|SoundCenSeGTK.MainClass|Checking dll in registry
2017-01-19 06:47:07.1915|WARN|SoundCenSeGTK.SoundsXML|Include listing tag without valid 'filePathAndName' attribute encountered (make sure it ends in '.xml'!).
2017-01-19 06:54:00.8535|ERROR|SoundCenSeGTK.PackDownloader|File http://df.zweistein.cz/soundsense/soundpack/autoUpdater.xml had wrong checksum (45328223b0bc4983941a7eef45e6721821a0207c<->b67a8d1a88a896bf3d1677d41037f17fa08e8170
2017-01-19 06:54:52.6242|WARN|missing|Loaded region8, Ecamo Alino (The Universes of Dawn) at coordinates (45,42)
2017-01-19 06:54:52.9537|WARN|missing|Loaded the fortress Erusharzes (Handleknight), colonized by the group Bithsestiden (The Triangular Paddle) of the civilization Catten Om (The Channels of Crushing).
2017-01-19 07:02:48.6198|ERROR|SoundCenSeGTK.LogFileListener|Exception while reading gamelog
2017-01-19 07:02:48.6228|ERROR|SoundCenSeGTK.LogFileListener|System.NullReferenceException: Object reference not set to an instance of an object.
at SoundCenSeGTK.FmodChannelPool.IsSoundPlaying(String filename)
at SoundCenSeGTK.fmodPlayer.PlaySound(SoundSoundFile sf, String channel, Single volume, Boolean mute)
at SoundCenSeGTK.fmodPlayer.Play(ISound sound, Int64 x, Int64 y, Int64 z)
at SoundCenSeGTK.SoundProcessor.ProcessLine(Object sender, GamelogEventArgs e)
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at SoundCenSeGTK.LogFileListener.OnLogfileEvent(String line)
at SoundCenSeGTK.LogFileListener.Tick()
Many thanks, and keep up the good work, as I hate having to install Java just for Soundsense.
Everytime a dwarf crafts a masterpiece, the utility crashes. I have tried changing the mp3, and I have tried removing all references to masterpieces in the productions.xml file. With both attempts, it still crashes.
I'm using LNP .44.12-r1
I'm getting this error. I have all prerequisites installed, so I'm not sure what is happening here:
2017-06-28 06:28:56.1483|WARN|SoundCenSeGTK.MainClass|Checking dll in registry
2017-06-28 06:28:56.4915|FATAL|SoundCenSeGTK.MainClass|Uncaught Exception:
System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.
at Gdk.PixbufLoader..ctor()
at Gdk.PixbufLoader..ctor(Assembly assembly, String resource)
at Gdk.Pixbuf..ctor(Assembly assembly, String resource)
at Gdk.Pixbuf.LoadFromResource(String resource)
at SoundCenSeGTK.MainWindow.Build()
at SoundCenSeGTK.MainWindow..ctor()
at SoundCenSeGTK.MainClass.Main(String[] args) System.MissingMethodException
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.