Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 58 59 [60] 61 62 ... 105

Author Topic: SoundSense: a sound engine for dwarf fortress.  (Read 571607 times)

Schatzi

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #885 on: August 10, 2012, 01:34:35 pm »

apparently I'm too nooby to even properly setup a java application anymore. I can't get any sound whatsoever.

HALP!?

using the lastest version of java (1.7 - do I need to downgrade?)
also using lazy newb pack ironhand grafx, no other mods

I start soundsense, updated it, everything looks normal, says it's listening to the gamelog file, I start df, I don't have anymore ingame music, music options can't be selected, but I'm hearing nothing. Played for 15 minutes, still nothing.

Windows XP
Core2Duo E6400
3.25GB ram
plenty of sys resources
Logged

Schatzi

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #886 on: August 10, 2012, 11:29:03 pm »

herpdeederp, nevermind me, I fixed it.

PROTIP: put soundsense in the right directory if you have 2 installs of DF hahaha!
Logged

IRID1UM

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #887 on: August 11, 2012, 01:32:24 am »

I just registered here to say THANK YOU for this wonderful program and all the work that has flown into it. It is awesome :3
Logged

RabblerouserGT

  • Bay Watcher
  • ETHIC:NONBELIEVER:SHUN
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #888 on: August 14, 2012, 10:06:30 pm »

@Schatzi:
Me, too. The log from soundsense updating often shows an errors, though.


I've gotten java errors from NullPointException to "java.lang.ClassCastException: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.d3d.D3DSurfaceData".

Looking for a place in soundsense where it keeps logs, if possible.



I'm guessing the soundpack on the website isn't the latest? Please update it since the auto-updater sucks at the moment, at least for me.

There's one song in a Twitch stream that everyone swears is Vanilla soundsense, but I can't freaking get it because of these stupid errors! :( I am very sadface!



By the way, can you simply copypaste songs into the seasons folders to have the songs play automagically? Or do you have to tweak xmls and junk for that?
« Last Edit: August 16, 2012, 08:09:54 am by RabblerouserGT »
Logged

..and then the child Praiseincest shall be dipped in the river of Pregnantjuices! Rejoice! The son of Armok has been born!
My dwarf worships the goddess of suicide. This can only bode well.

fractal

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #889 on: August 19, 2012, 10:25:09 am »

Hey, thanks for the great tool! It really adds an extra dimension to the game.
Anyway: I found a way to get it to work flawlessly on snow leopard (10.6.8).
I'm using the '.app bundle' that comes with plaidman's DwarfBuilder (it amounts to a shell script) to launch the latest .jar (r35)
Problem:Needs java 1.7- or else weird glitchyness - sounds don't get cleared from playing list, eventually gumms up)
Solution: openJDK 7u . Pop the jdk in the JavaVirtualMachines directory, then set java preferences to use openJDK first.
Effect: Now SoundSense runs on OSX 10.6.8, properly. Hooray.
Logged

dlcooper

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #890 on: November 11, 2012, 10:26:10 am »

@Schatzi:
Me, too. The log from soundsense updating often shows an errors, though.


I've gotten java errors from NullPointException to "java.lang.ClassCastException: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.d3d.D3DSurfaceData".

Looking for a place in soundsense where it keeps logs, if possible.



I'm guessing the soundpack on the website isn't the latest? Please update it since the auto-updater sucks at the moment, at least for me.

There's one song in a Twitch stream that everyone swears is Vanilla soundsense, but I can't freaking get it because of these stupid errors! :( I am very sadface!




I'm getting the same errors as well.  If you keep going back into soundsense and autoupdating, you will eventually get everything.  Each time it just continues from where it left off.
Logged

AQuebman

  • Bay Watcher
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #891 on: December 14, 2012, 03:07:49 pm »

I tried getting soundsense to work but it just hangs when I try to read the packages or read an update.  All I have done was download the LNP and then try to run it so I admit being a total noob to the utility.  The other utilities work ok so i'm not sure what the issue is with Soundsense. 

Are there sound packages I have to pick up to add to it or do most of you run the default?
Logged

Grizle

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #892 on: December 18, 2012, 07:50:32 pm »

I have been having some trouble trying to download SoundSense. Every time I try to click the link it brings me to a page that never loads or downloads anything just a blank page. It may just me being incompetent and stupid. Any help would be appreciated.  :)
Logged

Grizle

  • Escaped Lunatic
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #893 on: December 19, 2012, 07:47:17 pm »

I have been having some trouble trying to download SoundSense. Every time I try to click the link it brings me to a page that never loads or downloads anything just a blank page. It may just me being incompetent and stupid. Any help would be appreciated.  :)
Scratch my last post I figured it out. Just me being stupid. :P.
Logged

