Bass.dll

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola otra consulta con Bass.DLL, estoy trabado con esto, por ejemplo, cargando el plugin desde el panel de proyectos, y quisiera saber la duracion en segundos de un mp3, length = Bass.ChannelGetLength(handle, BASS_POS_BYTE); no encuentro la formula para pasar de bytes a segundos. por ejemplo cargo un mp3 y me devuelve como length = 66076672 bytes, se que ese mp3 dura 374 segundos, pero no encuentro la forma de pasar de esos bytes a segundos.
Bueno, me parece que lo que estoy buscando es algo asi, length = Bass.ChannelGetLength(handle, BASS_POS_BYTE); esto me da 66076672 bytes, a esos bytes lo transformamos a bits, si un byte son 8 bits, multiplicamos 66076672 x 8 esto me da.. 528613376 bits tomamos esos bits y los dividimos por el Bit Rate: 1411.2 kbps 528613376/1411.2 esto me da.. 374.584,3083900227 a este numero lo tenemos que dividir por 1kb (Binario 1024 o Decimal 1000) 374.584,3083900227/1000 esto daria la cantidad de segundos, entonces
length = length*8/1411.2/1000 me da un total de 374 segundos con 584 milisegundos. creo que seria asi, si alguien sabe si es correcto o incorrecto le agradeceria si me puede corregir, porque no todos los mp3 me dan bien algunos tienen unas pequeñas diferencias en los segundos.
HIDE: ON
Hidebb Message Hidden Description
Hola, gracias usamakey, si ya lo habia leido en la documentacion de Bass.dll, pero no se como implementarlo, no encontre ningun ejemplo de como se carga en el proyecto, intente llamar la dll DLL.CallFunction(_SourceFolder .. "\\Bass.dll", "BASS_ChannelBytes2Seconds", "", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); en global functions y tambien en preload pero me da error nil value.
HIDE: ON
Hidebb Message Hidden Description
Hola, muchisimas gracias por la ayuda y el esfuerzo, me da... Error: attempt to index global 'BASS' (a nil value)

por ejemplo en esta linea de donde sale BASSDLL ?
BASSDLL.BASS_ChannelBytes2Seconds(nHandle, nPos);
Hola nuevamente, despues de batallar lo pude hacer funcionar, ahora si quedo bien el tiempo total y el transcurrido de la cancion en ejecucion, ahora estoy tratando de entender como aplicarle algun efecto a la cancion como por ejemplo efecto de eco. pero me encuentro con el mismo problema, la ayuda del plugin es muy escasa para aplicarla a AMS, no se como cargar el plugin y hacerlo funcionar.

En Global Functions
BASSDLL = Library.Load(_SourceFolder.."\\bass.dll");
BASSFX = Library.Load(_SourceFolder.."\\bass_fx.dll"); 


function SecondsToClock(sSeconds)
return string.format("%u:%02u",sSeconds/60,sSeconds%60);
end

ChannelBytesToSeconds = function (nHandle, nPos)
BASSDLL:SetReturnType_(MEMEX_RETURNTYPE_DOUBLE);
return BASSDLL.BASS_ChannelBytes2Seconds(nHandle, nPos);
end

ChannelSecondsToBytes = function (nHandle, nPos)
BASSDLL:SetReturnType_(MEMEX_RETURNTYPE_DOUBLE);
return BASSDLL.BASS_ChannelSeconds2Bytes(nHandle, nPos);
end
y en un boton
fxHandle = BASSDLL.BASS_ChannelSetFX(handle, BASSFX.BASS_FX_ECHO, 0);


solo estoy probando porque la verdad no tengo ni idea de como es, si alguien me puede guiar con un ejemplo, asi puedo darme cuenta de como funcion, se lo agradecere muchisimo.
Hola, nadie sabe como poner un efecto a un sonido ? estoy probando y probando y no consigo hacerlo funcionar, todo me da error, ahora cree esta funcion, pero cada vez que la llamo se cierra el programa, estoy practicamente probando a ciegas, porque no encontre ni un ejemplo en AMS , solo necesitaria saber como se carga el plugin y los flags y si tengo que tener en cuenta algo mas como crear alguna tabla o funcion para poder hacerlo funcionar, igual seguire intentando :pc: a ciegas porque soy cabeza dura. Les agradezco a todos por leer el post. y si alguien tiene una pequeña idea de como se puede llegar a hacer... sera muy bienvenida . Saludos y que tengan Buen dia!!!
function BASS_DX8_ECHO()
   fFeedback = 100;
   fLeftDelay = 2000;
   fRightDelay = 2000;
   fWetDryMix = 100;
   lPanDelay = true;
end
HIDE: ON
Hidebb Message Hidden Description
muchisimas gracias usamakey, al final siempre te hago a trabajar a ti, mil disculpas y nuevamente muchisimas gracias, voy a investigar todo lo que me dices. :lol: