A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Simple Player Álan Crístoffer Gustavo Gonçalves Mateus Amaral Mário Cipriano Rogério Ribeiro 1.

Apresentações semelhantes


Apresentação em tema: "Simple Player Álan Crístoffer Gustavo Gonçalves Mateus Amaral Mário Cipriano Rogério Ribeiro 1."— Transcrição da apresentação:

1 Simple Player Álan Crístoffer Gustavo Gonçalves Mateus Amaral Mário Cipriano Rogério Ribeiro 1

2 Objetivos Criar um aplicativo capaz de: Recursar diretórios indexando arquivos de música Exibir os dados indexados em forma de biblioteca de música (artista/album/título) Gerenciar uma playlist Tocar música 2

3 Bibliotecas TagLib (leitura de metadata de arquivos de mídia) http://taglib.github.io/ http://taglib.github.io/ Qt (/ˈkjuːt/, “cute”) (framework C++ multiplataforma) http://qt-project.org/ http://qt-project.org/ Framework é uma abstração de software que provê funcionalidade básica que pode ser alterada seletivamente por código escrito pelo usuário. É uma plataforma genérica e reusável, que se pode usar para construir aplicativos. É composto por aplicativos de suporte (moc, qmake, etc), compiladores (gcc, clang, vs, etc), bibliotecas, e APIs (application programming interface). 3

4 Desenvolvimento : Divisão Banco de Dados (Database) Library Manager – Forma de biblioteca: libmedia (Dependências: Qt e TagLib) GUI (Graphical User Interface) – Específico do aplicativo (Dependências: Qt e libmedia) 4

5 Banco de Dados Apenas uma instância (Singleton). Não tem a intenção de ser acessada diretamente. Gerencia uma instância de banco de dados SQLite através da Qt (QSqlDatabase/QSqlQuery) Cuida de salvar/carregar o banco de lugares padrões, que variam de um OS para outro. 5

6 Library Manager Apenas uma instância (Singleton). Utiliza D-Pointer (Ponteiro opaco) para esconder lógica privada. Gerencia várias árvores de diretórios. Utiliza de threads (execução paralela) para não travar a GUI enquanto recursa. Comunica com a classe DataBase. 6

7 Classes Media/Music Parte da libmedia. Music herda de Media. Media tem métodos e atributos comuns à qualquer mídia, possibilitando a extensão da biblioteca, por exemplo, com Image e Video. Music tem todos os métodos específicos de músicas, e serve de API da biblioteca, acessando o banco de dados e retornando dados formatados. 7

8 Music Public API Music(QString file, bool preferDataBaseData = true); Music(QString file, QString artist, QString album, QString title, int track, int year); QString presentableName() override; QPixmap snapshot() override; static QStringList artists(); static QStringList albumsForArtist(QString); static QList titlesForArtistAndAlbum(QString, QString); QString album(); QString artist(); QString title(); int track(); int year(); virtual QPixmap cover(); 8

9 GUI 9

10 Interface Gráfica Formata e exibe os dados retornados pela libmedia. Gerencia a playlist. Controla a execução da música. Permite a configuração do aplicativo (adicionar/remover diretórios a serem recursados) Padrão Model/View/Delegate 10

11 Interface Gráfica : Organização Janela – Componentes (Widgets) QTreeView -> exibição em árvore QListView -> exibição em lista Ambos são Views que utilizam Models para fornecer o conteúdo. 11

12 this->end(); 12


Carregar ppt "Simple Player Álan Crístoffer Gustavo Gonçalves Mateus Amaral Mário Cipriano Rogério Ribeiro 1."

Apresentações semelhantes


Anúncios Google