zwei

  • Bay Watcher
  • [ECHO][MENDING]
    • View Profile
    • Fate of Heroes
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #894 on: December 20, 2012, 11:17:25 am »

There is new version of SS up:

release 36:

http://df.zweistein.cz/soundsense/soundSense_36_166.zip

* SS now supports change of encoding of logfiles - should be usefull for russian version of df.
* SS now supports multiple update urls at same time and should attempt to retry failed downloads intelligently.
* Bug with exceptions cased by redrawing list with information about updates should be fixed.
* Some error messages are saner.

Also, uploaded full soundpack to usual location: http://df.zweistein.cz/soundsense/soundpack.zip

Cobbler89

  • Bay Watcher
  • Cobbler cancels celebrate Caesar: mending soles
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #895 on: December 22, 2012, 10:01:34 pm »

Wild question: I see you have the source bundled with the download... I have a few ideas for changes to improve the ability of a user to set up his own packs and switch between them and/or mix and match parts without having to edit the xml trigger/sound/music listings themselves, to improve the handling of the unknown starting season thing, and possibly do something about adventure mode. Would you be interested in a detailed but concise report of suggested modifications/additions to the code based on my reading the source and these ideas for improvements? (And/or actual modified code, but the reliability of that would depend on whether I can get it to compile, which I might not figure out even using the code as-is. [Rant about problems I've had trying to compile Java projects redacted.])


ETA: Turns out most of what I would like for the whole seasonal thing is there, the wiki just doesn't say much about it -- if you want I can make suggestions about that too. ;^) I did figure out how to make another change or two I think would make it way easier to throw together custom sound packs and mix and match them, possibly including parts of the official pack, without meddling with the pack itself. If it's alright with you I can post the changed files on the DFFD along with explanations and related suggestions... I haven't been able to compile so far but I _think_ that's more not being set up properly for it than the changes themselves.

I haven't had a chance to experiment with Adventure Mode yet (or, for that matter, to do all the experimenting I'd like to do with regard to music relating to game status in Fortress Mode), but I may or may not have any particular suggestions once I have (it may come down to ideas for arranging the pack listings more than anything else).
« Last Edit: December 23, 2012, 09:50:41 pm by Cobbler89 »
Logged
Quote from: Mr S
You've struck embedded links. Praise the data miners!
Quote from: Strong Bad
The magma is seeping under the door.

Quote from: offspring
Quote from: Cobbler89
I have an idea. Let's play a game where you win by being as quiet as possible.
I get it, it's one of those games where losing is fun!
I spend most of your dimension's time outside of your dimension. I can't guarantee followup or followthrough on any comments, ideas, or plans.

Mr.Elendig

  • Bay Watcher
  • [TWISTED][INSANE][CANT_SPELL]
    • View Profile
[BUG] soundSense.sh is broken.
« Reply #896 on: December 23, 2012, 10:50:42 am »

[BUG] soundSense.sh is broken.

1. line 7 typo:  /urs -> /usr
2. \r\n line endings
Logged

Cobbler89

  • Bay Watcher
  • Cobbler cancels celebrate Caesar: mending soles
    • View Profile
!!enhancements!! PLUS !!=fixes=!!
« Reply #897 on: December 24, 2012, 05:33:08 pm »

So, I looked through the thread a bit and saw that this is indeed open source, and I was able to make some modifications and compile them. See below for DFFD links.

---1---

First off, a guide to compiling modifications without being able to build the whole ant thingy. Because...

Er, did that work? If not, hard link: http://memegenerator.net/instance/32409495

Go to build.xml in the source. Find the "classpath" line that has something like "./lib/jl1.0.1.jar;./lib/freetts-1.2/freetts.jar;./lib/commons-codec-1.4/commons-codec-1.4.jar;./lib/autoUpdater.jar;./lib/jansi-1.8.jar". Copy this.

Copy the folder soundsense/lib to [source folder]/lib. If you want, copy the existing soundSense.jar to it if you don't want to recompile all the parts but only the modified ones.

Open the command prompt. Go to the source folder. Enter (pasting [try right-click...] the path from build.xml):
>javac -classpath "./lib/jl1.0.1.jar;./lib/freetts-1.2/freetts.jar;./lib/commons-codec-1.4/commons-codec-1.4.jar;./lib/autoUpdater.jar;./lib/jansi-1.8.jar;[./lib/soundSense.jar]" ./src/cz/zweistein/df/soundsense/[paths/files you wish to compile, in order of dependency]"

If this doesn't work, you need to have a java compiler properly installed -- it's been so long since I set that up that I couldn't tell you how to do it... last I recall Java versions and compiler setup was a scarey place I don't feel like revisiting, but if all else fails and you're not already part of some Java project that would connect you with expertise in the matter, you can always uninstall everything Java you have and install the latest JDK and it ought to wind up right. (Sorry I can't be more helpful there.)

