Sorry peet don't quite understand you there. Do you mean you would like to be able to associate mp3 files with Mini MP3? If so what a great idea. Makes me feel all kinda fuzzy inside that someone might want to make my app the default one.
Printable View
Sorry peet don't quite understand you there. Do you mean you would like to be able to associate mp3 files with Mini MP3? If so what a great idea. Makes me feel all kinda fuzzy inside that someone might want to make my app the default one.
BTW the proper web address is now up and running - see it at www.minimp3.com
crashed and wont' stop playing :eek:
yes, thats what I mean :)Quote:
Originally posted by Slaine
Sorry peet don't quite understand you there. Do you mean you would like to be able to associate mp3 files with Mini MP3? If so what a great idea. Makes me feel all kinda fuzzy inside that someone might want to make my app the default one.
and I'll redirect sig link to proper web :)
I think this project has a lot of potential
Lol ;)Quote:
Originally posted by Slaine
Thanks for all the good comments.
Barney: Not sure why it doesn't like Fear Factory, try some Slayer - they're much better anyway :)
It doesnt seem to use that much RAM on my computer.Its fast and clean.
Alrighty I'm impressed. Will you release VB code and VBP files and the like when you finish version 1, and start coding in Assembly for v2?
yes i agree- sharing the code would be a lovely thing. that way we can all put another bell or whistle on it--
anyway wasnt the point of this program to not have bells and whistles?
complain complain complain
i want multiple mp3s
i want volume control
i want a new porche
get over it.
lol
Slaine, i woudl download your player but i dont play many mp3s unfortonately and those that i do, i use wmp..
i just wanted to make few comments
1. so far very nice (stop adding bells or it will be called megamp3)
2. the more you please peet the more he wants, just watch out for the post where he asks to have sex with him
3. ahh waht the hell am gonna download it, just to support programmers :)
4. watch out for peet
mmm Yeah I don't want to overload it with features. I have a few good ideas that I might implement in version 2 but at the moment I am not going to add anything to the VB version.
What I might do though is have two different versions so I might have Mini MP3 which is the cut down streamlined version and Mega MP3 which has a few more enhancements. That way you can choose the version you wish to use.
I dissected your mp3 player a bit...
You might want to use the CommonDialog API's in that VB version instead of the OCX like you're doing now. That might eliminate some of the overhead.
Also, I think you should add an "All Files" selection in the open dialog box and actually code it to attempt to open any file. As is, you got it showing a message box for files that aren't mp3's, midi's, wav's, etc. This isn't such a good idea, because MCI can handle a very wide array of media types (I noticed that you seem to be using mciSendString).
Thanks Tygur, all good suggestions. Currently working on a revised version and will take them into consideration.
i just had a question cuz i dunno S*** about dealing with media types on vb yet -- do you use a wm player control to decode/code mp3 files ? or some other control/codec i dunno?? anyone knows??
I use the Media Control Interface. It's all done with the api call mciSendString.
I'm curious how you got your EXE so small!
Where's all the overhead with DLLs and such to make a VB program run? Or am I just lucky I have Visual Basic 5.0 installed, so it has the runtimes ALREADY???? But then how's this run on OTHERs computers!??... :(:confused:
Unzipped it's just one file, 56kb... Where's all the files that add up to 1.38 MB to make sure this runs on any computer?
VB EXE's are supposed to be small by nature because of all the dependancies. A lot of the code is in external DLL's and OCX's. The code that actually plays the mp3's isn't even in the exe.
tygur is correct. I didn't include the VB runtimes file as I assumed anybody reading this forum would already have it.
Not an ironical oxymoron, but an inspiring fact to push harder, code better. Make your program play that 1 MP3 damned well! ;)Quote:
I think the irony of all this is that I only actually have one MP3 file on my computer and very rarely listen to that!
A list. Debate here and now whether a list for multiple musics is good or bad.
Good: get to choose songs by hand, see them all at once
Bad: have to create a graphical user interface, even if it's really small.
Food for thought:
There's no way to control the order files are played... Winamp users are used to handpicking from a list, or listening in a random order, or just the ability to skip directly into the next song (aka previous and next track) .. Mini MP3, you have to wait, and they're played in the order they're opened.
If you don't like making a G.U.I., MAYBE... Maybe a pop out list of files... Like, you right click on MiniMP3, a new option say call it "Muzics", and when you hover over this, a list pops out beside the arrow, and all the files you loaded are here. The one checkmarked file would be the one currently playing.
I dunno it kinda sounds like a mediocre idea, and potentially slow down the system if it's lots of files listed....??? Opinions?
AUG!! NO! that means the moment you really release it to the public at large, it will go up to almost 1.5 MB!? Nooooo! :eek: :mad:Quote:
Originally posted by Slaine
tygur is correct. I didn't include the VB runtimes file as I assumed anybody reading this forum would already have it.
Whenever I distribute any of my apps, I never include the vb runtimes. I always just leave a warning in the installer and/or readme that explains that you need it. Then I offer it as a separate download on my website for anybody that doesn't already have it.Quote:
Originally posted by postitlord
AUG!! NO! that means the moment you really release it to the public at large, it will go up to almost 1.5 MB!? Nooooo! :eek: :mad:
You haven't idiot-proofed the mm3 files let. :D I can crash your program if I edit playlist.mm3 in Notepad.
And oddly, though I'm sure unimportant, I get two instances of mm3 when I try open corrupted playlist. Notice two in the systray.
No, I've not added any idiot proofing as of yet. What did you change to make it crash?Quote:
Originally posted by postitlord
You haven't idiot-proofed the mm3 files let. :D I can crash your program if I edit playlist.mm3 in Notepad.
And oddly, though I'm sure unimportant, I get two instances of mm3 when I try open corrupted playlist. Notice two in the systray.
Not sure why you got two copies running - very strange. Will investrigate.
Your idea about the way to handle lists is interesting. Will give it some thought.
Version 2 is well under way. I have finished all the systray stuff, popup menu and the media playing code. All that is really left to do is to get the playlist working and add the registry reading/setting part.
At the moment it is able to open and play a single MP3 file - much like the very first release of version 1.
The program is compiling to about 44Kb - and this time we don't need any of the VB runtimes! I'm hoping that this won't go up by too much when I add the rest of the stuff.
Memory usage has improved but not significantly yet. Hopefully I will be able to tweak it once it has all the functionality added.
Will keep you posted.
BTW: I had hoped to release the VB code this weekend but have left it at work. Therefore, by the time I have managed to tidy it up and package it, it will be mid-next week before I can post it.
two words:
source code
umm does it use media player?
umm..no, it uses the mciSendString api.... (this was already mentioned)Quote:
Originally posted by MrPolite
umm does it use media player?
Would you believe it. I have just been approached by a media company who wish to include Mini MP3 on an educational CD they are distributing.
WooHoo.
WOO!!
way to go man...make sure they pay u nuff cash tho :D
ummm!!! can you explain?! so it doesnt need an ativeX or anything?Quote:
Originally posted by Tygur
umm..no, it uses the mciSendString api.... (this was already mentioned)
what does mciSendString do? does it ASK windows to play the mp3?:confused: :confused: :confused:
Basically, yes. It doesn't need any OCX's. The Microsoft Multimedia Control (it's an OCX that comes with VB) is a wrapper for this and the other MCI functions. Slaine is just calling it directly, without any OCX's. Does that help any?Quote:
Originally posted by MrPolite
what does mciSendString do? does it ASK windows to play the mp3?:confused: :confused: :confused:
Tygur is spot on, and it's not difficult to do.
Add the declaration for the API function to your project:
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
And a few other declarations
Dim MCIString As String
Dim MCICommand As String
Dim ReturnString As String
Dim CallBack As Long
Then you can do the following operations.
First you open the file:
MCICommand = mciSendString("open MPEGVideo!P:\music\demo.mp3 alias mpeg", ReturnString, 128, CallBack)
Then you can play it:
MCICommand = mciSendString("play mpeg from 0", ReturnString, 128, CallBack)
To stop it:
MCICommand = mciSendString("stop mpeg", ReturnString, 128, CallBack)
And finally to close and unload the file.
MCICommand = mciSendString("close mpeg", ReturnString, 128, CallBack)
1.
Slaine, could you please list all the files that are needed to make this program work (and size), instead of my asking about each one individually?
I found that "Microsoft Multimedia Control 6.0 (SP3)" file, MCI32.OCX, it's 193 kb. I'm curious what the total file sizes will add up to.
2.
PS, common, can't you figure it out?;)What's the first thing it writes to the MM3 file? An Integer. How do you break code that depends on numbers? Shove words there! Put in incorrect numbers!Quote:
What did you change to make it crash?
Lets say i have playlist.mm3 with two files inside.
I change the number "2" to:
- words, 1, 0, -1, it crashes like in picture attached earlier
- 3, it plays the files, then crashes, siting "Media File type or Compression not Supported", which is completely inaccurate
(but I can take a good guess what your code looks like; Case Else...)
3.
PS. I found you can keep opening Mini MP3. Just keep clicking it. I think code to allow only one instance is a good idea.
Slaine is not using MCI32.OCX. I already said that he was calling the API's directly. I'll let him answer the rest of your question though, especially since it wasn't even directed at me..Quote:
Originally posted by postitlord
1.
Slaine, could you please list all the files that are needed to make this program work (and size), instead of my asking about each one individually?
I found that "Microsoft Multimedia Control 6.0 (SP3)" file, MCI32.OCX, it's 193 kb. I'm curious what the total file sizes will add up to.
The more I read this thread, the more I am tempted to write my own similar mp3 player. It's not that complicated. This is actually a very simple program.
Ahh, my lacking knowledge of APIs is showing. I barely understand the concept... I'll keep my API questions out of this thread.
I'll save you the effort - I'm just in the process of tidying up the source code. I'll be posting it very very soon, then you can see exactly how it works - but as you say it is, by definition, a very simple program.Quote:
The more I read this thread, the more I am tempted to write my own similar mp3 player. It's not that complicated. This is actually a very simple program.
The only dependencies at the moment are the VB runtime file (MSVBVM60.DLL) the common dialog ocx (COMDLG32.ocx) and that windows media player is installed.
I have just done a quick installation build in InstallShield and it has created a setup, including all required files and it comes out at about 1.3Mb.
Tygur suggested earlier that I could remove the dependency on the common dialog ocx, which would further reduce the size.
Well the fact is, I am not committing to changing the current VB version in any way. This also goes for fixing the problems with the playlist causing the program to crash.
My efforts are now focused on finalising V2.
V2 is written in C++, it is a single file, requiring no other support dll's to be installed. It has improved playlist parsing and a few (and I do mean only a few - as in 2) extra features.
It is virtually complete - the only thing left for me to do with it is finish off the playlist code - (about 2 hours of work).
Update 20 December 2002
Well I finally got there :)
I know it has been a long time but I got side tracked ;)
Version 2 has just been released and is available from the website www.minimp3.com.
Feel free to upgrade.
As promised I am releasing the source code for v1 now that v2 is out.
Use it or not - it's up to you :)
Mini MP3 Source Code v1
Wow, you made a really cooll pregram Slaine. But there is one thing I think you could change.... you should give it the ability to skip songs, since I have alot of dowloaded songs and I dont pick em out one by one, I just choose them all. Another good feature would be to add a pause button. But, I understand if you dont want to do that, it might make the file bigger, and then you'll lose your claim to fame. Whoops, scratch that, just downloaded version 2, sorry!!! However, a pause button would be nice.....
Only problem with this program is you have to have VB installed for it to work... Should put it in an Install package.
Version 2 has no dependency on the VB runtime files. It's written in C++Quote:
Originally posted by Arc
Only problem with this program is you have to have VB installed for it to work... Should put it in an Install package.
WEll it wouldnt run casue i dont have Cmddialog.dll installed. I know that comes with VB... I am running win XP Pro.
Is it possible to set the video window to stay on top?
Pete
So it needs the c++ runtimes then? I dont have those installed. Where can I get those?Quote:
Originally posted by Slaine
Version 2 has no dependency on the VB runtime files. It's written in C++
Thanks
Tom
Try installing windows ;)Quote:
Originally posted by TomGibbons
So it needs the c++ runtimes then? I dont have those installed. Where can I get those?
Thanks
Tom
In short No. In Long probably but I'm not going to bother :)Quote:
Originally posted by Peter1
Is it possible to set the video window to stay on top?
Pete
Oh guess I do have the then :D Thats nice and easyQuote:
Originally posted by Slaine
Try installing windows ;)
i will give you a million dollars* if you give me the source
*note: the million dollars will be entirely composed of monopoly money, and it cannot be promised it can be delivered outside of my house
No Problem, I have printed the source code - If you come and pick it up with your million dollars I'll let you have it ;)Quote:
Originally posted by Skitchen8
i will give you a million dollars* if you give me the source
*note: the million dollars will be entirely composed of monopoly money, and it cannot be promised it can be delivered outside of my house
Seriously though - although I don't want to give away the entire source code, if you tell me which bit of it you are interested in I will happily let you have that part of it.
This thing will only work if you have VB installed.. other wise you'll have missing dll's..such as common dialog..atleast on WinXp.
Arc,Quote:
Originally posted by Arc
This thing will only work if you have VB installed.. other wise you'll have missing dll's..such as common dialog..atleast on WinXp.
This just isn't true - for several reasons.
You do not need to have VB installed. The program IS dependent on comdlg32.dll BUT this is a standard windows system library. It is installed by default when Windows XP is installed. I have just done a completely clean XP install on a machine and then tried to use Mini MP3 and it worked perfectly. I also checked and comdlg32.dll was already present.
The ocx version of this library is used by VB programs that use the common dialog control - but because I have written it in C++ I am directly accessing the dll via API calls, hence no dependency on VB runtimes.
All I can think is that you are not using the latest version of Mini MP3 and are having problems with the VB version (1) of the program.
The latest version is 2.0.0.2 and can be downloaded here:-
http://www.minimp3.com/downloads/miniMP3_V2.zip
I'd be interested to hear how you get on with it.
well, i can do most of it on my own if i try hard enuff, but i wanted to get it and change it, specifically adding the code to keep the video window on top n stuff like that. Although it might help if you could release the module you use to play the video and MP3's... i used to have one but i dunno where it went, and i haven't messed with MCI in a long time.Quote:
Originally posted by Slaine
No Problem, I have printed the source code - If you come and pick it up with your million dollars I'll let you have it ;)
Seriously though - although I don't want to give away the entire source code, if you tell me which bit of it you are interested in I will happily let you have that part of it.
BTW: arc i'd like to see just about any program on your system run if you don't have the commondialog control. Quite a few programs use it, and won't function without it (notepad for example) are you even running windows??
That must have been it. I used the new link and had no problems.
It works too :) But imo its just not an mp3 player without some sort of interface... you know so you can drag the scroll bar back and forth and some volume controls etc...
Glad you got it working.Quote:
Originally posted by Arc
That must have been it. I used the new link and had no problems.
It works too :) But imo its just not an mp3 player without some sort of interface... you know so you can drag the scroll bar back and forth and some volume controls etc...
Your comment is a valid one but I never ever ever ever have used the scroll bars in winamp to do what you describe and as such have no need for that functionality - like wise you can control the volume using the indows control so no need to repeat it in the MP3 player.
The original reason for creating this thing was just to create an almost invisible player that just played tracks - no fancy control or interface or repeated functions. I never set out to create a clone of winamp - that would have been silly, instead i wanted to create a player that contained only the options I used.
It does just that and as I have always said - If you like it, use it otherwise don't :)
I realize it's been over a year since you dealt with the this subject at this forum (thanks for the mini player, by the way), but this is a question I'm sure you have a good answer to. I'd like to add various sounds (short .wav files set in the code, not user defined) to accompany the pressing of buttons in my projects. Do you know of an easy method?
Thanks
my guess would be that the easiest way would be to use the windows media player control, although interfacing with MCI is the best way to play sounds.