Natenoms Wiki

Weil Teilen Spaß macht :)

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Übersetzungen dieser Seite:

Navigation



Lizenz dieses Wikis
Über dieses Wiki
Feed des Wikis
Impressum


Was gerade in meinem Blog geschieht:

linux:scripte:moc:moc_old

Inhaltsverzeichnis

Musikverwaltung mit MOC

Dieses Script ist veraltet, das neue findest du unter moc_extend.sh.

Kurz zur Erinnerung … ich verwende moc um meiner Musik zu lauschen, lade mir hier und dort öfters mal legale Musik herunter und möchte die dann beim Durchhören entsprechend einsortieren ohne moc zu verlassen.

Dieses Script wird über die moc Konfiguration mit verschiedenen Argumenten aufgerufen und kennt folgende Möglichkeiten:

  • F1 – Verschiebe Datei/Verzeichnis nach Free/Classic
  • F2 – Verschiebe Datei/Verzeichnis nach Free/Electro
  • F3 – Verschiebe Datei/Verzeichnis nach Free/Rest
  • F5 – Verschiebe Datei/Verzeichnis nach Unfree/Classic
  • F6 – Verschiebe Datei/Verzeichnis nach Unfree/Electro
  • F7 – Verschiebe Datei/Verzeichnis nach Unfree/Rest
  • F8 – Datei/Verzeichnis in den Ordner für schlechte Musik verschieben (wird regelmäßig manuell geleert).
  • F9 – Datei/Verzeichnis in konfiguriertes ZIP-Archiv komprimieren (wenn das Archiv existiert, wird es hinzugefügt).
  • F10 – Hilfe

Hier die kleine Hilfe:

Ich habe das Script komplett überarbeitet, übersichtlicher gestaltet und bereinigt.

Dazu gekommen ist: F9, um gewählte Dateien in ein definiertes neu zu erstellendes Zip-Archiv zu packen.

Von dort aus kann ich dann die Musik direkt verschicken :)

Und zur Bestätigung, dass das Archiv erstellt wurde, gibt es einen kleinen Hinweis:

MOC Konfigurationsdatei

Die moc Konfigurationsdatei (~/.moc/config) muss entsprechend so aussehen:

ExecCommand1 = "/home/user/.moc/moc_move.sh %f free Classic"
ExecCommand2 = "/home/user/.moc/moc_move.sh %f free Electro"
ExecCommand3 = "/home/user/.moc/moc_move.sh %f free Rest"
 
ExecCommand5 = "/home/user/.moc/moc_move.sh %f unfree Classic"
ExecCommand6 = "/home/user/.moc/moc_move.sh %f unfree Electro"
ExecCommand7 = "/home/user/.moc/moc_move.sh %f unfree Rest"
ExecCommand8 = "/home/user/.moc/moc_move.sh %f delete"
ExecCommand9 = "/home/user/.moc/moc_move.sh %f addtoarch"
ExecCommand10 = "/home/user/.moc/moc_move.sh %f help"

Beim letzten Aufruf ist das %f eigentlich unnoetig, aber dafuer muss ich das Script wieder etwas aendern; quick and dirty halt :P

Das Script

moc.sh
#!/bin/bash
AUTHOR="Natenom"
EMAIL="Natenom@natenom.com"
VERSION="0.1.3"
LASTEDIT="2010-02-01"
 
# Use it like this:
#  $0 PATH_TO_FILE WHAT_TO_DO [SUBTARGET]
# SUBTARGET it not necessary.
 
MUSIC_BASE="/home/neu/Multimedia/Music"
MUSIC_FREE="${MUSIC_BASE}/Music_Free"
MUSIC_UNFREE="${MUSIC_BASE}/Music_Unfree"
M_DST_DELETE="/home/user/stack/todel/badmusic"
M_SENDTOARCH_ARCHIVE="/home/user/Desktop/Music.zip"
NOTIFY_GNOME="notify-send"
#NOTIFY_KDE="kdialog"
 
