Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Jokosher
1.2. Name of Document Author/Supplier:
Author: Brian Cameron
1.3 Date of This Document:
20 May, 2009
4. Technical Description
Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
jokosher
1.2. Name of Document Author/Supplier:
Author: Brian Cameron
1.3 Date of This Document:
12 May 2009
1.4. Name of Major Document Customer(s)/Consumer(s):
1.4.1. The PAC or CPT you expect to review your project:
Solaris PAC
1.4.2. The ARC(s) you expect to review your project:
LSARC
1.4.3. The Director/VP who is "Sponsoring" this project:
Robert O'Dea
1.4.4. The name of your business unit:
Software - OPG
1.5. Email Aliases:
1.5.1. Responsible Manager:
leo.binchy at sun.com
1.5.2. Responsible Engineer:
brian.cameron at sun.com
1.5.3 Marketing Manager:
glynn.foster at sun.com
1.5.4. Interest List:
desktop-discuss at opensolaris.org
2. Project Summary
2.1. Project Description:
jokosher is a simple, yet powerful multi-track studio written in Python
that uses GStreamer and gnonlin. With jokosher you can create and
record music, podcasts and more, all from an integrated simple
environment. It supports recording, editing (e.g. splitting, trimming,
moving), mixing, and exporting audio. It supports all audio formats
that are supported by GStreamer. Users can, for example, purchase
plugins from Fluendo to enable MP3 or WindowsMedia Audio support.
jokosher uses the GPL license and contains a license exception which
allows distribution with non-free GStreamer-plugins.
4. Technical Description:
4.1. Details:
Jokosher provides a multi-track interface for recording and mixing
audio. Jokosher supports two workspace modes: the Recording Workspace
and the Mixing Workspace. The user simply toggles between the two
modes by clicking on the "Audio Mixers" button in the toolbar.
When in the Recording Workspace mode, the user may create multiple
audio tracks. The tracks may either be an existing audio file which
the user can specify, or be an instrument. The instrument setting is
intended to be used when the user intends to record the track into
jokosher.
Jokosher provides a set of Instrument files, which simply specify a
label and an icon for the instrument. When a track is associated with
an instrument then the track is shown with this label and icon so that
the user can easily determine what instrument is associated with each
track.
When in the Mixing Workspace mode the user can specify the volume level
and balance setting for each track. Once the mix is specified, then
the user can use jokosher's "Mixdown" feature to save the final audio
mix to a file in the desired audio format. The Mixdown dialog also
allows the user to run user-specified scripts to do any desired actions
once the mix is completed, such as to upload the file to a server or to
create a playlist.
Jokosher projects can be saved in a file format with the extension
".jokosher". When reloaded, the track and mixing settings and all
preferences are restored so a user can continue working on a project.
These files are associated with the MIME type "application/x-jokosher".
Jokosher provides extensions which allow third party developers to add
features to Jokosher to make it support file types or support
additional functionality. Jokosher includes an extensions manager
which allows users to add, remove, or configure extensions. [1]
By default jokosher includes the following extensions:
- A "Set Tempo" extension which allows the user to set the tempo for
a project by clicking on a button on each beat during playback.
- A "Minimal Mode" extension which changes the UI to a minimal
appearance
- An "Instrument Type Manager" extension which allows the user to
specify the label and icon for new instruments, and to delete any
previously added instruments.
- A "Search FreeSound" extension which will search the FreeSound
library of freely licensable and usable sound clips. The FreeSound
library can be found at http://www.freesound.org/.
- An "Extension Console" which provides a fully functional python
console with access to the jokosher extension API and jokosher
internals. Useful for writing or debugging extension code.
- A "Jokosher D-Bus API" extension which allows other processes to
call Jokosher extension API functions via D-Bus.
Note that, by default, the jokosher FreeSound extension saves the
user's FreeSound username and password in plaintext in the user's
jokosher $HOME configuration. When the plugin is used after initial
login, the username and password values are filled in for the user.
However, on Solaris, we will patch the code so that this feature is
disabled, and the FreeSound extension will not save the username and
password information to the user's $HOME directory. This will mean
the user will need to re-enter this information each time they restart
jokosher and wish to use this plugin.
4.2. Interfaces:
Exported Interfaces Stability Comments
------------------------------------------- ---------- ----------------
/usr/bin/jokosher Volatile Jokosher
application.
/usr/lib/python2.6/vendor-packages/Jokosher Volatile Jokosher python
implementation.
/usr/share/applications/jokosher.desktop Volatile Jokosher desktop
file.
/usr/share/gnome/help/jokosher Volatile Jokosher help
files.
/usr/share/jokosher Volatile Jokosher
internal data.
/usr/share/jokosher/Instruments Volatile Jokosher
instrument
files.
/usr/share/jokosher/extensions Volatile Jokosher
extension files.
/usr/share/jokosher/pixmaps Project Jokosher image
Private files.
/usr/share/icons/hicolor/48x48/apps/jokosher.png
Project Jokosher
Private application
image.
/usr/share/pixmaps/jokosher.png Project Jokosher
Private application
image.
/usr/share/mime/packages/jokosher.xml Volatile Specifies the
MIME type for
jokosher files.
/usr/share/omf/jokosher Project Jokosher OMF
Private files.
$HOME/.local/share/jokosher Volatile Jokosher user
configuration
SUNWgnonlin Uncommitted Package.
SUNWjokosher Uncommitted Package.
Imported Interfaces Stability Comments
--------------- --------------- -----------------------
GNOME Base Libraries Committed LSARC 2006/202
GStreamer Volatile LSARC/2006/202
GNonLin Volatile Not yet filed
Python External PSARC/2005/532 Python
Evolving Migration from /usr/sfw
to /usr and upgrade to v2.4.x
gst-python Volatile LSARC 2008/105
Pygtk, gnome-python Unstable LSARC 2005/506
D-Bus Volatile LSARC 2006/368
Python Setuptools Uncommitted PSARC 2008/084
4.3. Doc Impact:
jokosher includes Help documentation. Jokosher does not ship with any
developer documentation, but the help files do point to the Jokosher
developer webiste for more information about doing things like writing
extensions.
4.4. Packaging & Delivery:
SUNWjokosher - jokosher application.
4.5. Dependencies:
The ARC case for GNonLin, which is being submitted at the same time
as this case. I will update this section and the Comments value for
GNonLin in the Imported Interface table to include the ARC number
when available.
4.6. L10N Impact:
The Desktop team and the G11N are working together to evaluate and
provide I18N/L10N support.
4.7 Security Impact:
None.
5. Reference Documents:
[1] Jokosher Extensions Documentation
http://userdocs.jokosher.org/Extensions/
Jokosher Website and User Documentation:
http://www.jokosher.org/
http://userdocs.jokosher.org/
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
Desktop
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open
6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
Desktop
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open