Skip to content
⌘ NSIS Forum Archive

bassmod trouble - no exiting

5 posts

Brummelchen#

bassmod trouble - no exiting

i have some trouble wit the BASSMOD.dll (from the music thread)

i have created a setup with some music - directly started all is fine, the pluginsdir is deleted and its content

if setup is started from 3rd party (also nsis) the bassmod is not deleted and it can not be deleted from setup (tried it with several methods)

can it be that this to nsis programs interfere with the pluginsdir?

(nsis 2 final)
Joost Verburg#
Every NSIS installer has it's own unique plug-ins folder, that should make no difference.
Brummelchen#
>> Every NSIS installer has it's own unique plug-ins folder

i see this when i control the local temp folder each time i test a setup

but in this case the bassmod is not set free when setup is called from 3rd party

curious :/

i'll test it with a blank script to avoid other circumstances
deguix#
System plugin has an option to unload the DLL after its called:

u - unload DLL after call (using FreeLibrary, so you'll be able to do something with it, delete for example).

Use "?u" at the end of the line, example:

System::Call "Test::TestFunction(t "lol")i .r0 ?u" 
Not tested, but as System.txt shows, it should work.
Brummelchen#
this is the hole bassmod part

Function BASSMOD_Init
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_Init(i,i,i) (-1,44100,${BASS_DEVICE_LEAVEVOL})'
FunctionEnd

Function BASSMOD_MusicLoad
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_MusicLoad(i,t,i,i,i) (0,"$PLUGINSDIR\$filename",0,0,${BASS_MUSIC_LOOP}|${BASS_MUSIC_RAMPS}|${BASS_MUSIC_SURROUND}|${BASS_MUSIC_POSRESET})'
FunctionEnd

Function BASSMOD_Free
System::Call 'BASSMOD::BASSMOD_Free'
FunctionEnd

Function BASSMOD_MusicPlay
System::Call /NOUNLOAD 'BASSMOD::BASSMOD_MusicPlay'
FunctionEnd


Function .onGUIEnd
Call BASSMOD_Free
Delete $PLUGINSDIR\*.*
RMdir $PLUGINSDIR
FunctionEnd
Must be
System::Call 'BASSMOD::BASSMOD_Free?u'

...

hey u made it 😁

thx 🙂