Author Topic: MPXT  (Read 39025 times)

Scott Bradshaw

  • Guest
MPXT
« on: February 11, 2004, 01:57:31 PM »
Wow, its hard to believe that someone took my source and did something with it. Nice job. I tried to find your email address to e-mail you, but didnt have such luck.

Scott

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #1 on: February 13, 2004, 07:51:15 PM »
Scott,

It's good to hear from you.  It seemed to a shame to let MPXF fade away, considering the extensive hardware support and features that it has.  Feel free to post here and/or email me with any suggestions/comments that you have.

My email address:
Email

saridnour

  • Guest
MPXT
« Reply #2 on: March 17, 2004, 04:00:13 AM »
I could not find your email to send you some feedback as well. It's great to see that MPXf has seen another life! I still can't find anything that beats this software combo for use in my car. I just happened across your updated version and have been using it for a couple months. You have a few interesting config lines in the scripts that took me a bit to reconfigure to get it back to where I left off with mpxf 13. But after that my system was right back and brimming with new life! Anyhow THANK YOU for all your work at porting this code over. Going to add a couple new threads to you messege base with a few things I have found so far, hopefuly your message board will pick up as more people find your updated version.  Again thanks for all the work!

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #3 on: March 19, 2004, 06:41:58 PM »
Saridnour,

I appreciate the feedback.  I wanted to be reasonably sure that no serious problems were introduced in Beta 1 before going forward.  Sure I do some testing, but running MPXF/MPXT in a DOS box on my desktop computer, using an emulated LCD display isn't nearly as good of a test as running it in one's car for a couple of months.

In Beta 1 there were a number of changes to the tsr's config file.  Some were necessary because of the display layout changes in post 1.42 versions of MPXPlay, some were added features, and there were a few entries added so that there would be less screen-position-related things hardcoded into the tsr.  The rest of the config files aren't that much different than the ones in MPXF 1.4  I don't think the config files will get changed too much in beta 2, except for a few changes to some of the default settings.

I'm kind of busy with other projects at the moment, but should be able to find some time in the next week or two to work on Beta 2.

Tentative Plans for Beta 2:
* Fix the "Runtime Error 202" bug in the tsr
* Add support for Flac files in the frontend
* Update some of the default settings in the config files, especially the ones that Saridnour mentioned
* Find and fix the eq bug that Saridnour reported

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #4 on: April 02, 2004, 11:28:55 PM »
MpXT 1.49 Beta 2 is ready to go.  Took a bit more work than I thought it would, but I did manage to get the "Runtime Error 202 / Stack Overflow" bug in the TSR fixed.  Basically this means that the STACKS=18,512 work-around is no longer necessary.  Changed the Spectrum Analyzer/Eq so that it looks more like the one that was in MPXF.  Not sure if this will fix the issue that Saridnour mentioned, I guess time will tell.  Flac support and updated settings in the mpxt.cfg file were added, as well.

jucator21

  • Guest
MPXT
« Reply #5 on: April 06, 2004, 12:27:27 PM »
this already solves to the  error before the very good program I hope that you continue developing it to thanks Carlos

saridnour

  • Guest
MPXT
« Reply #6 on: May 28, 2004, 02:44:48 AM »
Good news.. an update :-)

I'll have to pull it down and mess with it over the weekend. I'l post back my findings. Looing forward to the update :-)

-=Saridnour

matthias

  • Guest
MPXT
« Reply #7 on: June 11, 2004, 02:32:41 AM »
Iīm running MPXT with a 20x4 LCD HD44780. Display is working fine with main menue of MPXT and MPXPLAY. Although the main menue of MPXT only shows two lines on the LCD. But when I switch to the tsr the LCD Output is strange. The startup logo is fine, but when it starts playing mp3 files the visible informations in the LCD lines are running too fast - much too fast.

Any idea?

Matthias

matthias

  • Guest
MPXT
« Reply #8 on: June 11, 2004, 07:27:14 AM »
"Although the main menue of MPXT only shows two lines on the LCD."

Ok, I managed this so far. But the rest...

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #9 on: June 12, 2004, 09:38:04 AM »
Matthias,

Try increasing the ScrollDelay value in mpxttsr.cfg

matthias

  • Guest
MPXT
« Reply #10 on: June 13, 2004, 07:08:42 AM »
@admin

Yeah - works fine and looks great!

Thankx!

Tamas

  • Guest
MPXT
« Reply #11 on: June 15, 2004, 01:40:27 PM »
Hi! I have a 4x20 HD44780 LCD.  
My problems are:

- Menu is shown only in the first 2 lines, eventhough I have set the LCD to 4x40

- after choosing anything from menu (mpxplay loads) there is nothing on the LCD no matter what I play, choose or do in Mpxplay

in fact, I would need 4 things in the menu

1. play audio cd
2. play the whole MP3 CD (songs one by one)
3. play the whole MP3 CD (random)
4. browse the mp3 cd

