1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB6] MADamp 3

Discussão em 'Programação' iniciada por madcat1990, 17 de Maio de 2007. (Respostas: 27; Visualizações: 2061)

  1. madcat1990

    madcat1990 Power Member

    [​IMG]

    MADamp3

    Release Candidate 4


    Detalhes:

    Este é um media player que ando a fazer nos meus poucos tempos livres, vendo que eu gosto mais
    de software feito por mim. (dá me orgulho ;) ) Também como sou um pouco "noob" quanto a multimedia
    este media player fez me aprender muita coisa, interpretar Midis, mp3, verificar a genuidade dos ficheiros
    e é o primeiro programa que faço sem dependencias externas, nomeadamente, ficheiros OCX e etc...
    Vendo que ha vezes em que quero usar o meu software em sitios publicos e eles nao tem os ficheiros OCX instalados, algo que me irrita profundamente. Mas enfim, consegui!



    Changelog:

    3.0 Beta :
    *Botões com icons do "ClearLook" adicionados!
    *Playlist Adicionada
    *Shuffle
    *MP3/2/1 Reproduziveis!
    *Midi Reproduzivel!
    *Backup de Playlist Adicionado!
    *Ficheiro .INI externo adicionado para as opções
    *Integrado GUI para modificação das configurações

    3.0 RC1 :
    *Novo esquema de cores
    *Adicionado Progress Bar ao estilo Windows™ Vista™
    *Tratado um bug que fazia o player "crashar" por uns segundos
    *WAV Reproduzivel
    *Shuffle Adicionado!
    *About Adicionado!
    *Limpar Lista Adicionado!
    *Apagar fisicamente um ficheiro Adicionado!
    *Tratei de um bug que fazia a leitura de M3U perder 2 musicas
    *Tratei de um bug que fazia o programa ir abaixo ao adicionar um ficheiro
    *Adicionado Procura recursiva de pastas!
    *ADICIONADO SUPORTE WMA!
    *Adicionado link no "About" para o nosso site!
    *Adicionado detecção do firefox!
    *Adicionado Estatisticas de Lista (Top5 ainda a ser trabalhado...)
    *Adicionada uma função que escolhe automaticamente a ultima musica que o utilizador ouviu antes de ter fechado o MADamp3
    *Verifica agora (se o utilizador o desejar) se tem mais que um madamp3 aberto.
    *Adicionado Remover da lista (nao fisicamente)

    3.0 RC2 :
    *Tratei de um bug que fazia o programa dar 1 erro de runtime quando se abria varias vezes (obrigado AMG)
    *Tratei de umas falhas de segurança (obrigado AMG)
    *Novo SplashScreen
    *Quando tem algo selecionado na playlist e carregar no botão delete, ele apaga a musica selecionada

    3.0 RC3 :
    -Modifiquei a interface por completo
    -Adicionei a opção do player parar de reproduzir a musica DEPOIS de ter limpo a lista
    -Adicionei a opção do player lembrar-se da altura que tinha na ultima vez que foi aberto
    -Tratei dum bug que fazia com que o label em que está a posição da musica, ficasse com o left em 0
    -Adicionei um novo Beta Tester (Parabéns BadBoyNuno)
    -Adicionei MultiSelecção na playlist para a remoção de 1 ou mais itens de uma vez
    -Para opções da Playlist agora é fazendo right click na mesma
    -Melhorei o visual do Skin (agora na parte debaixo do form do player, nao aparece o fundo do form em si, mas sim o fundo do skin)
    -Tratei dum bug que ocorria quando nós nao tinhamos nada selecionado no "Add Folder"
    -Adicionei Multi remoção fisica de ficheiros
    -Tratei dum overflow que dava de vez em quando no madamp
    -Adicionei o TitleScroll
    -Adicionei o controlo da velocidade do TitleScroll nas opções
    -Adicionei um botão bem visivel para o menu da playlist
    -tratei de um bug que fazia o MADamp dizer aleatoriamente que o Default.m3u estava corrupto
    -Ao ler o Default.m3u o MADamp já verifica se os ficheiros existem, caso não existirem ele avança "silenciosamente" para a proxima musica na lista
    -MADamp declarado estável!
    -Calibrei melhor os as áreas dos botões =D
    -Tratei de um bug no "ADD FOLDER" que ocorria quando se adicionava 1 pasta so com 1 ficheiro la dentro.
    -Tratei de um bug no "ADD FOLDER" que ocorria quando se adicionava 1 pasta vazia
    -Tratei de um bug no "ADD FOLDER", ele agora guarda o ultimo directório em que andou
    -Tratei de um bug no "ADD FOLDER", ele agora guarda a definição de, se quer procurar em sub pastas
    -Adicionei os botoes "Desktop" e "My Docs" no "ADD FOLDER"
    -Reparei que algumas vezes o MADamp nao guarda o ultimo directorio usado, ele agora guarda sempre!
    -Adicionei dois botões de ajuda nas opções!

    3.0 RC4 :
    -Adicionei o Update Manager
    -Tratei de umas melhorias no Update manager nomeadamente, ele está mais seguro e mais restrito quanto aos ficheiros sacados
    -Adicionei a função de Drag'n'Drop
    -Tratei de um bug que dava quando se adicionava ficheiros via drag and drop
    -MADamp RC4 declarado estável
    -Tratei dum bug no Update manager na parte em que ele verificava a legitimidade do ficheiro baixado
    -Adicionei a opção de por o MADamp na system tray =D
    -Tratei de um bug no focus de quando o MADamp estava minimizado no system tray =D
    -Tratei de um bug que fazia a musica no madamp ainda ser reproduzida quando este for fechado no system tray
    -Tratei de um bug que dava quando se actualizava manualmente o MADamp, ele dava erro ao ir as opções
    -Tratei de um bug que fazia o MADamp NAO mudar a velocidade do scroll quando arrancava


    Screenshot:

    [​IMG]


    Notas:
    [​IMG]
    Este programa é compativel com o Microsoft™ Windows™ Vista™


    Obrigado especial para:
    -TomoyoChan por ter encontrado uma série de bugs!
    -Uchiha por ter também encontrado bugs
    [email protected] por me acalmar em alturas de raiva extrema
    -E a você por usar ;)

    Download:

    Servidor Oficial da AltoCircuito (186KB)[​IMG]
     
    Última edição: 28 de Maio de 2007
  2. pascasso

    pascasso Power Member

    tá muito fixe sim, parabens! :wink:

    agora só falta poder ver-se videos, experimentei adiconar .mpg e deu que o tipo de ficheiro não era suportado, só falta mesmo isso.
     
  3. msdevweb

    msdevweb Power Member

    Hum... estive a ver, e sim senhor, um projecto que deves continuar...

    Suguestões que acho que todos gostamos de ver neste tipo de programas, e seria engraçado explorares para numa próxima versão implementares, já que não é assim muito dificil :p (já fizeste o mais complicado).

    Podermos usar Drag de ficheiros para a playlist.
    Minimzar para o systray e colocares um menuzito de controlo tipo play/stop/pause/next/prev/
    Mais à frente (este sim que é mais complicado, mas não impossivel) adicionares um equalizer.

    Gostei bastante do splash screen, mas é coisa para se apresentar apenas uma vez, na primeira execução, poderia colocar uma entrada no .ini de configuração para que se as pessoas o quisessem desligar (o splash screen) o pudessem fazer.

    De resto acho que só falta mesmo um melhoramento grafico na main instace do programa.

    Nota que não estou a criticar, apenas a opinar. :)
    desde já os meus parabens, e boa continuação :)
     
  4. madcat1990

    madcat1990 Power Member

    Minimzar para o systray e colocares um menuzito de controlo tipo play/stop/pause/next/prev/

    Por acaso ando a implementar isso enquanto falamos ;)

    Mais à frente (este sim que é mais complicado, mas não impossivel) adicionares um equalizer.

    não faço milagres :S

    Gostei bastante do splash screen, mas é coisa para se apresentar apenas uma vez, na primeira execução, poderia colocar uma entrada no .ini de configuração para que se as pessoas o quisessem desligar (o splash screen) o pudessem fazer.

    Vou já adicionar!!!!

    De resto acho que só falta mesmo um melhoramento grafico na main instace do programa.

    Como assim? XD nao vou por 1 interface como no wmp11, este madamp foi feito para pcs lentinhos XP logo nao pode ter 1 interface toda XPTO, se bem que, posso incorporar um sistema de skins...

    Quanto aos videos...O unico problema são os AVI com MP3 no som.. ainda tou para ver porque é que dá esse problema..
    mas depois vou incorporar isso, mas só no RC3 :D
     
  5. msdevweb

    msdevweb Power Member

    Quando falava em melhoramento grafico, falava nos icons e na barra ao cimo (do menu) os icons estão um pouco mal "cortados" vês o border deles a branco, com a barra do menu a cincento destoa um pouco... Estava a falar no aspecto também de poderes acompanhar a barra do menu quando maximizas a instance do programa, fazeres com que a barra maximize também, e os botões dos menus fiquem sempre à esquerda.

    Isso dos icons/alteração não te ia "comer" muitos recursos :)

    ~São apenas opiniões.

    Abraço.
     
  6. madcat1990

    madcat1990 Power Member

    olha, tive toda a tarde a trabalhar e FINALMENTE consegui o novo visual, tou agora a tratar duns bugs e depois actualizo o post inicial ;)
     
  7. madcat1990

    madcat1990 Power Member

  8. pascasso

    pascasso Power Member

    ta muito melhor...
    parabens
     
  9. madcat1990

    madcat1990 Power Member

  10. msdevweb

    msdevweb Power Member

    :P Está muito melhor agora com a "cara lavada", embora tenha aumentado 2mb (de ~9 para ~9) nos gastos da memória, não se pode pedir muito mais de uma aplicação em vb independente de dll's :). E de certeza que irá melhorar com o tal systray icon que estás a desenvolver.

    Continua com o teu bom trabalho.

    Um abraço.
     
  11. madcat1990

    madcat1990 Power Member

    nova versao ja tem update manager so para veres xD (e ja integrei o Drag and drop) e por acaso agora tou atacando o System Tray
     
  12. _Neo__

    _Neo__ Power Member

    tray icon class module

    Código:
    Option Explicit
    
    Private Type NOTIFYICONDATA
        cbSize As Long
        hwnd As Long
        uId As Long
        uFlags As Long
        ucallbackMessage As Long
        hIcon As Long
        szTip As String * 64
    End Type
    
    Private Const NIM_ADD = &H0
    Private Const NIM_MODIFY = &H1
    Private Const NIM_DELETE = &H2
    Private Const WM_MOUSEMOVE = &H200
    Private Const NIF_MESSAGE = &H1
    Private Const NIF_ICON = &H2
    Private Const NIF_TIP = &H4
    
    Private Const WM_LBUTTONDBLCLK = &H203
    Private Const WM_LBUTTONDOWN = &H201
    Private Const WM_LBUTTONUP = &H202
    Private Const WM_RBUTTONDBLCLK = &H206
    Private Const WM_RBUTTONDOWN = &H204
    Private Const WM_RBUTTONUP = &H205
    
    Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
    Private theTray As NOTIFYICONDATA
    
    Public Enum theStates
        TI_ADDED = 1
        TI_MODIFIED = 2
        TI_REMOVED = 0
    End Enum
    
    Private mvarTooltip As String
    Private mvarIcon As StdPicture
    Private mvarOwnerForm As Object
    Private mvarState As Integer
    
    Public Event MouseDown(ByVal Button As Integer)
    Public Event MouseUp(ByVal Button As Integer)
    Public Event MouseDblClick(ByVal Button As Integer)
    
    Public WithEvents OwnerForm As Form
    
    Public Property Get State() As Integer
        State = mvarState
    End Property
    
    Public Sub Remove()
        Shell_NotifyIcon NIM_DELETE, theTray
        mvarState = TI_REMOVED
    End Sub
    
    Public Sub Modify()
        With theTray
            .cbSize = Len(theTray)
            .hIcon = mvarIcon
            .hwnd = OwnerForm.hwnd
            .szTip = mvarTooltip
            .ucallbackMessage = WM_MOUSEMOVE
            .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
            .uId = 1&
        End With
        Shell_NotifyIcon NIM_MODIFY, theTray
        mvarState = TI_MODIFIED
    End Sub
    
    Public Sub Add()
        With theTray
            .cbSize = Len(theTray)
            .hIcon = mvarIcon
            .hwnd = OwnerForm.hwnd
            .szTip = mvarTooltip
            .ucallbackMessage = WM_MOUSEMOVE
            .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
            .uId = 1&
        End With
        Shell_NotifyIcon NIM_ADD, theTray
        mvarState = TI_ADDED
    End Sub
    
    Public Property Set Icon(ByVal vData As StdPicture)
        Set mvarIcon = vData
    End Property
    
    Public Property Get Icon() As StdPicture
        Set Icon = mvarIcon
    End Property
    
    Public Property Let Tooltip(ByVal vData As String)
        mvarTooltip = vData & vbNullChar
    End Property
    
    Public Property Get Tooltip() As String
        Tooltip = Left(mvarTooltip, Len(mvarTooltip) - 1)
    End Property
    
    Private Sub OwnerForm_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Static rec As Boolean, MSG As Long
        MSG = X / Screen.TwipsPerPixelX
        If rec = False Then
            rec = True
            Select Case MSG
                Case WM_LBUTTONDBLCLK:
                    RaiseEvent MouseDblClick(vbLeftButton)
                Case WM_LBUTTONDOWN:
                    RaiseEvent MouseDown(vbLeftButton)
                Case WM_LBUTTONUP:
                    RaiseEvent MouseUp(vbLeftButton)
                Case WM_RBUTTONDBLCLK:
                    RaiseEvent MouseDblClick(vbRightButton)
                Case WM_RBUTTONDOWN:
                    RaiseEvent MouseDown(vbRightButton)
                Case WM_RBUTTONUP:
                    RaiseEvent MouseUp(vbRightButton)
            End Select
            rec = False
        End If
    End Sub
    
    


    poe isto na form
    Código:
    Option Explicit
    
    Private WithEvents Tray As TrayIcon
    
    Private Sub Form_Load()
        Set Tray = New TrayIcon
        Set Tray.Icon = Me.Icon
        Tray.Tooltip = App.Title
        Set Tray.OwnerForm = Me
        Tray.Add
    End Sub
    
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        Tray.Remove
    End Sub
    
    Private Sub Tray_MouseDblClick(ByVal Button As Integer)
        'o q acontece quando se faz duplo click ve nas barras mais opcoes
    End Sub
    
     
  13. msdevweb

    msdevweb Power Member

    Boas, venho reportar um bugalho :P Quando o update manager faz o download, (a mim disse-me que existia uma versão nova) fez o download e deu um erro (an error has occured when downloading...blabla) error code: 1 (0x0001)

    e pelo que me parece, foi criada uma cópia do meu madmp3.exe como madmp3.tmp (é uma cópia de segurança que fazes do original certo?) pelo menos parece, já quem apareceu em coisa de 2 segundos (seria dificil fazer o dld de 350kb em 2 segundos, pelo menos com e minha ligação..he he )

    um abraço.
    keep working...
     
  14. madcat1990

    madcat1990 Power Member

    Última edição: 27 de Maio de 2007
  15. flaviorodrigues

    flaviorodrigues Power Member

    Podes me explicar como fiseste a cena do update manager?
    Sempre tive essa duvida!
     
  16. madcat1990

    madcat1990 Power Member

    e simples! tenho 2 ficheiros no meu servidor HTTP
    um que diz a quantia de bytes que a nova versao tem
    e outro que é a nova versao da aplicação

    ele primeiro faz download do ficheiro com o numero de bytes
    se houver 1 diferença ele avisa que há um novo update
    caso nao..ele diz que não há


    isso explica a tua duvida?


    Já agora, ja adicionei o system tray =D
     
    Última edição: 27 de Maio de 2007
  17. lightMC

    lightMC Power Member

    muito porreiro. Gostei bastante do design, dá-me é um erro ao aceder ás opçoes "Type Mismach".
     
  18. madcat1990

    madcat1990 Power Member

    apaga o config.ini

    este bug foi tratado, faz um update =) ele fica como novo =D
     
    Última edição: 28 de Maio de 2007
  19. flaviorodrigues

    flaviorodrigues Power Member

    ok, dps tenho de ver isso! usas winsocks ligado a porta 80 certo?
     
  20. lightMC

    lightMC Power Member

    já agora, como fazes para guardar/ler a .ini duma forma organizada como está o teu?

    é que a unica maneira que consigo é fazer:

    Open App.Path & "\config.ini" For Input As #1
    line input #1, variavel
    ...

    ah e agora tens outro bug, quando aparece a janela para adicionar novos ficheiros e carregamos em documentos dá um erro.
     
    Última edição: 28 de Maio de 2007

Partilhar esta Página