#####################################
#### DO NOT EDIT BELOW THIS LINE ####
#####################################
 
#By default files are being moved
FILEOP="mv"
 
#PATH_TO_FILE
M_FILE=${1}
 
#SUBTARGET
# Not necessary for every case.
SUBTARGET=${3}
 
#WHAT_TO_DO
case ${2} in
 addtoarch)
 #Add the current file to default Music.zip archive.
 #Wir gehen erst ins Verzeichnis rein und nehmen den Dateinamen ohne Pfad,
 # damit am Ende nicht der volle Pfad der Datei im Archiv steht; todo, dafuer gibt es mit Sicherheit eine Option.
 M_SENDTOARCH_FILE=$(basename "${M_FILE}")
 M_SENDTOARCH_PATH=$(dirname "${M_FILE}")
 cd "${M_SENDTOARCH_PATH}" && zip -o "${M_SENDTOARCH_ARCHIVE}" -r "${M_SENDTOARCH_FILE}"
 TITLE="Music On Console - SendToArch"
 kdialog --title "${TITLE}" --passivepopup "Added \"${M_SENDTOARCH_FILE}\" to SendToArch" 5
 exit 0
 ;;
 delete)
 #delete (internally move to badmusic directory)
 DST_FOLD="${M_DST_DELETE}"
 ;;
 free)
 #move to Free Music Directory
 DST_FOLD="${MUSIC_FREE}"
 ;;
 unfree)
 #move to Unfree Music Directory
 DST_FOLD="${MUSIC_UNFREE}"
 ;;
 help)
 TITLE="Music On Console - Moving - Help"
 MESSAGE="<b>F1</b> - Free/Classic | <b>F2</b> - Free/Electro | <b>F3</b> - Free/Rest<br /><br /><b>F5</b> - Unfree/Classic | <b>F6</b> - Unfree/Electro | <b>F7</b> - Unfree/Rest<br /><br /><b>F8</b> - Move to Trash<br /><br /><b>F9</b> - AddToSendArch<br /><b>F10</b> - This Help<br /><br />Version: ${VERSION} | ${LASTEDIT} by ${AUTHOR} - ${EMAIL}"
 [ "$KDE_FULL_SESSION" == true ] && kdialog --title "${TITLE}" --passivepopup "${MESSAGE}" 5 || $NOTIFY_GNOME -i sound -t 5000 "${TITLE}" "${MESSAGE}"
 exit 0
 ;;
esac
 
DEST="${DST_FOLD}/${SUBTARGET}"
M_FILENAME=$(basename "${M_FILE}")
 
#Move/Copy the file.
${FILEOP} "${M_FILE}" "${DEST}"
if [ $? == 0&nbsp; ];
then
 #Exitlevel 0, so file operation was successfull
 if [ ${FILEOP} == "mv" ]; then
 MESSAGE="<b>${M_FILENAME}</b> moved successfully to <b>${2}/${3}</b>"
 else
 MESSAGE="<b>${M_FILENAME}</b> copied successfully to <b>${2}/${3}</b>"
 fi
 TITLE="Music On Console - Moving"
 [ "$KDE_FULL_SESSION" == true ] && kdialog --title "${TITLE}" --passivepopup "${MESSAGE}" 5 || $NOTIFY_GNOME -i sound -t 5000 "${TITLE}" "${MESSAGE}"
else
 TITLE="Music On Console - ERROR"
 MESSAGE="File operation failed - ${M_FILENAME}"
 [ "$KDE_FULL_SESSION" == true ] && kdialog --title "${TITLE}" --passivepopup "${MESSAGE}" 5 || $NOTIFY_GNOME -i sound -t 5000 "${TITLE}" "${MESSAGE}"
fi
#Bye
linux/scripte/moc/moc_old.txt · Zuletzt geändert: 2015/11/04 13:06 (Externe Bearbeitung)