I think, I can change the menu to look similar,
but I really do not know what to do after mpxplay is called, as I have nothing on the LCD from that on.

THank you for your time in advance.

Tamas

Tamas

  • Guest
MPXT
« Reply #12 on: June 15, 2004, 01:44:45 PM »
sorry  

I have set the lcd 4x20 and NOT 4x40 of course

Tamas

  • Guest
MPXT
« Reply #13 on: June 16, 2004, 02:53:18 AM »
After dealing with this nice prog for another hour, I managed to have 4x20 characters, in fact, it was my fault, I did not notice that by default it was set to 4x40 (not very common LCD though)

However, I still have one question

on each new screen, there are some undefinable characters, usually one or two, randomly, but mostly at the beginning or at the end of a line.

I have tried to adjust the delays, a tried a wide scale of the settings but nothing really helped.  

What shall I do to make these annoying characters disappear?  
It is a pain in the back especially when you have a line full of info, and than one character of the info shares its place with this rubbish, and finally you can not read that character.

Thank you!

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #14 on: June 16, 2004, 10:36:28 PM »
Tamas,

Mpxttsr.exe takes care of the lcd display while MPXPlay is running.  Run it once, before doing anything else.  It'll stay in memory until the computer is shutdown/rebooted.

Since I don't own a parallel port lcd, I have no way of testing the parallel port routines.  Basically, the parallel port lcd functions are the same as they were back in the MPXF days.

If you want, you could try setting controldelay and portdelay to the maximum value, 65535.

I took a quick look at lptlcd.pas.  The two delay functions are simple busy-loops.  Because of this, a delay value of 65535 still might not be enough on faster processors.  I'll need to fix this in the next beta.


matthias

  • Guest
MPXT
« Reply #15 on: June 17, 2004, 02:14:30 AM »
"it was my fault, I did not notice that by default it was set to 4x40"  

Same happend to me ;-)

Tamas

  • Guest
MPXT
« Reply #16 on: June 17, 2004, 02:50:32 AM »
thank you, but the fast proc in my case means amd p75/133 :-))))

matthias

  • Guest
MPXT
« Reply #17 on: June 21, 2004, 11:48:43 AM »
Iīm still working on the display output. Everything is fine if there is no line scrolling. Linescrollimg still looks strange. I`ve set ScrollDelay to 25. The display doesn`t flicker or got to fast anymore, but line scrolling takes ages. I know that there a few settings to do for the lcd. But I wonder if itīs only the mpxttsr.cfg which is responsible for the output because you can also change settings in other cfgs.
Another strange thing - I use an AMD Duron 800. Should be fast enough ;-)
But when mpxplay starts playing the first title CPU usage is between 80 - 100 %. After two minutes CPU usage is going down to about 15 %. Any idea?

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #18 on: June 25, 2004, 11:18:44 PM »
The most important delay values are in mpxttsr.cfg and mpxtlcd.cfg.  In mpxtlcd.cfg you can save some cpu cycles by decreasing the delay values until you start getting garbage characters, then bump up the delays values until things are stable again.

In mpxttsr.cfg:
Increasing the DelayFactor will save a lot of cpu cycles, but the lcd won't get updated as often.  In general, set it a low value if you're using the EQ functions, otherwise something in the 3 to 9 range should work well for most people.  Adjust DelayFactor first, since this affects all of the other delay values in the tsr.

RefreshDelay: If the DelayFactor is set to a low value, then you can get away increasing RefreshDelay to save a few more cpu cycles.

When I run MPXPlay the cpu always starts out at 100% then drops to a more normal value after a couple of seconds.

matthias

  • Guest
MPXT
« Reply #19 on: June 26, 2004, 12:55:27 PM »
@admin
Thanks again, Iīll try that tomorrow step by step. Maybe itīs a good idea to place this information in the FAQ section or in the readme.txt.
But unfortunatly there is one thing I wonder about. I use doslfn to show long file names. When I start mpxt and switch to the playlist menu my m3u playlists are shown in 8.3 DOS convention, but when I play the files the LCD shows the correct long file names. What can I do about that?

"When I run MPXPlay the cpu always starts out at 100% then drops to a more normal value after a couple of seconds."
This effect is minimized since I installed the UDMA driver for dos.

Matthias

matthias

  • Guest
MPXT
« Reply #20 on: June 27, 2004, 06:22:19 AM »
Quote:
my m3u playlists are shown in 8.3 DOS convention

            ---- FILEINFO.CFG ----

If you can read it can answer many questions....

matthias

  • Guest
MPXT
« Reply #21 on: June 29, 2004, 08:09:23 AM »
@admin
Quote:
Linescrolling still looks strange

LCD was still switched ON in mpxplay.ini.....

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #22 on: July 04, 2004, 01:38:30 PM »
I spent some time overhauling the delays in lptlcd.pas  The changes affect lcd type 1 (parallel).

Changes:
* Wrote a new delay routine that doesn't depend on the processor speed.
* Removed some unnecessary delays
* Added a delay where one should have been

