Tool Quick Wave Bank - An easy, no-hassle Wave Bank creator

In regards to text files defining a track list, is it just a list of pathnames? Easy if you have a music program that saves as .m3u (as long as it stores absolute, not relative pathnames) and just rename .m3u to .txt;

as .m3u is relatively the same thing:
Code:
c:\path\goes\to\here.mp3
c:\path\here\does not.mp3
c:\path\ends here.mp3

returns a playlist with

here.mp3
does not.mp3
ends here.mp3

in a program that supports m3u, such as winamp, foobar2000, windows media player..

If that's the case, half the job is done already. Just load and build. (You should have a notepadded list of what goes where, though)

EDIT: I forgot to iterate something. If your resulting playlist is showing relative pathnames e.g.:
Code:
goes\to\here.mp3
here\does not.mp3
ends here.mp3
Try saving your playlist outside of your music directory. This will force the resulting m3u to use absolute pathnames.
 
Last edited:
In regards to text files defining a track list, is it just a list of pathnames? Easy if you have a music program that saves as .m3u (as long as it stores absolute, not relative pathnames) and just rename .m3u to .txt;

as .m3u is relatively the same thing:
Code:
c:\path\goes\to\here.mp3
c:\path\here\does not.mp3
c:\path\ends here.mp3

returns a playlist with

here.mp3
does not.mp3
ends here.mp3

in a program that supports m3u, such as winamp, foobar2000, windows media player..

If that's the case, half the job is done already. Just load and build. (You should have a notepadded list of what goes where, though)
Thanks!
 
I found the issue. I changed the temporary directory used with the latest version but I forgot to update it in the build console project.

It's all fixed now. Check the latest version and it should work fine. Sorry about that.
I have another problem with this i want to do a wavebank with sonic and megaman osts but i had this error i have all songs in 2 folders one in mp3 and the other in wav
System.TypeInitializationException: Se produjo una excepción en el inicializador de tipo de 'QuickWaveBank.Extracting.WaveBankExtractor'. ---> System.ArgumentNullException: El valor no puede ser nulo.
Nombre del parámetro: path1
en System.IO.Path.Combine(String path1, String path2)
en QuickWaveBank.Extracting.WaveBankExtractor..cctor()
--- Fin del seguimiento de la pila de la excepción interna ---
en QuickWaveBank.Extracting.WaveBankExtractor.GetTrackName(Int32 index)
en QuickWaveBank.MainWindow.MakeListViewItem(Int32 index, String waveFile)
en QuickWaveBank.MainWindow.AddWaves(String[] files, Boolean clearCurrent)
en QuickWaveBank.MainWindow.OnAddWaveFolder(Object sender, RoutedEventArgs e)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
en System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
en System.Windows.Controls.Primitives.ButtonBase.OnClick()
en System.Windows.Controls.Button.OnClick()
en System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
en System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
en System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
en System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
en System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
en System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
en System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
en System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
en System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
en System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
en System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
en System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
en System.Windows.Input.InputManager.ProcessStagingArea()
en System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
en System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
en System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
en System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
en MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
en System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
en System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) please help me
 
I have another problem with this i want to do a wavebank with sonic and megaman osts but i had this error i have all songs in 2 folders one in mp3 and the other in wav
please help me

Really sorry it took me so long to get back to you. I think I've fixed the issue in the latest version. It was most likely caused by Quick Wave Bank not being able to locate Terraria's content directory and not handling the fact that the path could be null. Lemme know if it works now.
 
hey
you got a quick, easy-to-understand guide on how to use this?
Sorry for the late reply.

Terraria requires 41 tracks in a Wavebank to cover all of the tracks used in game. In order to a build a wavebank with this, drag sound files into the window or press the "Add Tracks from Folder" or "Add Track" button. As you add tracks to the list, the window will start to label what each track would represent at its current index in the list.

