Liberty BASIC Community Forum
« Updated Mp3 player »

Welcome Guest. Please Login or Register.
Sep 20th, 2017, 10:29pm


Rules|Home|Help|Search|Recent Posts|Notification


« Previous Topic | Next Topic »
Pages: 1 2  Notify Send Topic Print
 hotthread  Author  Topic: Updated Mp3 player  (Read 275 times)
Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Updated Mp3 player
« Thread started on: May 29th, 2014, 01:28am »

Hello everyone, I've updated my Mp3 player if anyone is still interested. It's fairly stable but needs to be tested on different machines to see how it does.

I've got WinXP, Vista, and Windows 7 setups on my site.
It's been extensively tested on WindowsXP and Windows 7.
It should work alright on Vista but hasn't been tested by me.
I haven't put one out for Windows 8 because I don't have a way to test it on 8 enough yet.

You can get it here, http://rtsystemcomponents.com/Camp/Camp.html .

If you find any bugs e-mail me on my website.

Thanks, Roger
User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #1 on: Nov 13th, 2014, 2:13pm »

New update for Media Player. Contains numerous additions and fixes. Also adds support for Bass.dll, with level indicator lights and equalizer.
http://rtsystemcomponents.com/Camp/Camp.html.

The media player will ask if you want to associate supported files with the player. You don't have to and it gives the user more than one chance not to.

I only have Windows 7 version available now.
Don't have windows 8 to test it, and I don't know if I am going to debug a Windows XP version yet or not.

You have to download your own soundfont to listen to Midis.
Go to preferences to install it .

If anyone finds any bugs or problems e-mail me at the website.

Roger
« Last Edit: Nov 13th, 2014, 2:18pm by Roger Thomas » User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #2 on: Nov 19th, 2014, 12:45am »

I found a bug right after I posted the last time where the player wouldn't play a file that was clicked if the playlist wasn't open.

I have fixed this and uploaded a patch to my website.

Roger
User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #3 on: Aug 26th, 2015, 10:53pm »

I've updated my Media player again.
http://rtsystemcomponents.com/Camp/Camp.html.

I've actually updated it numerous times since the last time I posted here. I uploaded the latest version to my website yesterday.

There is only a windows 7 version still, but I'm going to test some other windows versions as soon.

If you find any bugs or have any comments, like it or don't like it, you can contact me at support@rtsystemcomponents.com.

Thank You.
Roger
User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #4 on: Nov 3rd, 2015, 10:16pm »

Updated Media player.
http://rtsystemcomponents.com/Camp/Camp.html.

Now has ability to read tag information and search media file for album art information for supported media files. For mp3 files it will read the tag for album art image. If not found it look in folder for the image.
For all others, it will look in the folder.

If the image is found it will be displayed in the File Info window.

Still windows 7 only.

Thank You.
« Last Edit: Nov 3rd, 2015, 10:27pm by Roger Thomas » User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #5 on: Jan 17th, 2017, 01:56am »

Updated my player again. If anybody fools with this, then this is the version to get. It's the most stable and smoothest version yet. I took about a year's break and then decided to do some updating to it a couple months ago. I worked on the background images some too and finished writing the help file.
This version here almost exclusively uses bass.dll as I have disabled the option to use the basic windows winmm. The only part that uses windows multimedia api are the Balance and Volume. I've not figured out how to send a float to the bass.dll api yet and so, can't use their volume.

Theres also a windows 10 version too.grin

Windows 7 version has been extensively tested.
Windows 10 just a couple times.
No windows 8 version because I've got no way to test it.

Here's the link.
http://rtsystemcomponents.com/Camp/Camp.html

Roger.
User IP Logged

Colin McMurchie
Full Member
ImageImageImage


member is offline

Avatar




PM


Posts: 223
xx Re: Updated Mp3 player
« Reply #6 on: Jan 17th, 2017, 08:05am »

Hi Roger,

when I try this link I get a FORBIDDEN notice. Do you have another link that you can post?

Thanks, Colin McMurchie
User IP Logged

tsh73
Board Moderator

member is offline

Avatar

Anatoly (real name)


PM

Gender: Male
Posts: 1681
xx Re: Updated Mp3 player
« Reply #7 on: Jan 17th, 2017, 08:54am »

I second that. Gives Error 403: Forbidden.
User IP Logged

damned Dog in the Manger
cundo
Guru
ImageImageImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 626
xx Re: Updated Mp3 player
« Reply #8 on: Jan 17th, 2017, 10:03am »

The download: "11-28-2016 ChallengerAmp Ver. 1.0.5.05
Windows 7" works for me. I haven't downloaded it this time because I'm on my phone.
User IP Logged

cundo
Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #9 on: Jan 17th, 2017, 10:19am »

Hey, you still having problems with the website?
I don't see any problems with the website.

Here's the direct links.
ChallengerAmp10505Win7

ChallengerAmp10505Win10

If you still have problems, I might have to turn the website restrictions down. It seems to be working from my end.