If it works, it'll make MpXT a little less cpu-hungry when writing characters to the lcd.  If it fails, it could cause garbage characters, crashes in the tsr, etc.

Since I don't own a parallel port lcd, I have no way to test the changes.  I've built a test-version of MpXT that includes the new delay routines.  It can be downloaded here:
http://techworld.dyndns.org/download/mpxttest.zip

Start with a ControlDelay of 65, and a CharDelay of 65.

matthias

  • Guest
MPXT
« Reply #23 on: July 13, 2004, 01:34:46 PM »
Iīm a little bit confused.
Everything is fine and running, although Iīm still trying to get IR controll running, but this seems to be a problem with the IR device.
So Iīm trying to start with a keypad. I can controll mpxt without any problems. Then I start an MP3 file and mpxt switches to mpxplay. Fine so far, but how I can I quit mpxplay and go back to mpxt? The "." button, which works under mpxt as the "escape" button doesnīt have any function. But how can i quit mpxplay and go back to mpxt menu???
Iīll test the new changes in the lptlcd.pas and give you a feedback asap

Matthias

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #24 on: July 23, 2004, 07:54:32 PM »
MPXPlay has control over the keyboard while it's running.  Edit MPXPlay.ini and change:
KeyVolumeUp2    =0x342e
to
KeyVolumeUp2    =0x0000

Then change one of the KeyExit entries to 0x342e

matthias

  • Guest
MPXT
« Reply #25 on: July 29, 2004, 09:55:07 AM »
@admin
Thanks for the help

Matthias

Ben Joiner

  • Guest
MPXT
« Reply #26 on: July 30, 2004, 03:46:59 PM »
I have a Crystal fontz 632 display which runs off the com port.  The tsr locks up the lcd screen every time no matter how high you run the delay facctor for how often the tsr grabs info from mpxplay.  So i tried the software on winXP instead of Win98 (which mpxplay isn't freindly with).  When I load the tsr in xp then the screen doesn't lock up.  I call mpxplay from mpxt and then get a cursor only.  Anyways, just wondering if you guys can help me.  Thanks.

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #27 on: July 31, 2004, 07:26:32 PM »
Ben,

The thing to keep in mind is that MPXPlay was designed to be used under plain DOS.  Since DOS doesn't support sound cards, on its own, support for the sound cards is built into the program itself.  This means calling some low-level functions that may or may not work when running in a DOS-Window in Windows.

I'm not running Win98 or XP, but I have tried MPXPlay under Win95b and Windows 2000.  I've never been able to get MPXPlay to do anything useful under Windows 2000.  More often than not MPXPlay works fine for me under Win95b.  Basically I do all of the MpXT-related coding and testing under 95b.  Also, some sound card types are only supported by MPXPlay, in plain DOS.  (The Sound Blaster AWE64 card that I use on my test machine works fine in MPXPlay in both plain DOS, and 95b)

I'd start by running MPXPlay all by itself.  Copy an audio file to the MPXPlay directory, then fire up MPXPlay to see if anything comes out of the speakers.  If that doesn't work in 98 or XP, try running it under plain DOS.  If you not sure how to get to plain DOS, I can walk you through it.

If MPXPlay works properly, on its own, check the mpxplay.ini file and make sure that "LCDport" is set to "none".  Otherwise MPXPlay and Mpxttsr could end up writing to the LCD at the same time.  Then set "SerialEnable" to "0".

I wouldn't worry too much about the "DelayFactor" setting until you get everything else working.

matthias

  • Guest
MPXT
« Reply #28 on: August 04, 2004, 07:27:24 AM »
Iīm just building an "installation guide" for MPXT and MPXPLAY on my homepage, for the beginning in German. Hope you all like it - if you understand it ;-)
http://www.mbudde.de/mp3player/mp3_start.htm

matthias

  • Guest
MPXT
« Reply #29 on: August 04, 2004, 07:56:07 AM »
Iīm trying to controll MPXT with my remote control. Itīs no problem to program MPXT with the fantastic build in support for my UIR. But I wonder how to control MPXPLAY. Iīve understood so far that MPXT uses mpxplay.ir to read the settings. But I donīt understand so far what kind of syntax I have to use. Do I have to use the settings of MPXPLAY (something like: SerialFunc =19c000000000,0d1c) or do I need the syntax of MPXT (like: 28,13=22976).
Thanks
Matthias

matthias

  • Guest
MPXT
« Reply #30 on: August 04, 2004, 08:44:35 AM »
Hey, Iīve found it out on my own :-)

Matthias

matthias

  • Guest
