Announcement

Collapse
No announcement yet.

Tiny Music Embedded

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tiny Music Embedded

    Decided to get back into my programming habit and work on my MP3 software.

    This software is geared towards those who don't have a nice LCD to display movies/really cool graphics.

    Progress so far:
    100% Winamp Interfacing done.
    50% IR Remote input. (Creative remote so far, don't have an IRMAN to test with.)
    50% Keyboard input.
    100% Mouse support. (While this is useless without a screen, its there for ease of development.)

    Definite:
    Remote settings configuration. (Since there will be no screen, have the option of configuring TME over the network instead of taking the whole computer inside.)
    Directory skipping. (If you have all your MP3 sorted by artists/albums in seperate directories, you can skip entire directories.)


    Possibles:
    Character LCD screens.
    Network synchronizing.

    When I was putting together my new setup, trying out MediaEngine and MediaCar, I realized they can be a good bit annoying to use without a screen. I know I don't have the money for a super cool LCD screen and really have no use for one. I know there has to be others out there like this, and since the newest Via EPIA boards that are popular for installs don't support MPXPlay(Chipset no longer supports DOS legacy sound.) anymore a need for a similiar Windows port is great.

    I want to know what everyone thinks of this. What features would you like to see? The project will be open source and source will be available with each release.

  • #2
    Progress update:
    Fixed Winamp track changing logic. Can now toggle shuffle and still having it change tracks properly. (Before when shuffle was enabled, it would advance to the next track, not the next random track.)
    Completely removed old useless code.

    Comment


    • #3
      I am so glad there are so many projects going on. More developers to talk to
      [H]4 Life
      My next generation Front End is right on schedule.
      It will be done sometime in the next generation.
      I'm a lesbian too.
      I am for hire!

      Comment


      • #4
        Originally posted by frodobaggins
        I am so glad there are so many projects going on. More developers to talk to
        Not sure exactly what you mean... but okay!

        *grumbles about pain in the butt weird bugs*

        Comment


        • #5
          It was pretty clear to me and i am not even a developer!!
          -Jesus- King of Kings Lord of Lords

          Comment


          • #6
            People want to talk to developers?

            100% keyboard support plus configuration options.
            75% IR remote. No configuration options yet.
            0% Multiple playlist selection.

            Comment


            • #7
              sounds perfect. it could replace the winamp http://www.markuszehnder.ch/projects...ugin/index.php plugin if you support the major LCDs like crystalfontz and/or matrix orbital. i am definatly interested

              Comment


              • #8
                Originally posted by raypsaliga
                sounds perfect. it could replace the winamp http://www.markuszehnder.ch/projects...ugin/index.php plugin if you support the major LCDs like crystalfontz and/or matrix orbital. i am definatly interested
                HD44780 is the first type of display I plan on supporting. Matrix Orbital will probably come next if I can port the code or find examples.

                Right now I'm tackling a PAIN in the BUTT bug. Running in the enviroment works fine, running the compiled program causes Run-time error 91. Object variable or With Block variable not set.

                Code:
                Private Sub Form_Load()
                Dim SNumb As Integer
                Dim i As Integer
                Dim PStatus As String
                Dim RetVal
                Dim PWinamp As String
                Dim PTitle As String
                PStatus = GetPlayStatus
                
                'Load Keyboard and IR Remote settings.
                InputSetup
                
                'Default Playlist Loading
                PDirect = ReadINI("settings", "pdirectory", App.Path & "\" & "mp3shell.ini")
                PlayList = ReadINI("settings", "playlist", App.Path & "\" & "mp3shell.ini")
                If FileExist(PDirect & PlayList) = False Then
                    cdgFile.CancelError = True
                    On Error GoTo ErrHandler
                    MsgBox "Default Playlist was not found.", vbOKOnly, "Playlist Open"
                    cdgFile.Filter = "Playlists (*.pls)|*.pls"
                    cdgFile.DialogTitle = "Please Select Default Playlist..."
                    cdgFile.ShowOpen
                    WriteINI "settings", "pdirectory", Replace(cdgFile.filename, cdgFile.FileTitle, ""), App.Path & "\" & "mp3shell.ini"
                    WriteINI "settings", "playlist", cdgFile.FileTitle, App.Path & "\" & "mp3shell.ini"
                    PDirect = ReadINI("settings", "pdirectory", App.Path & "\" & "mp3shell.ini")
                    PlayList = ReadINI("settings", "playlist", App.Path & "\" & "mp3shell.ini")
                End If
                SNumb = ReadINI("playlist", "NumberOfEntries", PDirect & PlayList)
                PWinamp = ReadINI("settings", "winamp", App.Path & "\" & "mp3shell.ini")
                If FileExist(PWinamp) = False Then
                '    cdgFile.CancelError = True
                '    On Error GoTo ErrHandlerAmp
                '    MsgBox "Winamp EXE Not Found, please select.", vbOKOnly, "Open Winamp"
                Rinse:
                '    cdgFile.Filter = "Winamp.exe File (*.exe)|*.exe"
                '    cdgFile.DialogTitle = "Please Select Winamp.exe file..."
                '    cdgFile.ShowOpen
                'PTitle = Format(cdgFile.FileTitle, "<")
                    If PTitle = "winamp.exe" Then
                        WriteINI "settings", "winamp", cdgFile.filename, App.Path & "\" & "mp3shell.ini"
                    Else
                        MsgBox "Selected file is not Winamp.", , "Error"
                        GoTo Rinse
                    End If
                End If
                PWinamp = ReadINI("settings", "winamp", App.Path & "\" & "mp3shell.ini")
                RetVal = Shell(PWinamp & " " & PDirect & PlayList, 4)
                For i = 1 To SNumb
                    lstPlay.AddItem ReadINI("playlist", "Title" & i, PDirect & PlayList)
                Next i
                lstPlay.Selected(0) = True
                
                'Direct Input Code
                    Set DI = dx.DirectInputCreate() 'create the object, must be done before anything else
                    If Err.Number <> 0 Then 'if err=0 then there are no errors.
                        MsgBox "Error starting Direct Input, please make sure you have DirectX installed", vbApplicationModal
                        End
                    End If
                    Set diDEV = DI.CreateDevice("GUID_SysKeyboard") 'Create a keyboard object off the Input object
                    diDEV.SetCommonDataFormat DIFORMAT_KEYBOARD 'specify it as a normal keyboard, not mouse or joystick
                    diDEV.SetCooperativeLevel Me.hWnd, DISCL_BACKGROUND Or DISCL_NONEXCLUSIVE
                    Me.Show
                    diDEV.Acquire
                    If PStatus = 0 Then
                        Playing = False
                        dPaused = False
                    End If
                    If PStatus = 1 Then
                        Playing = True
                        dPaused = False
                        lstPlay.Selected(GetTrack) = True
                    End If
                    If PStatus = 3 Then
                        Playing = False
                        dPaused = True
                    End If
                    CurTra = 0
                InitRemote
                Form1.Show
                Exit Sub
                ErrHandler:
                        MsgBox "No Playlist Selected, Exiting.", vbOKOnly, "Playlist Open"
                        End
                ErrHandlerAmp:
                        MsgBox "Improper Winamp File, Exiting.", vbOKOnly, "Find Winamp"
                        End
                ExitSub:
                End Sub

                Comment


                • #9
                  Originally posted by Ashlawn Kemling
                  People want to talk to developers?

                  100% keyboard support plus configuration options.
                  75% IR remote. No configuration options yet.
                  0% Multiple playlist selection.
                  Well, other developers do
                  [H]4 Life
                  My next generation Front End is right on schedule.
                  It will be done sometime in the next generation.
                  I'm a lesbian too.
                  I am for hire!

                  Comment


                  • #10
                    Originally posted by frodobaggins
                    Well, other developers do
                    Hehehe, well, teaser picture of the remote configuration program. Includes a virtual remote since its annoying to have to remove the remote and reciever from the car to configure it "remotely."

                    Comment


                    • #11
                      looks good. i'm so pumped for this. when are you planning on releasing the first version. btw i will help with bugs and adding features and what not if i can find the time... i work and have freelance web design and school so my workload varies from day to day and week to week

                      Comment


                      • #12
                        I am not going to set a specific release date. At the current point, I can release the main app, but it is pretty damn hard to use without a way to configure it. I am also trying to tackle that run-time 91 error. As long as you keep the settings configured properly, you'll never get it... its just so annoying and I have almost fixed it!

                        Comment


                        • #13
                          alright, well be sure to keep us posted, and good luck.

                          ray

                          Comment


                          • #14
                            Update!

                            I completely rewrote the code from the ground up. Because of this the code is a lot more optimized and more efficient. It also ALL WORKS without bugs. (Except one, but it doesn't matter anyway.)

                            100% IR Remote
                            90% Keyboard (Still finalizing everything that can be controlled.)
                            Upgraded from DirectX 7 to 8. (DX8 is included with Windows XP.)
                            0% directory skipping. Controls are implemented for it, going to take a lot of coding to make it work properly.

                            Multiple playlists is something I have to talk about here. There will be the ability to create multiple playlists in the future, but not at the moment. The idea is that with directory skipping, that will cut out a good number of neccessary playlists by not having to make a playlist for each directory/album/artist. Using playlists that stem together from multiple directories for that mix of songs you put together, that is where I see the need for multiple playlists that won't be fullfilled by directory skipping.

                            I'm going to finish up keyboard support here and hope to put out the first release tonight through sometime this morning.

                            Comment


                            • #15
                              by directory skipping do you mean browsing by artist or album? a hierarchy like artist -> album -> mp3s? that is how mine are arranged

                              Comment

                              Working...
                              X