GithubHelp home page GithubHelp logo

pyaacgui2's Introduction

PyAACGUI2

A GUI glue program for converting high quality music using Nero AAC Codec. As three of its dependencies are Unix/Linux programs, it is probably not possible to use on Windows platform, though the graphic interface itself is non-platform-related.

And for Windows users, the Foobar 2000 seems to be good enough, it has a converter that supports Nero AAC Encoder. What's cool, it uses multiple subprocesses in conversion, so it works much faster than this program.

##Requirements##

  • Python 2
  • wxPython
  • Unix mediainfo program
  • Unix mplayer program
  • Nero AAC programs for Linux (includes these executables: neroAacDec , neroAacEnc and neroAacTag )

###Notice!###

I cannot redistribute any part of Nero AAC Codecs according to the license agreement provided by Nero AG. So it is important that you have these programs installed correctly. Here's a brief introduction.

For Nero AAC programs, go to the official site of Nero AG, search for AAC Encoder , download the compressed file from its introduction page (you'll have to agree that license agreement first). Decompress the package and the contents are as follows:

NeroAACCodec-1.5.1/
    |-linux/
    |   |-neroAacDec
    |   |-neroAacEnc
    |   |-neroAacTag
    |-win32/
    |   |-neroAacDec.exe
    |   |-neroAacEnc.exe
    |   |-neroAacTag.exe
    |-changelog.txt
    |-license.txt
    |-NeroAAC_tut.pdf
    |-readme.txt

Now copy these three files inside the linux folder to anywhere you want, and add the path of the folder containing them to your .bashrc file.

E.G. I put these three files inside /home/joker/ETC/tools/ , so I added the following line to the end of my .bashrc file (~/.bashrc ):

export PATH=${PATH}:/home/joker/ETC/tools

###Experimental###

You could now set location of needed Nero programs in the config file rather than setting them in your .bashrc file. If you don't want to change the global PATH variable, you can try this experimental feature by setting the enc and tag option values in config file.

  • enc Set the location (currently absolute path recommended) of Nero AAC Encoder.
  • tag Set the location of Nero MPEG-4 Tagger.

##Usage##

Run the bash script PyAACGUI2 (you might need to run chmod +x PyAACGUI2 first).

This is a GUI program, so don't even think about passing file paths to it through command line, it just doesn't work that way.

##Configuration##

Only certain options are available in the Preference dialog.

All available configurations are stored in the config.ini file. Available options are as follows. Notice: Boolean values must be changed to int type before being stored in config file (1 == True; 0 == False).

  • locale Set UI locale.
  • debug Set debug switch.
  • tempdir Set temporary file directory.
  • bitrate Set the bitrate (in bps) that passed to Nero AAC encoder.
  • delorigin Delete original files after conversion.

Default values are as follows:

  • locale=en_US (Set in i.py )
  • debug=True (Set in i.py )
  • tempdir= (Use result of python code tempfile.gettempdir() )
  • bitrate=512000 (Set in i.py )
  • delorigin=False (Set in i.py )

###Notice!###

Setting tempdir option to /dev/shm might slightly speed up conversion.

##License##

This program uses BSD license, see the BSD.license file for details. The license content is also available in the Help > About section of this program.

##Author##

Joker Qyou

##Extra##

If you need a program to split audio CD image to separated tracks, I personally recommend the Bash script cue2tracks .

###wxStart Guide###

This project is based on wxStart template, and here is a brief guideline for the developers.

Directory structure:

PyAACGUI2
    |-README                This README file
    |-BSD.license           License file
    |-PyAACGUI2             Application entrance for user
    |-main.py               The application entrance in Python
    |-app.py                The customized App class
    |-mainframe.py          The customized main frame class
    |-pref.py               Preference frame class
    |-i.py                  Contains basic information about this program
    |-q.py                  Shortcut of commonly-used functions
    |-config.ini            Configuration file
    |-core/                 Core module
    |    |-__init__.py      Empty file to make this folder a module
    |    |-mediainfo.py     Media info query tool
    |    |-converter.py     Background thread class
    |
    |-layout/               Contains XRC layout files
    |    |-main.xrc         Default main frame layout file
    |    |-preference.xrc   Preference dialog layout file
    |
    |-resources/            Place any other files in it, such as images
    |    |-icon_big.png     The default icon used in `about` dialog
    |    |                  You should change this file to your own icon.
    |    |-tools/           Contains icons used for tool bar.
    |-locale/               Contains locale files
    |    |-zh_CN            Contains locale file for Chinese(Simplified) 
    |        |              Note that this is only a example, you should
    |        |              create your own locale using the same structure.
    |        |-LC_MESSAGES  This folder contains the actual locale file (*.mo)
    |                       Place compiled locale file PyAACGUI2.mo here, 
    |                       and this program will support Chinese(Simplified).

pyaacgui2's People

Stargazers

 avatar

Watchers

 avatar  avatar

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.