MPXT
« Reply #31 on: August 11, 2004, 06:16:41 AM »
Iīm working again on IRDA controll. I can learn and controll MPXT and MPXPLAY with my remote control after I build mpxplay.ir and mpxt.ir. But I still have two problems at the moment.  
First:
When I start music by "play/search" (using my m3d) everything works fine, but when I start my playlists (using xyz.m3u)mpxplay always quits and goes back to MPXT. This happens when I use the keyboard and/or my IR remote. When I quit MPXT and switch of "UseIR" im mpxt.cfg and restart MPXT than I can use my own playlists without any problem.
I tried 3 diferrent remote controlls, but that didnīt change anything. IR support is disabled im mpxplay.ini.
Second:
When I keep on pressing a button on my remote control mpxt only receives one key. This is a pain if you try to scroll through a database with 300 entries. I already tried to increase the Delay, but this didnīt help.
Any ideas?
Thanks  
Matthias

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #32 on: August 11, 2004, 10:58:25 PM »
Matthias:

I made a test version for you to try.  After running MPXPlay it'll ask you to hit enter to continue.  That way, if MPXPlay is crashing, you'll be able to see any error messages displayed.

I'm not sure about the first issue, but if MPXPlay is displaying an error message, you'll have time to read what it's telling you.

For the second issue, you can use keys 1&3 to skip ahead/backward by 10.  I'm not very familiar with the IR functions, but if you can map the buttons to 1&3 it should work.

This test version also includes the new parallel lcd delay routines.  Try using default chardelay and controldelay values (both are set to 65).  Right now, I don't know if it works, because I don't own a parallel lcd.

http://techworld.dyndns.org/download/mpxttest2.zip

matthias

  • Guest
MPXT
« Reply #33 on: August 12, 2004, 01:19:11 AM »
@Admin
Hey brent(?), thanks for that quick help. Iīll try that version tomorrow.
Se ya

matthias

  • Guest
MPXT
« Reply #34 on: August 12, 2004, 12:23:17 PM »
@admin
First:
(Quote)
"After running MPXPlay it'll ask you to hit enter to continue. That way, if MPXPlay is crashing, you'll be able to see any error messages displayed. "

I tried that. Very strange, there is no error message by mpxplay. Thereīs only "Press Enter" to see and then "Returning to MPXT...". Thatīs all...

Second:
Maybe I missunderstand you. You mean when I press 1 or 3 (number) on my keyboard (or mapped on my Irda remote) it should skip ahead/forward by 10?
If so it doesnīt work. When I press 1 or 3 on my keyboard nothing happens at all.

