summaryrefslogtreecommitdiffstats
path: root/kioslave/audiocd/HACKING
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commite2de64d6f1beb9e492daf5b886e19933c1fa41dd (patch)
tree9047cf9e6b5c43878d5bf82660adae77ceee097a /kioslave/audiocd/HACKING
downloadtdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.tar.gz
tdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kioslave/audiocd/HACKING')
-rw-r--r--kioslave/audiocd/HACKING25
1 files changed, 25 insertions, 0 deletions
diff --git a/kioslave/audiocd/HACKING b/kioslave/audiocd/HACKING
new file mode 100644
index 00000000..dde6efc1
--- /dev/null
+++ b/kioslave/audiocd/HACKING
@@ -0,0 +1,25 @@
+// CODE LAYOUT
+
+audiocd.[h,cpp] - The main ioslave code. It contains the logic to rip audio from cd's. It loads all of the plugins that it can find. When it needs to encode, generate directories (and names of directories) it goes through it's list. audiocd uses libkcddb to retrieve its cddb entries and cdparinoia to retrieve the audio from the CD.
+
+plugins/audiocdencoder.[h,cpp] - The base class for all of the encoder plugins
+
+plugins/wav/* - The cda and wav "encoders"
+plugins/flac/* - the flac encoder
+plugins/lame/* - The mp3 encoder
+plugins/vorbis/* - The ogg encoder
+
+kcmaudiocd/ - kcm configure dialog for the audiocd ioslave. It also loads the plugins and gets their configure dialogs and puts them into the tab dialog.
+
+// USERS
+
+Audiocd's "interface" is presented first to the users, It should be simple. The number of files/directories should be kept to a minimum.
+
+// APP SKIMMING
+
+Audiocd also has the ability to be "skimmed" by other tools. For example an outside application could retrieve the second track with:
+
+audiocd:/Wav/Track 02.wav?device=/dev/hd2&fileNameTemplate=Track %{number}&cddbChoice=1
+
+This way apps can just query audiocd:/ for CDDB, present them to the users, and rip the tracks all without having to impliment it themselves.
+