These are direct download, so moderators can delete these links if not preferred.

Another thing is that I could have certain IP groups blocked from accessing the website. You could be in that group. I'll check it out.

Roger.
« Last Edit: Jan 17th, 2017, 10:41am by Roger Thomas » User IP Logged

Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #10 on: Jan 17th, 2017, 11:21am »

on Jan 17th, 2017, 10:19am, Roger Thomas wrote:
Another thing is that I could have certain IP groups blocked from accessing the website. You could be in that group. I'll check it out.


That's what it is. I enabled some of those. If anybody else has any problems send me a message at support@rtsystemcomponents.com and I'll enable you.

Roger.
User IP Logged

Brandon Parker
Board Moderator

member is offline

Avatar




PM

Gender: Male
Posts: 1115
xx Re: Updated Mp3 player
« Reply #11 on: Jan 17th, 2017, 11:53am »

on Jan 17th, 2017, 01:56am, Roger Thomas wrote:
I've not figured out how to send a float to the bass.dll api yet and so, can't use their volume.


Roger,

Have you attempted to use the [VarR4FromR8] and [VarR8FromR4] functions in the Oleaut32 DLL to convert number to/ from a float?

I have to used this to convert numbers for communication with a OSISoft PI Server through their DLL. It works like a charm for me although I cannot take credit; I believe this was introduced to me from Brent Thorn.

It should be fairly straight forward to use them....

FYI....This is how a return a value from a DLL Function that returns a float; sending one is just as easy ...
Code:
GetPIData$ = Trim$(Using("################.##", fromFloat(myValue)))

'_________________________________________________________________________________________________________________________________________________________
'_________________________________________________________________________________________________________________________________________________________

    Function toFloat(R8)
        '-- Converts a 64-bit Double to a 32-bit number.
        Struct local1, R4 As uLong
        CallDLL #oleaut32, "VarR4FromR8", R8        As Double, _
                                          local1    As Struct, _
                                          ret       As Long
        toFloat = local1.R4.struct
    End Function

'_________________________________________________________________________________________________________________________________________________________
'_________________________________________________________________________________________________________________________________________________________

    Function fromFloat(R4)
        '-- Converts a 32-bit number to a 64-bit Double.
            Struct local1, R8 As Double
            CallDLL #oleaut32, "VarR8FromR4", R4        As Long, _
                                              local1    As Struct, _
                                              ret       As Long
            fromFloat = local1.R8.struct
    End Function 


You can obviously change the "Using()" function to format your number to your liking and it is a string which I need for my use, but you can use Val() to change it to a number.


{:0)

Brandon Parker
« Last Edit: Jan 17th, 2017, 12:13pm by Brandon Parker » User IP Logged

Windows 7 Home Premium 64-bit Intel(R) Quad Core(TM) i5 CPU M 430 @ 2.27GHz 4GB DDR3 RAM
Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #12 on: Jan 17th, 2017, 12:10pm »

on Jan 17th, 2017, 11:53am, Brandon Parker wrote:
Roger,

Have you attempted to use the [VarR4FromR8] and [VarR8FromR4] functions in the Oleaut32 DLL to convert number to/ from a float?

I have to use this to convert numbers for communication with a OSISoft PI Server through their DLL. It works like a charm for me although I cannot take credit; I believe this was introduced to me from Brent Thorn.

It should be fairly straight forward to use them....


I tried that, I'll look at it again. I don't think I used the trim part though.

Thanks
User IP Logged

Brandon Parker
Board Moderator

member is offline

Avatar




PM

Gender: Male
Posts: 1115
xx Re: Updated Mp3 player
« Reply #13 on: Jan 17th, 2017, 12:15pm »

Can you post a snippet where you are attempting to call the two functions listed below in the BASS DLL?

- BASS_SetVolume
- BASS_GetVolume

I'm sure we can figure out how to make it work for you.... wink


{:0)

Brandon Parker)
« Last Edit: Jan 17th, 2017, 12:16pm by Brandon Parker » User IP Logged

Windows 7 Home Premium 64-bit Intel(R) Quad Core(TM) i5 CPU M 430 @ 2.27GHz 4GB DDR3 RAM
Roger Thomas
Junior Member
ImageImage


member is offline

Avatar




Homepage PM


Posts: 71
xx Re: Updated Mp3 player
« Reply #14 on: Jan 17th, 2017, 1:05pm »

Hi, this is just an example of the way I tried it. I just slapped this together because I have to go do something.
I already changed the one I was working with before. What I did was similar to this on bass24 dll. It changed where the volume is set, but if I can't send a float I can't upgrade from bass 2.3 to 2.4 as more calls are in float.

I know this is wrong but it will give an idea.

Code:
BASS.ATTRIB.VOL = 2

struct ATTVALUE, value$ as ptr

BASSresult = BASSChannelGetAttribute(StreamHandle,BASS.ATTRIB.VOL,ATTVALUE)
Err = BassErrorGetCode("BASSChannelGetAttribute1")