Third:
LCD output looks good while running mpxt and mpxplay. But one strange thing, when starting mpxt with "Play Database" mpxplay always does "Loading file informations" which takes a long time for a database with 2000 entries and the LCD only shows line 2,3 and 4 while loading. When mpxplay has finished loading the file informations (database you can see all 4 lines of the LCD

matthias

  • Guest
MPXT
« Reply #35 on: August 12, 2004, 12:32:34 PM »
@admin
Third:  
LCD output looks good while running mpxt and mpxplay. But one strange thing, when starting mpxt with "Play Database" mpxplay always does "Loading file informations" which takes a long time for a database with 2000 entries and the LCD only shows line 2,3 and 4 while loading. When mpxplay has finished loading the file informations (database you can see all 4 lines of the LCD
--> same behavior as when you tell mpxt/mpxplay to play a drive

matthias

  • Guest
MPXT
« Reply #36 on: August 12, 2004, 12:41:58 PM »
@admin
Iīve just tried IRDOS. My first problem doesnīt appear anymore, but IRDOS has the problem that you always have to wait a second between pressing a button on the IR remote and the another button.

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #37 on: August 13, 2004, 08:25:23 PM »
Matthias:

I added ahead 10/back 10 in MpXT under Playlist Menu -> Edit List.  Perhaps you meant something else.  Did you want it to skip ahead/back while MPXPlay is running?

I'm kind of limited on what I can do with the IR routines.  I don't know much about them and even if I did, I don't have the hardware to test it.

If MPXPlay's IR routines work ok, I could shut down the serial port interrupt handler before shelling out to MPXPlay.  Then you could use MPXPlay's built-in IR handling.

Brent

matthias

  • Guest
MPXT
« Reply #38 on: August 15, 2004, 07:03:01 AM »
Brent:

What I mean is a function (by keyboard) so skip 10 forward/back when you search for a playlist in the playlistmenu/play list:

1. Select Playlist Menu
2. Select Play List
3. Select the individual playlist
--> at this point it would make sense to have that key function

One thing:
Those functions Load List and Edit List doesnīt work at all. When I select one of those menuīs MPXT tries to start "something" and then switches back to playlist menu without any visible error message (I tried to push the break button on my keyboard).

I can understand that this IR stuff is hard to handle. It would be a nice add on to have a full working IR remote control, but itīs not a must. This thing is also not working properly under Windows...
If you need any assistance when testing IR routines I can help you with that - no problem at all. I have collected different IR receivers and remote controlls

Matthias

matthias

  • Guest
MPXT
« Reply #39 on: August 15, 2004, 09:41:46 AM »
Brent:
Quote:
"If MPXPlay's IR routines work ok, I could shut down the serial port interrupt handler before shelling out to MPXPlay. Then you could use MPXPlay's built-in IR handling."

Iīll try MPXPLAYīs IR routines and post the information

Matthias

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #40 on: August 16, 2004, 12:39:54 AM »
Matthias:

Make sure that you use the Load List function before using Edit List.  I just ran a test on it tonight.  Unless you're using a playlist format that MpXT doesn't understand, it should work.

I added the skip ahead/behind 10 to the playlist selection routine.  That was fairly straight-forward.

Replaced the entire serial library in the IR unit.    I had MPXPlay playing music with IR enabled, but I don't know if IR still works.  I compiled a new version of Irtest.exe, but I don't know if that works either.  If you want something to test, here you go:

http://techworld.dyndns.org/download/mpxttest3.zip

matthias

  • Guest
MPXT
« Reply #41 on: August 16, 2004, 12:37:36 PM »
Bent:
Skip ahead / forward works perfect. Now itīs much faster to scroll through the playlists. Friend of mine has 800 of his own cdīs ripped...  
Do you think it would be possible to improve the skip function by skipping not 10 back or forward but skipping from one letter to another? So you can skip from A to B to C and so on; e.g. from ABBA to Blur to Christina Aguilera etc. Maybe this would be a nice function for a next version of MPXT.

IRtest.exe seems to work fine. But IR support in MPXT doesnīt work anymore at all. It already fails when I try to learn new codes.

Can you make a version of MPXT with build in skip function (skipping 10 or skipping by letter doesnīt matter at the moment) and shutting down the serial port interrupt handler before shelling out to MPXPlay (your posting from friday)? With this version I could go on testing.

Thanks

Matthias

matthias

  • Guest
MPXT
« Reply #42 on: August 16, 2004, 03:05:30 PM »
Brent:

I donīt know if other people have problems with the IR control. Maybe it would be a good idea to add a few lines/options to the mpxt.cfg. So user can decide to shut down the serial port interrupt handler before shelling out to MPXPlay. The idea is to use MPXT IR support for MPXT and when switching to MPXPLAY using itīs own IR support.
I donīt have any idea if this too much work.  
Will MPXT get the IR control back when you switch back from MPXPLAY to MPXT? Otherwise this function would be useless.

Quote:
"Unless you're using a playlist format that MpXT doesn't understand"  
--> What playlist format does MPXT understand or not understand?

I know I have many questions ;-)
But I hope I can help other MPXT users when writing my documentation of my own MP3 project. I already start this in German and I will do this also in English

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #43 on: August 17, 2004, 08:48:16 PM »
Matthias:

I think I know what the problem is.  If I'm right, X10, and serial keypad handling are also broken.  To fix it I'll have to continue replacing the serial library.  It's not a small undertaking, but I think it'll be worth it in the long run.

matthias

  • Guest
MPXT
« Reply #44 on: August 18, 2004, 04:56:38 PM »
Brent:

I guess so...
OK, letīs wait and see ;-)
Itīs a great programm and worth to wait!!!

Matthias

matthias

  • Guest
MPXT
« Reply #45 on: August 21, 2004, 03:16:39 PM »
I hope I can tell you what kind of function Iīm looking for.
I use m3u playlists and m3d database to play my mp3s. m3u playlists have the advantage that they are easy to find and select through MPXT. But at the end of the album mpxplay stops. Is there anyway to tell mpxplay to advance to the next album?
I know that this function is part of m3d database but itīs a pain to select an album through the menu or maybe I didnīt understand how to use this feature so far...

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #46 on: August 24, 2004, 01:10:23 AM »
Matthias:

You could try "play database".  It would build a large playlist and send it to MPXPlay, but all of the songs would be lumped together.  MPXPlay does have sublist support, but I've never tried it.

--------------------------------------------------

I can't promise much in the way of features for the next beta.  Over the weekend, I made a number of changes to the structure of MPXT.  At the same time I changed the way that it was using the serial library and rewrote about 2/3 of the IR libary.  MPXT could use some restructuring in places to make it easier to maintain, but the way I went about it didn't work out very well.  

As for the serial/IR library...it would've been really neat if what I was trying to do would've worked.  (I wrote a quick and dirty IRMan simulator program, the other day, so I was able to run some tests.)  With MPXT running in the foreground it was pushing keystrokes, but after shelling out to MPXPlay I'd always get runtime errors.  The serial library that I was using is fine, but the way I was using it, didn't work out.

Then after looking over the original serial library, I determined that although it uses dynamic memory allocation (a big no no in tsrs/interrupt handlers), the actual memory allocation happens before going resident.  In other words, there's nothing wrong with the old serial library.

To undo the nightmare that I created, I had to back everything down to Beta2.  Tested the IR with MpXT in the forground.  It worked.  Shelled out to MPXPlay and hit a button.  It worked.  Hit another button...crash!  The good news is that I found a couple of bugs in the original IR routine when I was in the process of rewriting it.  So, I should be able to take what I learned and use it to fix the original IR routine.