Anyway, repeat this last step as necessary to compile all changed parts, keeping in mind to do the ones that are dependent on others only after the ones on which they depend.

Open up soundSense.jar -- for those of you who don't know, a jar is just a zip by another name! Remove the existing class files for the part(s) you modified. Copy in the parts you just compiled in their place(s).

Make sure this modified jar gets back in the soundsense folder and you're good to go!!

I would recommend putting such instructions on the wiki. Possibly along with instructions in compiling the whole thing properly using ant or whatever so that it gets the build designation updated. Might want to put instructions in that as to how to tag it as a modified branch. I manually opened my jar and changed the version.properties inside it to list it as release 36-mod, increment the build number and update the date/time built.

---2---

While we're talking about that, more stuff that should go on the wiki:

The playing of a random seasonal music upon fortress load is not hardcoded! It's under system, and is triggered by fortress loading log messages. The start of a new fortress happens to trigger the same list of stuff as Spring, nicely. 8^) Furthermore, you can look through the list of seasonal messages, find the one for the current season, click it, and click the play button at the bottom, and Soundsense will behave correctly for that season for the remainder of the season! Sure it's a manual trigger, but it's handy to know.

(I had the idea to add some functionality to allow things like fortress loading to somehow redirect to a random one of the seasons. While it was feasible, it turned out to be more trouble than such a feature is worth. Just copy-paste all the seasonal listings into the fortress loading sound when you're creating/updating a pack, at least for now.)

---3---

I have uploaded some modifications to the DFFD [see below], both the source and the updated jar file.

One thing I did was allow an xml file to have an includeDirectory tag with a "path" attribute specifying another pack or part of another pack to include in this one. Basically this allows you to mix and match pack parts much more easily: you can leave the official pack alone (perhaps just move it to soundsense/packs/OfficialPack) and build your own, entirely separate packs and pack pieces, then you can point to a particular directory that just contains a list of pack pieces to combine!

Example of new format: let's say I have the official pack moved to soundsense/packs/OfficialPack, and my current pack path pointed at ./packs/FireflyPlusActionLines/, then...
soundsense/packs/FireflyPlusActionLines/combine.xml could contain:
<includeDirectory path="./packs/Firefly/"/>
<includeDirectory path="./packs/ActionLines"/>

This brings me to another point: I made the directory loading add a / if there is niether / nor \ at the end of it. So if you forget to end in / or \, no big deal!

Here's another example: let's say that the official pack separated seasons into seasons/music and seasons/announcements; then, I could have...
soundsense/packs/Bare/include.xml contain:
<includeDirectory path="./packs/OfficialPack/seasons/music/"/>
<includeDirectory path="./packs/OfficialPack/weather/"/>
[and maybe a few things like discovering vast caverns underground]
...and soundsense/BarePlusActionLines/combine.xml contain:
<includeDirectory path="./packs/Bare/"/>
<includeDirectory path="./packs/ActionLines/"/>

(By the way, I imagine this "action lines" custom pack would be made of clips from famous movies... but frankly, I'd like to hear Rainseeker record a martial trance announcement, "I came t' pulverise elves wi' their own pointy ears, an' to eat opposum cheese... Ach, an' I be all outta opposum cheese!")

I do recommend the official pack separate seasonal announcements and music into separate directories so things like this can be done without regard to threshold settings -- I might want to have my own seasonal announcements in ActionLines with normal threshold settings even if the seasonal announcements weren't on the same priority as the weather (which they are by default, so...).

Anyway, the point here is that you can mix and match packs and pack pieces without having to extensively modify the sound listing xmls in any given pack, especially the default.

I also made it prevent infinite loops by tracking the absolute paths of directories it's parsed and refusing to parse the same one twice. This is helpful even without the inclusion of packs and pack parts because a devious OS user could achieve similar effect with symbolic links (but this is difficult to do and comes with more problems/limitations, so). It's just a good safety feature.

ETA: Now in version 2.0 you can also use <includeListing filePathAndName="pathto/sounds.xml"/> if you don't want to deal with separating everything into directories; would still require, say, seasonal music and announcements be separated into two .xml files, but not the whole directory separated. One thing I'm using this for is to include adventurer/enviroment.xml without the rest of the adventure mode sounds.

---4---

Of course, what's mixing and matching packs good for unless you can easily switch which one or which combination you're playing with? So now, the configuration xml's soundpacks tag, instead of expecting "path", expects "defaultPath" and "allowOverride". Set allowOverride to false to always use the defaultPath. Set it to true and Soundsense will ask you to confirm or change the path when it loads or reloads. Handy, no?

ETA: I just noticed that it was still saying "Done loading [configuration directory]..." rather than "Done loading [chosen directory]..." if you selected a different directory than the default. I changed configuration.getSoundpacksPath() in that line to soundsXML.toString() and uploaded this last tweak to the DFFD file. This probably doesn't matter in the long run unless you're zwei and are planning on putting the allow-user-to-choose-pack-directory-on-load/reload feature into the... uh, "main branch"? ;^)


---5---

It's not source code, but I also fixed Achievements.xml to use the mining message log pattern for the mineral deposit achievements (had been using the cat butchering log pattern!), and fixed the two cmds to run Achievements and MissingMessages so they'd include ./lib/jansi-1.8.jar and would actually work. ;^)