(At the moment there's no real way to assign a track to a track indexed later in the list without first having at least that many tracks in your list. I need to make a better way to order things).

But anyway, once you've dropped 41 tracks you plan to use into the tool, then it will be easier to drag and drop them (Or use the "Move Track Up" or "Move Track Down" buttons) to order the tracks to represent the correct track in game. After this is done. Press the folder button next to the Output File textbox in order to choose the save location for your wave bank. Then press "Build" to start building the wave bank.

After that process is finished, the wave bank will be present in the desired location. Take this file and replace the "Wave Bank.xnb" file in your Terraria Content with it. If everything is working correctly, the songs should play properly in game after a restart, otherwise the music volume will keep falling to zero.
 
Sorry for the late reply.

Terraria requires 41 tracks in a Wavebank to cover all of the tracks used in game. In order to a build a wavebank with this, drag sound files into the window or press the "Add Tracks from Folder" or "Add Track" button. As you add tracks to the list, the window will start to label what each track would represent at its current index in the list.

(At the moment there's no real way to assign a track to a track indexed later in the list without first having at least that many tracks in your list. I need to make a better way to order things).

But anyway, once you've dropped 41 tracks you plan to use into the tool, then it will be easier to drag and drop them (Or use the "Move Track Up" or "Move Track Down" buttons) to order the tracks to represent the correct track in game. After this is done. Press the folder button next to the Output File textbox in order to choose the save location for your wave bank. Then press "Build" to start building the wave bank.

After that process is finished, the wave bank will be present in the desired location. Take this file and replace the "Wave Bank.xnb" file in your Terraria Content with it. If everything is working correctly, the songs should play properly in game after a restart, otherwise the music volume will keep falling to zero.
thanks i guess
i've already figured it out tho
rather user-friendly ui
 
I tried doing it. It was kinda stressy, but I did it! I added some music from games, music I made by myself and what not. :)
 
Regarding the whole thing about .m3u in general: there's no need to rename it as .txt -- as it *is* by rights a textfile. In dialogue, choose "All Files (*.*)" and select the .m3u in question. Make sure the contents are showing absolute paths, not relative ones, of course. You can use a text editor to make the relevant changes.
 
Cello! I saw this tool and i instantly downloaed it (along with the gigantic lump of songs to use, ofcourse). After 2 hours of intense planning and 30 minutes in the toilet i was finally done with my dream wave bank. Excitedly, i clicked the "build" button that gloomed the window and then i went to use the toilet again just incase if the process took long. I returned from my bathroom and looked at my screen. I saw red writing. My heart felt with despair and i thought to myself "RED! That can't be good!" and as my vision focused on the text my butt sank into the bed, my soul sank deeper than my butt in a treacherous pit of saddness. "Failed to create wavebank"...the only words to end my suffering in this meaningless nothing we call life (dont worry i had no plans to end myself, i used suicide helpline (always use suicide helpline kids before u think about doing something stupid ;))) My 2 hours of work and 30 minutes of going to the toilet was wasted and i am confised why. I did everyhting it told me to. ANd when i read the console the funny thing is that it had an error trying to even do the beggining! So god knows what the rest of the 40 songs will be like. Here is the code:

Building for Win32...
Building global settings file C:\Users\Fabs Cairaschi\AppData\Local\Temp\TriggersToolsGames\QuickWaveBank\WaveBankProject.xgs
Building wave bank C:\Users\Fabs Cairaschi\AppData\Local\Temp\TriggersToolsGames\QuickWaveBank\Wave Bank.xwb
Loading 01 Flip-Swap Galaxy - Super Mario Galaxy 2 Music ExtendedEncoded 317385404 bytes of 44kPcm16BitStereo data to xWMA (bitrate 48000)
Encoded 317385404 bytes of 44kPcm16BitStereo data to xWMA (bitrate 48000)
Processing 01 Flip-Swap Galaxy - Super Mario Galaxy 2 Music ExtendedFAILED to encode 317385404 bytes of 44kPcm16BitStereo data to xWMA (bitrate 48000)
C:\Users\Fabs Cairaschi\Downloads\Flip-Swap Galaxy - Super Mario Galaxy 2 Music Extended.wav: Error: This implementation doesn't take advises
This implementation doesn't take advises

There was alot of other mumbo jumbo before it like encode 4003000 bytes and if i need to show u that i will gladly but it was really long and i didnt want to spam this thread. I know im a latey (in other words i am really late in terms of when the thread was made and what time im sending this) and i do hope u reply asap (or even reply to start off with). Me and my bro have spent so much time on this wave bank and i cant let it go to waste. If there is some other miracle technology god reading this and u understand what the console nonsense is i would really appreciate it if u could help me.

Thank you for ur time
 
OH noes! I took another trip to the bathroom and thought to myself "What could be wrong?" I checked the files over and over again and BINGO BANGO BONGO! I found the problem. The .wav file was too LONG. I realised this cuz all the extended themes did not work. It would be deleightful if you could tell me the limit, my guess is around 20 minutes but a more exact time would be helpful! Thank you for your time (even though i figured it out but ur time is still required!)
 
Back
Top Bottom