Found another bug too:  Play/Search->PlayDatabase->Esc->Esc->PlayListMenu->PlayList->SelectPlaylist->Pla yNormal
results in a stack overflow (runtime error 202).  The memory must not be getting free'd up when exiting out of PlayDatabase.

Short term goals:
*Fix both crasher bugs
*Re-add at least some of the post beta2 features/bugfixes, that have already been written

matthias

  • Guest
MPXT
« Reply #47 on: August 25, 2004, 07:13:06 AM »
@admin
I think I will use the "play database" feature and then skip from one playlist to another. Would be nice to have a function to skip 10 back/10 ahead (like you already did for me inside the playlist menu - works great - thanks) or better a function to skip from one letter to another. From A to B... So you can easily choose the album you want to hear and mpxplay will advance to the next album at the end of the playlist.

If you need some ressources for testing the IR features you can place a link here and Iīll do some tests. No problem at all.

Matthias

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #48 on: September 01, 2004, 11:50:51 PM »
Matthias:

I have another test version of MpXT for you to try.

------------------------------------------------
Changes since beta 2:  

For parallel port LCDs, the delays no longer depend on cpu speed.

Skip ahead 10 / Skip behind 10 for playlist selection, and playlist editing.

IR codes are stored internally, using all 6 bytes, instead of crunching it down to two bytes.  The format of the .ir files has changed too.  Each entry has two hex bytes for the keycode, then an = sign, then the six hex bytes for the IR code.

There's now an option to tell MpXT not to mess with the IR while MPXPlay is running.

There were a few keyboard options that had no entries in mpxt.cfg  This has been fixed.

I kept getting a runtime error 002, when selecting "Load Database".  I think I have that fixed.

If this version turns out to be reasonably stable, I'll post it on the download page as Beta 3.

http://techworld.dyndns.org/download/mpxttest4.zip

Known issues:
IR seems to work ok while MpXT is running, but it's still kind of hit-and-miss while MPXPlay is running.  Sometimes it works, sometimes it doesn't...I haven't been able to find a definite pattern to it yet.

There may be a runtime error or two that I haven't caught yet.  Please report them.

Future plans: (after beta 3)
Add letter skipping for playlist selection and/or playlist editing.

I'm thinking about adding keystroke translation to the tsr, for some of the more common items.  Example: "." gets translated to an "esc" to exit out of MPXPlay.  No promises, I'm still thinking about this one.

matthias

  • Guest
MPXT
« Reply #49 on: September 03, 2004, 02:46:36 AM »
@Admin
Sounds very good!!!
Iīll do the test over the next days and place my experiences in the forum.

Thanks

Matthias

matthias

  • Guest
MPXT
« Reply #50 on: September 03, 2004, 08:55:10 AM »
@Brent
Wow, I think youīre on the right way. But...
"I kept getting a runtime error 002, when selecting "Load Database". I think I have that fixed" I still get that 202 Runtime Error at 05A3:1D91 sometimes when I try to play my Database.

IR Support sometimes works, but when it works itīs very very good. It might be the problem that MPXT doesnīt shut down the seriall port quick enough because mpxplay reports, when closing, "no IR device found"
I configured my mpxt.cfg like this:
UseIR=True
UseX10=False
UseInMPXPlay=True
Comport=1

Playing the Database has a new strange effect. When the command starts mpxplay, the player starts to load file informations. That takes very long. Itīs similiar to starting mpxplay alone with the Option -ds (driverletter). I switched back to testversion3 and then the database directly starts to play.


I hope this information helps

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #51 on: September 03, 2004, 07:37:27 PM »
Matthias,

I had the same runtime error, a while back, but it didn't show up during my last round of testing.  When I get the chance, I'll take a look at it.

For the IR, UseInMPXPlay=False tells MpXT to shut down the IR handler, before launching MPXPlay, then start it up when MPXPlay is finished.

So, if you're using MPXPlay's built-in IR handling, you'll need to set UseInMPXPlay to false.

The last issue is probably a new bug, caused by the runtime error 002 fix.  I'll add that to my to-do list.

matthias

  • Guest
MPXT
« Reply #52 on: September 04, 2004, 07:45:32 AM »
Brent,

maybe rename UseInMPXPlay to USEIRinMPXPlay.

But after changing that the last issue has gone.

When I switch to mpxplay IR works fine, when I go back to mpxt it doesnīt work anymore. Restarting mpxt doesnīt change it - mpxt with no IR support, but mpxplay works fine. After rebooting the PC IR support in mpxt works again...

Have a nice weekend

Matthias

Iīll keep an eye one the runtime error.

matthias

  • Guest
MPXT
« Reply #53 on: September 04, 2004, 07:59:06 AM »
After I switched back from mpxplay to mpxt and start IRtest it reports IR not active.

Matthais

matthias

  • Guest
MPXT
« Reply #54 on: September 25, 2004, 02:47:23 AM »
hm, not too much going on over the last weeks. anybody out there ;-) ?

Matthias

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #55 on: September 26, 2004, 11:21:53 PM »
Matthias,

