Git Product home page Git Product logo

m3util's People

Contributors

amandel avatar mrumpf avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

m3util's Issues

m3util with dependencies jar does not include javadb drivers

$ time ./m3util index -q GOLD

Assuming /media/sdc1 as media library root!

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: org.jcoderz.m3] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at org.jcoderz.m3util.intern.db.RepositoryDb.startup(RepositoryDb.java:25)
at org.jcoderz.m3util.intern.db.DatabaseUpdater.(DatabaseUpdater.java:60)
at org.jcoderz.m3util.M3Util.handleIndex(M3Util.java:225)
at org.jcoderz.m3util.M3Util.main(M3Util.java:155)
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver org.apache.derby.jdbc.EmbeddedDriver class not found
at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:107)
at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89)
at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:73)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2283)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2279)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1748)
at org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
... 7 more
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [org.apache.derby.jdbc.EmbeddedDriver]
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141)
at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:104)
... 21 more
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.apache.derby.jdbc.EmbeddedDriver
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138)
... 22 more

Library Layout

This ticket should discuss the new (final) layout of the library:

  • audio - The managed audio folder root. This folder can be added to any tool as the base for the whole audio library. The content of this folder is only touched by the tool chain, i.e. any manual changes will be overwritten.
    • 01-gold - High-quality tags, tagged with data from MusicBrainz
    • 02-silver - Medium-quality tags, tagged via freedb or other sources
    • 03-bronze - Low-quality tags, tagged?
    • playlist - audio playlists
  • photos - the managed folder for photos (TBD: out of scope at the moment)
  • tools - the tools for managing the library
    • bin - the binaries/shell scripts
    • etc - tool config fies
    • lib
      • java - A folder with the different Java versions
      • jboss-as - The JBoss Application Server
    • var - Directory structure for log files and databases
      • log - log files
      • cache
        • images - the asin image cache
      • lib
        • db - for example the Derby DB files
        • lucene - the lucene index files
    • incoming - Folder for new MP3s
      • audio - incoming audio files
        • unsorted/ - new contributions by "username"
        • cleaned - staging, for files prepared to be added to the repository
        • dupes - duplicates identified by the tool-chain
      • photos - incoming photos
      • video - incoming video files
  • video - the managed folder for video files (TBD: out of scope at the moment)

New tools

A few new tools have been discussed recently:

  1. init library
    The init library tool creates a top-level folder structure where MP3 files can be sorted into by the other tools
  2. set the tags, based on the MB information
    This is the already existing tool which gets an incoming folder and sorts the MB tagged files into the library
  3. organize into library
    This tools organizes the files into the folder hierarchy by reading the ID3 tags from the previously tagged files.

Perform Unicode normalization

Perform Unicode normalization: http://ahinea.com/en/tech/accented-translate.html
This should be done before adding files to the Lucene index as otherwise searching will be hard for languages with diacritic characters.

But also filenames in the file-system might be written without any diacritic characters to allow easy file searches.

This can be implemented by using the Java5/ICU4J Library class Normalizer:

Align module and package names

The project is running under the name "m3util". Therefore the modules and package names should be aligned:

  • m3util-mb-client <- mp3-mb-ngs-java
    org.jcoderz.m3util.mb <- org.jcoderz.mb
  • m3util-cmd-line <- mp3-ng
    org.jcoderz.m3util.cmdline <- org.jcoderz.mp3

Names to be discussed!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.