floatvalue$ = ATTVALUE.value$.struct
value$ = str$(fromFloat(val(floatvalue$)))
print "value$1 ";ATTVALUE.value$.struct
print "value$1 ";value$
print, "Volume: ";value$


value$ = str$(toFloat(val(floatvalue$)))
BASSresult = BASSChannelSetAttribute(StreamHandle,BASS.ATTRIB.VOL,value$)
Err = BassErrorGetCode("BASSChannelSetAttribute1")

BASSresult = BASSChannelGetAttribute(StreamHandle,BASS.ATTRIB.VOL,ATTVALUE)
Err = BassErrorGetCode("BASSChannelGetAttribute2")
print ATTVALUE.value$.struct

print "Volume: ";ATTVALUE.value$.struct

floatvalue$ = ATTVALUE.value$.struct
value$ = str$(fromFloat(val(floatvalue$)))
print "value$2 ";ATTVALUE2.value.struct
print "value$2 ";fromFloat(ATTVALUE2.value.struct)

wait

function BASSChannelGetAttribute2(hndle,attrib,ATTVALUE)
calldll #bass, "BASS_ChannelGetAttribute",_
                hndle as long,_
                attrib as ulong,_
                ATTVALUE2 as struct,_
                result as long
BASSChannelGetAttribute = result
end function

function BASSChannelGetAttribute(hndle,attrib,ATTVALUE)
calldll #bass, "BASS_ChannelGetAttribute",_
                hndle as long,_
                attrib as ulong,_
                ATTVALUE as struct,_
                result as long
BASSChannelGetAttribute = result
end function

function BASSChannelSetAttribute(hndle,attrib,ATTVALUE$)
calldll #bass, "BASS_ChannelSetAttribute",_
                hndle as long,_
                attrib as ulong,_
                ATTVALUE$ as ptr,_
                result as long
BASSChannelSetAttribute = result
end function

function BassErrorGetCode(BassId$)
BASS.OK = 0
BASS.ERROR.MEM = 1
BASS.ERROR.FILEOPEN = 2
BASS.ERROR.DRIVER = 3
BASS.ERROR.BUFLOST = 4
BASS.ERROR.HANDLE = 5
BASS.ERROR.FORMAT = 6
BASS.ERROR.POSITION = 7
BASS.ERROR.INIT = 8
BASS.ERROR.START = 9
BASS.ERROR.ALREADY = 14
BASS.ERROR.NOPAUSE = 16
BASS.ERROR.NOCHAN = 18
BASS.ERROR.ILLTYPE = 19
BASS.ERROR.ILLPARAM = 20
BASS.ERROR.NO3D = 21
BASS.ERROR.NOEAX  = 22
BASS.ERROR.DEVICE = 23
BASS.ERROR.NOPLAY = 24
BASS.ERROR.FREQ = 25
BASS.ERROR.NOTFILE = 27
BASS.ERROR.NOHW  =29
BASS.ERROR.EMPTY = 31
BASS.ERROR.NONET  = 32
BASS.ERROR.CREATE = 33
BASS.ERROR.NOFX = 34
BASS.ERROR.PLAYING = 35
BASS.ERROR.NOTAVAIL = 37
BASS.ERROR.DECODE = 38
BASS.ERROR.DX = 39
BASS.ERROR.TIMEOUT = 40
BASS.ERROR.FILEFORM  = 41
BASS.ERROR.SPEAKER = 42
BASS.ERROR.VERSION  = 43
BASS.ERROR.CODEC  = 44
BASS.ERROR.UNKNOWN  = -1
calldll #bass, "BASS_ErrorGetCode",_
                result as long
BassErrorGetCode = result
SELECT CASE BassErrorGetCode
    CASE BASS.OK
        print "BASS.OK ";BassId$
    CASE else
        print "BASS.NOTOK: ";BassErrorGetCode;" ";BassId$
    END SELECT
end function

Function toFloat(R8)
 '-- Converts a 64-bit Double to a 32-bit number.
 Open "oleaut32" For DLL As #oleaut32
     Struct local1, R4 As ULong
     CallDLL #oleaut32, "VarR4FromR8", _
         R8 As Double, local1 As Struct, _
         ret As Long
 Close #oleaut32
     toFloat = local1.R4.struct
End Function

Function fromFloat(R4)
 '-- Converts a 32-bit number to a 64-bit Double.
 Open "oleaut32" For DLL As #oleaut32
     Struct local1, R8 As Double
     CallDLL #oleaut32, "VarR8FromR4", _
         R4 As ULong, local1 As Struct, _
         ret As Long
 Close #oleaut32
     fromFloat = local1.R8.struct
End Function
 
User IP Logged

Pages: 1 2  Notify Send Topic Print
« Previous Topic | Next Topic »

Rules|Home|Help|Search|Recent Posts|Notification

Donate $6.99 for 50,000 Ad-Free Pageviews!

| |

This forum powered for FREE by Conforums ©
Sign up for your own Free Message Board today!
Terms of Service | Privacy Policy | Conforums Support | Parental Controls