I'm still here.  Just took a little break from MPXT.  I'll get back to it sometime in the next week or two.

-Brent

matthias

  • Guest
MPXT
« Reply #56 on: September 27, 2004, 04:19:37 AM »
@brent
Iīm busy too - my daughter was born last week ;-)

MichaelO

  • Guest
MPXT
« Reply #57 on: October 13, 2004, 02:38:01 AM »
Just wondering if anyone was using Dev-Cpp /MinGW / GCC under windows to compile any MpxPlay /MPXT related programs as I am use to the front end.


matthias

  • Guest
MPXT
« Reply #58 on: November 18, 2004, 06:03:21 AM »
Need more DOS memory?
Then try this configuration. Looks strange but works perfect with 624 K available DOS memory:

Config.sys:
DOS=HIGH
DEVICEHIGH=C:DoSHimem.sys  
DEVICEHIGH=C:DoSEMM386.EXE NOEMS NOVCPI HIGHSCAN
FILESHIGH=22
BUFFERSHIGH=13,0
STACKSHIGH=0,0

FCBSHIGH=4,0
LASTDRIVEHIGH=R
DOS=UMB

autoexec.bat:
@ECHO ON
SET PATH=C:Dos;
LH c:DosSMARTDRV.EXE 4096 /X
REM RAM Disk is loading
LH C:DosXMSDSK.EXE 524 R: /Y
COPY C:COMMAND.COM R:
SET COMSPEC=R:COMMAND.COM

frank

  • Guest
MPXT
« Reply #59 on: December 10, 2004, 09:30:28 AM »
Hi,

I'm just looking into building my own mp3 player, but haven't started yet,
and I have some questions about MPXT.

It's a frontend for Mpxplay:  why?
What does it do or add to mpxplay?
I can't run mpxplay by itself?

What type/size lcd displays does it support?
serial/lpt?  20x2, 20x4, 40x4?  hd4448, hd4478?

I see here and on Matthias' page you linked to,
that you both install windows, either 95 or 98.
Why?  Can't I get by with just dos6.22?
or does it need the dos7 from win?
or something else from win?  
or some other reason?

I see the links here and on Matthias' page about dos networking and lfn,
so I think that answers a couple other questions I would have had.

Thanks

frank

  • Guest
MPXT
« Reply #60 on: December 12, 2004, 12:40:40 PM »
Matthias answered a couple questions for me, on the Mpxplay site,
about lcd and keypad.
I have an Optrex 20x4, with hd4478 chip.

That still leaves the what and why of Mpxt,
and Mpxplay with Mpxt vs. without.
Dos7 vs Dos6.22?  FreeDos maybe?
With or without windows?

frank

  • Guest
MPXT
« Reply #61 on: December 12, 2004, 04:37:40 PM »
@matthias
in your above example for an autoexec.bat,
what and where is xmsdsk.exe?

frank

  • Guest
MPXT
« Reply #62 on: December 12, 2004, 04:59:14 PM »
nevermind, I found xmsdsk on simtel.com.

but, it doesn't free up any more memory,
at least for me, so why use it?
before I found it, I had 621k free,
and after using it, still 621k.

frank

  • Guest
MPXT
« Reply #63 on: December 12, 2004, 08:59:09 PM »
I found a FULL installation of MsDos 7.10 here:
http://newdos.yginfo.net/msdos71/index.htm
no more need for Win9x, if all you want is Dos 7.

I came across that while searching for share.exe,
which part of the dos networking seems to need.

matthias

  • Guest
MPXT
« Reply #64 on: December 13, 2004, 04:31:45 AM »
@frank
xmsdsk will provide a ram disk. So you can copy certain files and programms to the ram disk. Mpxplay will start and act much faster. You copy them from the autoexec.bat to the ram drive (e.g. r: ) and  start the programm from r:. Thatīs all.
For example:
------------------------------------
LH C:DriversXMSDSK.EXE 4096 R: /Y
if exist copy mpxplay.* r:
------------------------------------
This will install a RAM disk as drive r: and 4.096 KByte large and copies mpxplay.exe and mpxplay.ini to r:.

I use Windows 98 for two main reasons:
1.) Full support of long file names
2.) Easy administration over my WLAN  
In my software you can select if you like to start the player or Windows from the autoexec.bat without connecting a monitor to your MP3 player. You donīt need Windows to start mpxplay and I wonīt do that anyway. Before I switched to MPXPLAY I used a MP3 player based on Windows2000 (Winamap and Albumlist) with a LCD and IRDA. It was a pain in the a....

Share.exe:
Share was needed in DOS 6.22 when you use TCP/IP and want to use your PC as a Server in your network. But it needs too much DOS memory. So when youīve loaded the full TCP/IP stack + share.exe you wonīt be able to start anything else ;-). If youīre looking for a network version based on DOS I can provide you with all information. I would recommend to use netbui protocoll instead of TCP/IP. netbui needs less memory and will do the same as TCP/IP. This solution works pretty good on one of my MP3 players. But donīt forget to install netbui protokoll on all PCs you like to connect.
Share.exe wonīt work with DOS 7.10!!!

