DiskOut Output Plugin v0.0.1
http://redrival.com/alphax86dev/downloads/diskout-0.0.1.zip This is a zip archive of the source code I'm currently working with. It works in a minimal fashion currently. For lack of a custom dialog to select where the files go, it simply take the input file, tacks a ! onto the end of the filename, and then changes the extension to wav, and writes it to the same directory as the original file. Some questions: * How to I display a customize dialog from the preferences page when I select my plugin? * When the plugin is outputting the data, the time counter on the main window does not count down. Where is the code that makes this happen at? Could I have messed something up that causes it not to count anymore? Any comments/improvements are welcome. I think I have the time calculation messed up a bit because I used WinAmps disk outputter as a test, and none of my output files matched in time or file size, so I still have a bit of work to go, but at least I have a start I reckon. Michael Rich http://alphax86dev.cjb.net http://www.cdx.sk/userwebs/zdrpg ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev
Re: General Question
i don't think this is the issue. i think it is bc we are sanity checking the database on startup.the more mp3s you have the longer it takes. we were gonna stop doing it i thought with 2.0.2 though. isaac? elrod [EMAIL PROTECTED] wrote: > On 25 Feb, Duc Tang wrote: > > > > I fully support the freeamp program, but why does Freeamp take so long to load > > up, I am starting to use Winamp because of it. Winamp loads up much quiker, is > > this situation similiar on everyone's computer. > > You should just leave FreeAmp running. :-) > > But seriously, FreeAmp is built on a plugin architecture where each > plugin is in a DLL. When Windows loads a DLL from disk, it loads the > given DLL at a certain base address that the DLL specifies. If another > DLL is already residing at that address, the DLL needs to be re-based. > All of the address references in the loading DLL that assumed one base > address now need to be told that the DLL has been rebased. This process > is time-consuming, especially for FreeAmp since we have a lot of DLLs. > > This can be minimized by giving base addresses to each one of our DLLs > so that when FreeAmp loads we can prevent the conflicts which will make > FreeAmp load a lot faster. Why haven't we done this? We've been to busy > writing code? Naaah. > > Anyway, if you want to really get into depth about this issue check out > this article: (I mentioned this article to you a while ago Elrod, I > just now found it again) > > http://msdn.microsoft.com/library/techart/msdn_pagetest.htm > > --ruaok Freezerburn! All else is only icing. -- Soul Coughing > > Robert Kaye -- [EMAIL PROTECTED] http://moon.eorbit.net/~robert > > ___ > [EMAIL PROTECTED] > http://www.freeamp.org/mailman/listinfo/freeamp-dev ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev
Re: DiskOut Output Plugin v0.0.1
right now there is not a way for plugins to have their own prefs dynamically displayed in the pref dialog. that is something we plan on figuring out for 3.0. i can't answer the time stuff, Rob? i think saving the file to the same directory as the source file is the best solution right now. elrod Michael Rich wrote: > http://redrival.com/alphax86dev/downloads/diskout-0.0.1.zip > > This is a zip archive of the source code I'm currently working with. It > works in a minimal fashion currently. For lack of a custom dialog to select > where the files go, it simply take the input file, tacks a ! onto the end of > the filename, and then changes the extension to wav, and writes it to the > same directory as the original file. > > Some questions: > > * How to I display a customize dialog from the preferences page when I > select my plugin? > * When the plugin is outputting the data, the time counter on the main > window does not count down. Where is the code that makes this happen at? > Could I have messed something up that causes it not to count anymore? > > Any comments/improvements are welcome. I think I have the time calculation > messed up a bit because I used WinAmps disk outputter as a test, and none of > my output files matched in time or file size, so I still have a bit of work > to go, but at least I have a start I reckon. > > Michael Rich > http://alphax86dev.cjb.net > http://www.cdx.sk/userwebs/zdrpg > > ___ > [EMAIL PROTECTED] > http://www.freeamp.org/mailman/listinfo/freeamp-dev ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev
Re: DiskOut Output Plugin v0.0.1
> i can't answer the time stuff, Rob? In each PMO, there is a function called: void HandleTimeInfoEvent(PMOTimeInfoEvent *pEvent); Check this function out -- it sends the time info to the player. These functions are complicated by the fact that they need to be accurate and that the user can seek. Your case is a lot simpler -- just figure out how many samples you've written and convert that to HH:MM:SS and send the event to the player as the other HandleTimeInfoEvent functions do... Let me know if you need more info than that. > i think saving the file to the same directory as the source file is the best > solution right now. Actually, we had decided that we wanted to save the wav files into a WAV subdirectory of the users' MyMusic directory. To do that, simply call Error GetSaveMusicDirectory(char* path, uint32* len); on the preference object. A pointer to the prefs object is in the context object, which each modules has. So, m_context->prefs->GetSaveMusicDirectory(...) would get the music dir. Append a 'WAV' and you've got your save place. Also, the output plugin should be careful to not overwrite existing files -- it should append a -2, -3, .., to the filename base. --ruaok Freezerburn! All else is only icing. -- Soul Coughing Robert Kaye -- [EMAIL PROTECTED] http://moon.eorbit.net/~robert ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev
Re: General Question
> i don't think this is the issue. i think it is bc we are sanity checking the > database on startup.the more mp3s you have the longer it takes. we were gonna stop > doing it i thought with 2.0.2 though. isaac? Isaac took care of that now, and the windows DLLs are now properly based. Startup isn't going to get much quicker than this! --ruaok Freezerburn! All else is only icing. -- Soul Coughing Robert Kaye -- [EMAIL PROTECTED] http://moon.eorbit.net/~robert ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev
RE: DiskOut Output Plugin v0.0.1
> In each PMO, there is a function called: > > void HandleTimeInfoEvent(PMOTimeInfoEvent *pEvent); > Hmm, it appears the function is still in the code left over from where i based it on the DirectSound plugin. Maybe I've not updated the variables properly. I'll do a check against the original code and see if I can patch it to work correctly. > > i think saving the file to the same directory as the source > file is the > best > > solution right now. > > Actually, we had decided that we wanted to save the wav files > into a WAV > subdirectory of the users' MyMusic directory. To do that, simply call > > Error GetSaveMusicDirectory(char* path, uint32* len); This sounds fine, i'll see if I can modify the code to use this directory instead. mike ___ [EMAIL PROTECTED] http://www.freeamp.org/mailman/listinfo/freeamp-dev