---DFFD---

With JAR.
Without JAR.


---FIX FOR MUSIC NOT PLAYING---

This may or may not solve all everyone's music not playing issues, but it solved mine...

Go to http://www.javazoom.net/mp3spi/sources.html

Get version 1.9.5 of mp3spi.

Open up the zip.

Copy mp3spi1.9.5 to soundsense/lib/MP3SPI and delete mp3spi1.9.4 from that folder.

Go to "lib" in the zip.

Copy jl1.0.1 to soundsense/lib/MP3SPI and delete jl1.0 from that folder.

If you can figure out how to recompile the exe to use these, do so. I can't. But read on!

Edit soundSense.cmd: where it points classpath to mp3spi1.9.4, change that to mp3spi1.9.5, and where it points to jl1.0, change to jl1.0.1. You can now run Soundsense using soundSense.cmd and have everything work! I have added the updated soundSense.cmd to the zip downloads on DFFD, but it won't do you any good unless you replace the jars from http://www.javazoom.net/mp3spi/sources.html

This upgrade should probably be incorporated into the main release at some point, obviously.

« Last Edit: December 27, 2012, 08:07:40 pm by Cobbler89 »
Logged
Quote from: Mr S
You've struck embedded links. Praise the data miners!
Quote from: Strong Bad
The magma is seeping under the door.

Quote from: offspring
Quote from: Cobbler89
I have an idea. Let's play a game where you win by being as quiet as possible.
I get it, it's one of those games where losing is fun!
I spend most of your dimension's time outside of your dimension. I can't guarantee followup or followthrough on any comments, ideas, or plans.

zwei

  • Bay Watcher
  • [ECHO][MENDING]
    • View Profile
    • Fate of Heroes
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #898 on: December 25, 2012, 02:23:57 pm »

Glad to see open source being actually used! I suppose it is not time to put in into revision systen on google code so that it becomes much easier to track changes.

If you want to add something to wiki, do it - it on wiki for reason :-)

About combining packs - I avoided configuration file listing directories on purporse. It is very usefull if you want just pieces of packs or mixing and matching, but reason why it was not worked on so far was because there were not enough alternate packs published to make effort worth it. So kudos for doing it. Might i get diffs so that it can get incorporated into vanilla?

Cobbler89

  • Bay Watcher
  • Cobbler cancels celebrate Caesar: mending soles
    • View Profile
Re: SoundSense: a sound engine for dwarf fortress.
« Reply #899 on: December 25, 2012, 03:19:39 pm »

Good to see you -- you came in right as I was updating for an unrelated fix I found involving the mps3spi library and what looks like a dependency of it. Be sure to take a glance at that too.

The source for the modified files -- SoundSense.java, SoundsXML.java and Configuration.java -- is in both DFFD downloads. Let me know if you need anything else.
http://dffd.wimbli.com/file.php?id=7251
http://dffd.wimbli.com/file.php?id=7252

I did notice there weren't many alternative packs -- we will have to work on that. I personally use a lot of "packs" that basically have xml listings pointing to music in my music folder that I used to play while listening to Dwarf Fortress, so I figured it'd be handy to have more options for combining these with the official pack or each other without any of it being overwritten by an update to the official pack. (I'm the kinda guy who mostly wants to have environmental sounds and music, rather than particular game sound effects or announcements. I guess that's unusual, but Soundsense is wonderfully versatile.)

I guess I'll finally have to get an account on the wiki and train myself not to spend too much time on there... heh heh heh!

I also forgot to mention... kudos on writing a clear, solid program. It's not every day I learn how something like Java XML parsing works by reading someone else's non-academic-example code that does it. ;^)

Merry Christmas, all!
Logged
Quote from: Mr S
You've struck embedded links. Praise the data miners!
Quote from: Strong Bad
The magma is seeping under the door.

Quote from: offspring
Quote from: Cobbler89
I have an idea. Let's play a game where you win by being as quiet as possible.
I get it, it's one of those games where losing is fun!
I spend most of your dimension's time outside of your dimension. I can't guarantee followup or followthrough on any comments, ideas, or plans.
Pages: 1 ... 58 59 [60] 61 62 ... 105