"It's a frontend for Mpxplay: why?
What does it do or add to mpxplay?
I can't run mpxplay by itself?"
--> I use MPXT for two reasons:
1.) I love the configuration of the LCD output - itīs just perfect and much easier to handle then the LCD support of mpxplay (thanks to Scott and Brent)
2.) MPXT allows you to play all your MP3 files through the database created by MPXT or single playlists or single drives or files from your cd-rom

MPXT will start before and instead of mxplay. When you choose what to play (database, playlist...)fro m the menu it will start mpxplay.  

MPXT adds easier  navigation through your files or directories. If you just have a few MP3s on your harddisk you can use mpxplay only, but if youīre looking for a menu based navigation I recommend to use MPXT as a frontend.

I will launch a new version of my MP3 player over the next days. I made a few bug fixes and I will add mpxplays fastlist support. So you can create fastlists on the fly just by a menu on your LCD Now the autoexec.bat gets very very long ;-).

If you need more informations you can mail me:
matthias_budde at web.de - please write "mp3 player" in the subject line. If collected over 250 MB of Dos software and drivers so far.

Matthias


admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #65 on: January 10, 2005, 12:02:16 AM »
Matthias:

I gave up trying to figure out why MpXT's IR handling stopped working when shelling out to MPXPlay.  MPXPlay's IR handling seems to work ok, so we might as well use it.

I have a new test version of MpXT ready.  It's now properly shutting down the com port before shelling out to MPXPlay.  I also had to make a couple of minor changes to the format of mpxt.cfg  

To test it out:
Setup MPXPlay to use UIR.  Configure the mpxt.cfg file like normal, but be sure to specify where MPXPlay.ini is located.

Assuming that I've got all of the bugs fixed, MpXT should be able to load, add, and save the IR codes to MPXPlay.ini  :-)

http://techworld.dyndns.org/download/mpxttest5.zip

matthias

  • Guest
MPXT
« Reply #66 on: January 12, 2005, 07:14:02 AM »
Brent:
Iīll try that next weekend and Iīll give you a feedback.

Thanks

Matthias
http://www.mbudde.de/mp3player/mp3_start.htm

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #67 on: February 14, 2005, 12:03:53 AM »
Matthias:

I have another test version ready.  I'd tell you what was in it, but that would spoil the surprise   :-)

Hint: Look under [player settings] in mpxt.cfg

Anyway, when you get the chance, let me know how it goes.  If it seems fairly solid, I'll call it "Beta 3" and post it on the web page.


 http://techworld.dyndns.org/download/mpxttest6.zip

matthias

  • Guest
MPXT
« Reply #68 on: February 14, 2005, 06:21:45 AM »
Hey, this looks like a hugh step:
; Use Long Filenames
UseLFN=True

Iīll try that as soon as possible. Iīm a little bit busy at the moment. My 5 month old daughter needs a lot time ;-)
But I was already able to make a DOS based Wireless Lan Version of my MP3 player. Works pretty good and stable. No more Windows, no more handling music files on the player and I can access the player via FTP and can control it by a remote tool similar to PCAnywhere.

admin

  • Administrator
  • Member
  • *****
  • Posts: 54
    • View Profile
MPXT
« Reply #69 on: February 14, 2005, 06:00:24 PM »
Matthias:

Lfn playlists should be working now, eliminating the need for adding a bunch of entries to fileinfo.cfg

For the audio files, though, it still uses the short names.  If I were to add support for lfn audio files, it would involve making a number of changes to mpxfdb.pas  Heck, at point I'm not sure what half of the functions in mpxfdb.pas do.

Congratulations on dumping Windows.  Someday I'd like to dump it completely, but for now I use it for transfering files to the player, use VNC to control it remotely, and use the Windows defragger to defrag the drive.  

matthias

  • Guest
MPXT
« Reply #70 on: February 15, 2005, 09:10:20 AM »
What a pain.
Lfn doesnīt work on a network drive...


I used Windows the same way, but it was always a pain sitting in front of the LCD display - will this ****ty OS start or not... LOL

matthias

  • Guest
MPXT
« Reply #71 on: February 27, 2005, 07:15:40 AM »
Iīve been playing around with the new version. Looks pretty good. But one general question.
I never understood how to use the search by album, song and artist feature in the menu.
Can you give me an idea?

matthias

  • Guest
MPXT
« Reply #72 on: April 10, 2006, 01:02:37 PM »
Hi Brent,

Iīm still alive, but have been a little busy.
But things are going forward, so version 2 of my Mp3 player will be ready in a few weeks.
V 2 will have plug and play support for tcp/ip network (pci) and plug and play support for ext. usb harddisks. Means just put in a pci network card and V2 will build the entire tcp/ip netowrk connection inkl. dos server function.
MPXPLAY fastlist and MPXT m3u support are included and many features more.
Any one out there who wantīs to be beta tester :-)?