staging.inyokaproject.org

Baustelle/mp3fade

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hallo,

ich hatte ▶ im Forum ein eigenes Programm entwickelt und wollte das nun ins Wiki bringen, also habe ich eine Anleitung dazu verfasst. Bei mir funktioniert das Programm einwandfrei.

Wenn sich den Artikel und das Script nochmal jemand angucken bzw. testen kann, wäre ich erfreut, wenn der Artikel bald aus der Baustelle verschoben werden kann. Ich meine, soweit mehr als fertig mit dem Essentiellen des Programms und des Artikels zu sein. Dennoch bin ich Anfänger, also seid ruhig kritisch - das ist mein erstes "richtiges" Script, was über 3-5 Zeilen hinausgeht. 😉

Eigene Verbesserungsvorschläge habe ich teils schon im verlinkten Forenthema aufgegriffen, jedoch keine Zeit zum Umsetzen. Ich höre mir aber gerne Kritik hier an, die andere Programmierer dann vielleicht umsetzen wollen (oder auch nicht). Sowohl Kritik für das Programm selbst als auch allgemein Lernhinweise nehme ich an.

Falls noch jemand Kritik hat, die unbedingt schon geändert werden muss, bevor man das auf die Allgemeinheit loslässt, habe ich mal das Bearbeitungsende auf den 29.08.2011 (in 14 Tagen) eingestellt. Sobald aber ein Wikiteam-Mitglied das OK gibt, kann der Artikel "ab sofort" aus der Baustelle verschoben werden - meiner Ansicht nach ist alles fertig. Es wäre erforderlich oder sinnvoll, wenn wenigstens noch eine Person das Script testet und sich hier meldet. Und dann auch die verwendete Ubuntuversion nennt bzw. in der Vorlage für den Artikel (Getestet-für-Box) einträgt.

Grüße, Benno

Keba Team-Icon

Ehemalige
Avatar von Keba

Anmeldungsdatum:
24. Juli 2007

Beiträge: 3802

Hallo,

Warum darf ich das Skript nur unter der GPLv2 weiterentwickeln? Die meisten Programme haben den Zusatz or any later version. Hier ist das vermutlich egal, aber bei größeren Projekten kann das zu Problemen führen. Mercurial hatte da glaube ich mal Spaß mit, wenn ich mich recht entsinne.

Wenn kein Parameter übergeben wird, kommt der Text

"FEHLER: Fehlender Ordner. Bitte geben Sie einen Ordner an!"

Vielleicht etwas unpassend. Da würde ich nur die Hilfe ausgeben.

[[ "$FILE" == *.mp3 ]] || [[ "$FILE" == *.MP3 ]] || [[ "$FILE" == *.Mp3 ]] || [[ "$FILE" == *.mP3 ]]

Das kann man deutlich kürzer (und schöner schreiben:

[[ "${FILE,,}" == *.mp3 ]]

${var,,} konvertiert einen String zu Kleinbuchstaben, macht also z.B. aus TollerSong.MP3 tollersong.mp3. Nebenbei, was passiert wenn die Bedingung nicht erfüllt ist? 😉

sudo apt-get install mplayer ecasound mpg123

Darüber kann man sich vielleicht streiten, ich finds unschön, wenn mir irgendwelche Skript Programme installieren wollen. Eine Meldung alle „Unter Ubuntu müssen sie die folgenden Pakete installiert haben“ fänd ich schöner.

Ich bin kein Freund von Tabs, aber das ist eine sinnlose Diksussion. Allerdings muss man nicht gleich zwei Tabs als Einrückung verwenden, oder? (Z. 32-36, Z. 70ff. etc)

Außerdem hast du manchmal englische (FILE) und manchmal deutsche (LIEDLAENGE) Variablennamen, ich würde Englisch vorziehen. Wichtig ist aber auf jeden Fall Einheitlichkeit.

Das fiele mir so spontan auf. Getestet hab ich das nicht, nur über das Skript gelesen.

Grüße, Keba.

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Danke für die schnelle Reaktion und die Hinweise.

Dass mit den Tabs ist mir bisher gar nicht aufgefallen - muss später passiert sein oder weil Gedit das so gemacht hat - einmal hatte das auch auf einmal eine kürzere Tablänge als sonst. Werde mal drauf achten, wie sich das weiterentwickelt.

Eine Meldung alle „Unter Ubuntu müssen sie die folgenden Pakete installiert haben“ fänd ich schöner.

Man wird ja darauf hingewiesen und kann dann apt-get theoretisch auch abbrechen - allerdings könnte es sein, dass man kurz zuvor schon sudo im Terminal verwendet hatte und dann keine PW-Abfrage kommt und apt-get allgemein anders konfiguriert oder wegen nicht nötiger weiterer Abhängigkeiten sogleich seinen Dienst verrichten will. Aber das sind Kleinigkeiten, zu denen ich noch keine Zeit fand.

Der Tipp mit den Variablen ist gut - ich hatte mal irgendwann eine ähnliche Verkürzung auf mp3, MP3 usw. gesehen, aber kürzer als meins. Deine Idee ist da noch am besten. Wobei:

TollerSong.MP3 tollersong.mp3

Das fände ich jetzt nicht so toll. Aber gut zu wissen!

Und zur GPLv2 entschied ich mich aufgrund der Hintergrundinformationen aus dem Web, speziell diesem Artikel: http://www.heise.de/open/artikel/Streit-um-die-neue-GPL-221983.html

Mir war erstmal wichtig, dass ich überhaupt erstmal in die Materie einsteige und ganz nebenbei auch gleich die GPL setze (bevor es zu spät ist...). Zuerst wollte ich mich ganz um die Lizenzierungsfrage drücken oder dachte gar nicht an sowas...

Grüße, Benno

Keba Team-Icon

Ehemalige
Avatar von Keba

Anmeldungsdatum:
24. Juli 2007

Beiträge: 3802

Hallo,

Benno-007 schrieb:

Eine Meldung alle „Unter Ubuntu müssen sie die folgenden Pakete installiert haben“ fänd ich schöner.

Man wird ja darauf hingewiesen und kann dann apt-get theoretisch auch abbrechen - allerdings könnte es sein, dass man kurz zuvor schon sudo im Terminal verwendet hatte und dann keine PW-Abfrage kommt und apt-get allgemein anders konfiguriert oder wegen nicht nötiger weiterer Abhängigkeiten sogleich seinen Dienst verrichten will. Aber das sind Kleinigkeiten, zu denen ich noch keine Zeit fand.

Es ist ein Feature, es kostet Zeit es zu implementieren. Es wieder raus zu hauen geht schnell. 😉

Der Tipp mit den Variablen ist gut - ich hatte mal irgendwann eine ähnliche Verkürzung auf mp3, MP3 usw. gesehen, aber kürzer als meins. Deine Idee ist da noch am besten. Wobei:

TollerSong.MP3 tollersong.mp3

Das fände ich jetzt nicht so toll. Aber gut zu wissen!

Für die Abfrage ob der String auf .mp3 endet, ist das aber relativ egal. 😉 Die Variable wird dadurch nicht angepasst.

(bevor es zu spät ist...).

Solange du der einzige Autor bist kannst du immer irgendwann deinen Code GPL-lizensieren. Wenn mehrere dran gearbeitet haben, musst die eben vorher fragen. Aber zu spät ist es nie. 😉

Zuerst wollte ich mich ganz um die Lizenzierungsfrage drücken oder dachte gar nicht an sowas...

Wie gesagt, ist bei solch kleinen Dingen nicht sonderlich wichtig. Daher versuch ich jetzt hier auch nicht die GPlv3 zu verteidigen, das Thema gehört hier nicht hin.

Grüße, Keba.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

Benno-007 schrieb:

Eigene Verbesserungsvorschläge habe ich teils schon im verlinkten Forenthema aufgegriffen, jedoch keine Zeit zum Umsetzen. Ich höre mir aber gerne Kritik hier an, die andere Programmierer dann vielleicht umsetzen wollen (oder auch nicht). Sowohl Kritik für das Programm selbst als auch allgemein Lernhinweise nehme ich an.

Ich verstehe nicht ganz. Im Forum gab es Verbesserungsvorschläge, die Du umzusetzen noch keine Zeit hattest, und wir sollen jetzt den Wikiartikel mit den Forumsbeiträgen vergleichen, um nicht Vorschläge zu wiederholen, die schon gemacht worden sind, oder wir sollen einfach die gleichen Vorschläge nochmal machen?

Obwohl Du keine Zeit hast sie umzusetzen? Wir haben ja die Zeit!

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hallo zusammen,

das nun Folgende wurde jetzt trotz starker Kürzung des Ausgangsthemas auch schon wieder lang und ich möchte natürlich nicht alle Kräfte hier wegen eines kleinen Scriptes binden...also wer nicht kann/ will, einfach überfliegen oder "Script hacken" oder was auch immer man als Wikiteam macht, um ein neues Programm für tauglich zu befinden. 😉 (Und sicherlich ist es "hackbar" - gibt es irgendwo Richtlinien im Netz für die Fehleranfälligkeit und Sicherheit von Programmen, vielleicht einen guten Link, der bewährt, aber schwer zu finden ist?)

Keba schrieb:

Es ist ein Feature, es kostet Zeit es zu implementieren. Es wieder raus zu hauen geht schnell. 😉

Das stimmt wohl auch, aber rein aus Benutzersicht würde mich das nerven, wenn ich mich manuell um Abhängigkeiten kümmern müsste - ich finde das Feature schon sinnvoll, würde es also gerne so lassen und erst beim nächsten Script (oder der nächsten Version) darauf achten, dass einem nicht gleich sudo apt-get vor den Latz geknallt wird.

Für die Abfrage ob der String auf .mp3 endet, ist das aber relativ egal. 😉 Die Variable wird dadurch nicht angepasst.

Das fiel mir beim morgentlichen Aufstehen im Geiste wie Schuppen von den Augen. So kann ein langer Tag enden... 😊

Solange du der einzige Autor bist kannst du immer irgendwann deinen Code GPL-lizensieren. Wenn mehrere dran gearbeitet haben, musst die eben vorher fragen.

Ich habe Anregungen im Netz gefunden, aber alles von Grund auf neu zusammengebaut, also lediglich Doku "konsumiert" und auch die relevanten Befehle + Optionen in Erfahrung gebracht. Ich schätze, trotz strengem Copyright, dass ein einzelner Befehl + seine Optionen in gewisser Kombination noch nicht die nötige Schöpfungshöhe erreichen, um kopiergeschützt zu sein?! Dann wäre ja schon jede Manpage fast ein Befehls-Copyright-erzeugendes Produkt...fehlt nur noch das Patent auf die Schleife oder die Füllung der Variable LIEDLAENGE. 😀

Mal ernsthaft: Kann man denn nun eigentlich mittlerweile bedenkenlos den von MS patentierten Fortschrittsbalken verwenden oder ist das eine Urban Legend?

Ich schätze mal, mit den gleichen Variablennamen könnte man da theoretisch auch ganz schön böse auf die Nase fallen, oder? Also wenn da einer im Netz in einem Forum was ohne Lizenz postet und man kopiert das 1:1 und baut was draus und veröffentlicht das dann. Oder stellt das sogar unter die GPL und derjenige will aber ein starkes Copyright/ Urheberrecht, obwohl er es veröffentlicht hat (ein Abmahnanwalt itself etwa).

Ich denke, als allgemeine Projektfragen kann man die Antworten zu einigen meiner Fragen hier vielleicht noch unterbringen, wenn man nicht beim Urschleim mit dem Antworten anfängt oder sich in Details verliert, oder? Sind ja dann immerhin Projekt-bezogene Fragen, die beim Autor aufgrund mangelndes Erfahrungs- oder Wissensschatzes auftauchen.

Aber zu spät ist es nie. 😉

Nunja, ich fragte mich z.B., ob man nachträglich eine Lizenz durch eine restriktivere ersetzen kann. Dann könnte sich ja jeder auf die legerere Lizenz/ Programmkopie beruhen, die im Netz umherschwirrt. Oder es ist so, dass man als Inhaber des Copyrights beliebig seine Lizenzen ändern kann. Sicherlich kann man dazu (bei weiterem und sofortigen Wissensbedarf) noch was im Netz finden, aber ich nehme auch gerne einen Einblick aus erster Hand entgegen.

Zuerst wollte ich mich ganz um die Lizenzierungsfrage drücken oder dachte gar nicht an sowas...

Wie gesagt, ist bei solch kleinen Dingen nicht sonderlich wichtig. Daher versuch ich jetzt hier auch nicht die GPlv3 zu verteidigen, das Thema gehört hier nicht hin.

Wenn du das Thema schon mal wo diskutiert oder niedergeschrieben hattest, würde ich mir das gerne mal ansehen. So richtig gefällt mir nach meiner Lektüre keine der beiden Versionen. Und das "or later" halte ich auf den ersten Blick sogar für rechtlich bedenklich, da man in keinem Vertrag (nach deutschen Recht) auf einmal Verschlechterungen "zum selben Preis" einbauen darf, subjektiv genau dies aber eintreten könnte (wie beim Streit zw. GPL v2 vs. v3). Oder es gilt auch hier: Der Inhaber des Copyrights darf die Lizenz vielleicht beliebig wieder ändern und andere Nutzer die Lizenz "sonderkündigen" (und übergangsweise einen Monat weiternutzen!?). Nun haue ich bestimmt viele Rechtsgebiete durcheinander, nur um mir einen Sinn zu konstruieren. 😉

Grüße, Keba.

Grüße auch. 😉

Hallo unknow,

user unknown schrieb:

oder wir sollen einfach die gleichen Vorschläge nochmal machen?

Berechtigter Einwand, da das Ursprungsthema doch etwas aufgebläht ist. Ich versuche mal, die wichtigsten Sachen zusammenzutragen. Wollte ich evtl. später mal diskutieren, da ich meinte, das meiste sind eher "Feature Requests", die jetzt für die Veröffentlichung im Wiki keine Rolle spielen. Kenne die Gepflogenheiten unter Programmierern/ Projekten übrigens auch noch nicht so und bin hier mehr so reingerutscht - darum ist auch das Ursprungsthema so zerfasert.

Hauptsächlich geht es um diesen Post, der allerdings vieeel zu lang ist, also hier nochmal Zitate (die größten zusammenhängenden Blöcke wenigstens):

(Habe anfangs nicht geplant gehabt, so eine "große Sache" daraus zu machen, sonst wäre das Thema dort besser vorbereitet gewesen.)

Eigene Ideen (aber evtl. bin ich auf einem Auge blind und sehe nicht über den Tellerrand):

Ein paar Verbesserungsvorschläge und Ideen hätte ich schon, etwa Zenity für eine komfortable einfache grafische Ordnerauswahl oder mp3info statt dem ganzen mplayer-Paket, ein cut entfernen, einen Check auf Vorhandensein von mp3-Dateien im Ordner (sonst Fehlermeldung)

...was (letzteres) ja auch Keba sofort erkannte...(Ich dachte mittlerweile sogar, das wäre schon gelöst gewesen. *g*)

, aber das wird dann alles zuviel.

Im Folgenden geht es um diese beiden Links am Anfang des Themas:

http://www.vdr-portal.de/board60-linux/board62-software/p505218-tool-f%C3%BCr-mp3-fade-in-out/#post505218

http://blog.gi-project.de/2010/04/stapelverarbeitung-von-audiodaten-mit-linux-und-sox/

Die Kernkomponenten habe ich aus den beiden Ansätzen "zusammengeklaut" und nochmal neu hergeleitet/ umfunktioniert. Also von Grund auf nachvollzogen bzw. neu geschrieben. Erst heute morgen sah ich, dass ich das Script aus Link 1 noch gar nicht richtig angesehen hatte - aber auch da fehlte eine Schleife. Diese allerdings ist das geringste Problem - aber die wichtigste Anforderung.

Ich vermute auch mal das Array (..." [ @ ] "...)suboptimal, aber sei es drum - man muss sich nur zu helfen wissen. Ist für den Zweck effizient genug. (An was man nicht alles denken sollte...)

Das folgende sind wohl eher "Feature Requests":

Ausblick:

Neben bereits genanntem (Bitrate, zenity...): Man könnte noch eine ncurses-Oberfläche einbauen, Fehlermeldungen ausgeben statt unterdrücken (oder loggen), einen OK/ Error je Datei einbauen, Dash-kompatible Syntax ohne Bash-Spezifika verwenden (schneller - ist bestimmt nicht alles kompatibel), manche Checks mit "Kniffen" kürzen/ umstrukturieren, einzelne Dateien zulassen, das Abbrechen mit STRG + C, welches zu gekürzten Originaldateien führt, verhindern, eine Abfrage einbauen, ob man wirklich will, Hinweise einbauen wie welche Programme noch installiert würden (was die intelligente kurze which-Abfrage evtl. wieder unnötig aufbläht), evtl. andere Dateien zulassen als mp3 (evtl. reicht dazu schon ein Ändern von *.mp3 in *.ogg usw.)...und man könnte natürlich auch noch *...war wichtige Idee, aber leider gerade wieder Faden verloren...* oder ein Paket daraus bauen. Die voraussichtliche Zeit könnte man anhand der MB des Ordners und erster Zeitmessungen (mit time?) auch noch anzeigen lassen.

Auch die 2 Wartesekunden zur Anzeige der Optionen beim Start des Programms könnte man anders lösen, etwa dass das Programm dabei schon startet - aber das ist eine Kleinigkeit, die nicht zu den wichtigen Anforderungen gehörte. Ich schätze auch mal, dass man den Tabulator bei echo kodieren sollte (wie in der Manpage), aber bei mir funktioniert es erstaunlicherweise auch einfach so. Auf Unix dann vielleicht nicht mehr...

Man könnte auch weitere Optionen für ecasound einfügen, aus der Erinnerung etwa -C und was zur Unterdrückung von Ausgaben, die ich ohnehin nach /dev/null leite. Eine Erfolgsabfrage/ OK je Datei wäre in dem Fall noch ganz sinnvoll. Oder ein Check des noch vorhandenen freien Speicherplatzes. Ein Ordner --help ist auch nicht erlaubt, aber da macht auch mv und rm Probleme, wenn man nicht die Option "–" oder "\--help" (oder anders?) verwendet. 😀

All das wird etwas Overkill für eine kleine Funktion, die man mal eben schnell umgesetzt haben will. ☺ Allerdings ist sowas eine gute Übung und manches kann man als Schnippsel oder Grundgerüst für andere Programme so oder ähnlich weiterverwenden. Oder wenn man mal ein richtiges Programm daraus bzw. aus etwas ähnlichem oder abgeleiteten paketieren (und in die Standardrepos bringen?) will.

Zur Änderung der Bitrate hatte ich lange recherchiert und dort jeden Schritt notiert, falls jemand den Gedanken folgen oder selbst als Anwender sowas nachforschendes mal machen möchte (Inspiration). Hier mal ein Auszug, nachdem Hexeditor als "Hackerei" flachfiel und Kompilieren nun wohl durch eine Configdatei von ecasound (nicht aber eine Option zur Befehlszeile von ecasound!?) wohl "irgendwie" angepasst werden kann (diese muss man selbst erzeugen bzw. aus der Doku kopieren!):

#ext-cmd-mp3-input = mpg123 --stereo -r %s -b 0 -q -s -k %o %f
#ext-cmd-mp3-output = lame -b %B -s %S --little-endian -S - %f
  • Diese Zeilen kann man durch Entfernen von "#" aktivieren.

  • Dann kann man sie auch anpassen. Ich als Musiklaie verstehe noch nicht ganz, wieso man für einen INPUT eine Bitrate angeben muss, die doch eigentlich in der Datei kodiert ist - vielleicht kann man die damit reduziert abspielen? Im Zweifel werde ich nichts ändern bzw. eine passende setzen.

  • Wo man diese Datei hinkopieren kann, steht oben in meinen Stichpunkten (Kästchen, gelb).

Obwohl Du keine Zeit hast sie umzusetzen? Wir haben ja die Zeit!

Das Umsetzen ist das eine, zumal wenn es "nur" um Features geht. Das andere ist berechtigte Kritik zu bekommen. Ob das dazu führt, dass man "nur" dazulernt oder auch was umsetzt (sicherlich aber in späteren Projekten!) oder andere das übernehmen möchten (wahrscheinlich nicht, trotz Open Source, oder?), das spielt dann keine Rolle und hängt vom Einzelfall ab. Gerne kann man manches auch später umsetzen. Auf jeden Fall aber ist die Kritik nicht umsonst, da ich ja Anfänger bin und sicherlich noch was zu lernen habe. Ich musste mir manchmal auch einfach irgendwie zu helfen wissen, gerade bei der Fallunterscheidung .mp3/.MP3 usw. - oder bei dem Array (mal im Quelltext nach "@" suchen...). ☺

Sonst wäre das Script und die Doku noch längst nicht fertig. Gerade ein sauberer Wikiartikel dauerte auch nochmal Stunden - ich hätte es bei meinem Schreibtempo ja nicht für möglich gehalten...und wie immer sollte ich eigentlich gar nicht mehr hier im Forum oder gar Wiki rumlungern... 😉 Der "Feature Freeze" und "Docu Freeze" ist quasi bei mir persönlich erreicht (ich böser Diktator, der nichts demokratisch entwickelt hat *g*), ich möchte hier noch von euch, gerne auch dir, dazulernen und schlimme Bugs verhindern, bevor das Ding veröffentlicht wird. ☺

Bin froh, dass ich überhaupt noch einen Wiki-Artikel geschafft habe (ohne geht ja nicht, sonst hätte ich das der Zeit und Prioritäten wegen besser mal lassen sollen...aber das Problem haben wir ja alle irgendwie, nicht?). Ich werde nun nochmal bisschen suchen, ob es schon was ähnliches gibt, aber sei es drum - im Wiki stand bisher wohl nichts vergleichbares oder etwa doch? Der Artikel ist jedenfalls fertig. ☺

Ich wünsch euch was (was ihr euch wünscht). Schönen Tag und so. 😉

Grüße, Benno

P.S.:

$ apt-cache search mp3fade
$ 

*Schweiß von Stirn wisch* 😉

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hab mal gegoogelt, gibt anscheinend wenig in die Richtung (nix, bei Windows ebenso!?). Auch zu folgendem habe ich gesucht: Wäre ja schön, wenn man wirklich alles per Paketverwaltung installieren könnte und bei vielen neuen Progs lese ich "ab 11.04" etc. und warte dann einfach, bis ich mit der 12.04 LTS dann auch mal bequem da angekommen bin...

Wenn man sowas mal in den Standardquellen haben will (vermutlich nicht main, sondern universe?, also Community-gepflegt), kann man das Debian melden (wo?), oder wenn es Ubuntu-spezifisch ist, bei Launchpad anmelden, oder? Muss man das dann selber paketieren/ ist das erwünscht? (Nach welchen Richtlinien für den Paketbau?)

Kann man selbstgebaute Pakete noch verändern (lassen) oder sind die quasi wie PDF "read-only" (eigentlich ja nur gezippte Dateien...)?

Muss man diese Pakete dann bei jedem Ubuntu-Release selbst pflegen bzw. einen barmherzigen Pfleger finden? Sowohl für die Paketierung als auch ggf. nötige Änderungen im Code, wenn sich mal wieder der Unterbau oder Abhängigkeiten bzw. vorinstallierte Programme bei Ubuntu ändern?

Einer Manpage müsste man auch noch schreiben oder gibt es dafür extra Teams? Für die deutschen Manpages müsste man sich in diesem Projekt auch noch registrieren und selbst aktiv werden, richtig?

Bin da an einem Punkt angelangt (spezielle Fragen über Fragen), wo ich lieber selbst mal Leute mit Ahnung und Bezug zur Materie frage anstatt mich einzulesen und nur dümmer dabei zu werden. 😉 Links nehme ich natürlich auch gern, Suchworte ebenso. Eine kurze Zusammenfassung (so lang wie mein Text) bzw. ja/nein/eventuell wäre auch schon was. 😉 Um die Details kümmer ich mich dann schon, wenn ich erstmal einen Überblick und Erfahrungen aus erster bis dritter Hand habe. 😉

Ob ich sowas aber wirklich in die Standardquellen bekomme (bis 12.04 LTS), weiß ich nicht - spricht da was dagegen? Wenn ich mir die andren kleinen Tools so ansehe...eigentlich nicht...!?

Grüße, Benno

Edit: Keine englische Sprache wäre bestimmt ein Ausschlusskriterium!? Wie unterscheiden kleinere Programme wie nano denn, ob sie deutsch oder englisch sein sollen - zwei Versionen im Paket (also ohne extra Aufwand mit Sprachpaketen) und dann anhand der locale des Systems? Werde mal noch bisschen im Forum stöbern demnächst. Da bin ich doch bestimmt nicht der erste Frager für so einiges (was mir gerade durch den Kopf schießt und auf der Tastatur landet), auch wenn ich hier echt nur Anwender- und kaum Entwickler-spezifische Themen mitbekomme.

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Benno-007 schrieb:

Hab mal gegoogelt, gibt anscheinend wenig in die Richtung

fadecut - ab Ubuntu 11.10.

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

aasche schrieb:

Benno-007 schrieb:

Hab mal gegoogelt, gibt anscheinend wenig in die Richtung

fadecut - ab Ubuntu 11.10.

Habe wirklich sehr lange und viel gegoogelt (mindestens 10-20 sinnige Suchanfragenkombinationen). Und zu diesem Programm ansich: Google kennt das noch immer nicht. Beschreibung:

http://packages.ubuntu.com/oneiric/fadecut

Scheint also gut mit Streamripper zusammenzuarbeiten. Im file mode klingt es so, als ob es da wieder nur WAV verarbeitet - und ob Batchbetrieb möglich ist, weiß ich noch nicht. Könnte man ja vielleicht vorschlagen.

Seine Lösung basiert auf Sox, meine auf ecasound. Für Manipulationen ermöglicht das nun natürlich mehr Auswahl, je nachdem, was man braucht und mag.

Mal sehn, was da draus wird. Konkurrenz belebt das Geschäft. Gilt auch für Open Source. 😀

Ich schau mir mal den Quelltext an, was er genau macht.

Aber ich stelle fest, dass Linux in den letzten 1-2 Jahren enorm viel neue Software hervorbringt. 👍 Manchmal sind es Sachen, wo man denkt, das müsste es schon längst fertig geben (Fades für ganze Ordner im Batchbetrieb), manchmal sind es ganz neue nette bis sehr sehr nützliche Sachen. Manche Gimmick, manche unentbehrlich. Es geht voran mit Linux und Open Source... ☺

Edit 1:

  • Sie prüfen, ob sie zukünftig auf ffmpeg umsteigen.

  • Man kann Ordner angeben...

  • Die wichtigsten Quelltextstellen sind:

    # marco: We need to document this better!
    # tinu: good enough now? :-)

    😊

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

Im Installationsskript würde ich einen von 2 Codestilen verwenden, statt:

1
2
3
4
5
6
7
8
function help ()
	{
			echo Bitte geben Sie den Befehl folgendermaßen ein:
			echo mp3fade ordner fade-in-in-sekunden fade-out-in-sekunden
			echo
			echo Beispiel: 
			echo mp3fade /home/du/Musik/mp3/neu 10 10
	}
1
2
3
4
5
6
7
function help () {
	echo Bitte geben Sie den Befehl folgendermaßen ein:
	echo mp3fade ordner fade-in-in-sekunden fade-out-in-sekunden
	echo
	echo Beispiel: 
	echo mp3fade /home/du/Musik/mp3/neu 10 10
}

oder

1
2
3
4
function help () 
{
	echo Bitte geben Sie den Befehl folgendermaßen ein:
...

jedenfalls einheitlich, mit nur einer Einrückungstiefe pro Blocktiefe - nicht 3.

Der Block der mit

1
2
# Prüfung, ob Parameter übergeben wurden
if  [ "$1" ]; then

beginnt, könnte vielleicht durch ein case-statement übersichtlicher werden:

1
2
3
4
5
6
case $1 in 
        abc) 
        ABC) foo ;;
        DEF)
        def) bar ;;
esac

Das exit am Ende ist überflüssig.

Das alles nur nach einer oberflächlichen Sichtung, die v.a. deswegen oberflächlich blieb, weil, die Einrückung erstmal geheilt werden müßte, bevor man den Code zu verstehen versucht.

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Das Thema habe ich nun fast vergessen und mich nun nur durch Zufall daran erinnert.

Das exit am Ende ist überflüssig.

Warum? Als ich mal testete, es in Scripten wegzulassen, sah ich, dass das Script nie endete, also immer als sinnloser Prozess weiter im Speicher gehalten wurde.

Das alles nur nach einer oberflächlichen Sichtung, die v.a. deswegen oberflächlich blieb, weil, die Einrückung erstmal geheilt werden müßte, bevor man den Code zu verstehen versucht.

Dafür ist die Einrückung ja da, dass man es besser versteht. 😉 Tabs mögen vielleicht etwas zuviel des Guten gewesen sein, aber jeder ordentliche Editor hat einen vertikalen Scrollbalken, so dass man das mit etwas gutem Willen vernünftig lesen kann - musste und wollte ich schließlich ja auch.

An alle:

Schade, dass es auf andere Fragen weder in der Forensuche noch hier Antworten gab. Ein paar oder konkrete Links (keine Linksammlung mit 1000 Unterseiten) würden ja schon reichen.

An dem Programm sehe ich momentan keinen akuten Handlungsbedarf. Es funktioniert und wer will, kann es so benutzen, wer nicht, soll es sich selber weiterentwickeln bzw. anpassen.

Bleibt das in diesem Falle bis zum Saint Nimmerleinstag eine Dauerbaustelle oder wird der Artikel freigeschalten oder gar einfach gelöscht?

Grüße, Benno

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

Benno-007 schrieb:

Das exit am Ende ist überflüssig.

Warum? Als ich mal testete, es in Scripten wegzulassen, sah ich, dass das Script nie endete, also immer als sinnloser Prozess weiter im Speicher gehalten wurde.

Dann schreib mal zum Beweis so ein Skript und zeig es vor.

Das alles nur nach einer oberflächlichen Sichtung, die v.a. deswegen oberflächlich blieb, weil, die Einrückung erstmal geheilt werden müßte, bevor man den Code zu verstehen versucht.

Dafür ist die Einrückung ja da, dass man es besser versteht. 😉 Tabs mögen vielleicht etwas zuviel des Guten gewesen sein, aber jeder ordentliche Editor hat einen vertikalen Scrollbalken, so dass man das mit etwas gutem Willen vernünftig lesen kann - musste und wollte ich schließlich ja auch.

Ich habe nicht gesagt Du sollst auf Einrückung verzichten, sondern diese sinnvoll und einheitlich gestalten.

Chaotische Einrückungen schaffen keine Übersicht.

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

user unknown schrieb:

Dann schreib mal zum Beweis so ein Skript und zeig es vor.

Könnte es daran gelegen haben, dass ich vielleicht eine GUI wie vlc in einem Script startete? Und sich das Script dann entweder erst beendet, wenn ich vlc schließe oder aber schon vorher, wenn direkt nach dem Aufruf ein exit 0 folgt?

Chaotische Einrückungen schaffen keine Übersicht.

Vielleicht ist auch ein Plugin oder viele nachträgliche Veränderungen Schuld. So oder so wäre das Zeug aber recht weit rechts gelandet. Das liegt dann in meiner Verantwortung, nächstes Mal dann. Wegen sowas teste ich nicht nochmal das Programm auf eventuell sich beim Korrigieren einschleichende Fehler. ☺

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Benno-007 schrieb:

Schade, dass es auf andere Fragen weder in der Forensuche noch hier Antworten gab.

Es waren vielleicht zu viele Fragen auf einmal - daher auch die goldene Regel: eine Frage pro Thread...

An dem Programm sehe ich momentan keinen akuten Handlungsbedarf. Es funktioniert und wer will, kann es so benutzen, wer nicht, soll es sich selber weiterentwickeln bzw. anpassen.

Meine persoenliche Meinung: was soll ich mit einem Skript, dass

  1. die verlustbehaftet komprimierte Originaldatei erneut verlustbehaftet komprimiert und

  2. dies dann nur mit einer max. Bitrate von 128 Kbps kann?

Bleibt das in diesem Falle bis zum Saint Nimmerleinstag eine Dauerbaustelle oder wird der Artikel freigeschalten oder gar einfach gelöscht?

Definitiv nichts gegen Deinen Ansatz und Deine Muehen - aber das derzeitige Skript ist IMHO ueberfluessig bzw. zeigt, dass es weiterhin nur mp3directcut als sinnvolle Loesung fuer die urspruengliche Frage gibt. Und damit leider auch kein automatisches Ein- und Ausblenden...

Benno-007

(Themenstarter)

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hallo aasche.

aasche schrieb:

Benno-007 schrieb:

Schade, dass es auf andere Fragen weder in der Forensuche noch hier Antworten gab.

Es waren vielleicht zu viele Fragen auf einmal - daher auch die goldene Regel: eine Frage pro Thread...

Danke für den Hinweis.

An dem Programm sehe ich momentan keinen akuten Handlungsbedarf. Es funktioniert und wer will, kann es so benutzen, wer nicht, soll es sich selber weiterentwickeln bzw. anpassen.

Meine persoenliche Meinung: was soll ich mit einem Skript, dass

  1. die verlustbehaftet komprimierte Originaldatei erneut verlustbehaftet komprimiert und

  2. dies dann nur mit einer max. Bitrate von 128 Kbps kann?

Für mich oder den Alltagsgebrauch auf MP3-Playern würde es reichen. 1. hat man immer, wenn man MP3 als Ausgangsformat hat - keine Ahnung, welche speziellen Algorithmen mp3directcut da verwendet. 2. könnte man einstellen, wenn man den Ansatz weiterverfolgt. Es ist auch nicht max. 128 kbit/s, sondern genau.

Bleibt das in diesem Falle bis zum Saint Nimmerleinstag eine Dauerbaustelle oder wird der Artikel freigeschalten oder gar einfach gelöscht?

Definitiv nichts gegen Deinen Ansatz und Deine Muehen - aber das derzeitige Skript ist IMHO ueberfluessig bzw. zeigt, dass es weiterhin nur mp3directcut als sinnvolle Loesung fuer die urspruengliche Frage gibt. Und damit leider auch kein automatisches Ein- und Ausblenden...

Das ist eine persönliche Meinung von dir, wie du es ja auch gekennzeichnet hast. Objektiv sind die Einschränkungen des Programms im Artikel an prominenter Stelle klar benannt. Damit habe ich meine "Pflichten" soweit erfüllt: Das geschrieben, was ich (unter viel, aber begrenztem Zeiteinsatz) schreiben und testen kann (vor Bekanntwerden anderer oder erweiterter Möglichkeiten) und die Vor- und Nachteile des Programms notiert, wie es in einem der Wiki-Leitfäden empfohlen wurde.

Auch das von dir gefundene Programm fadecut hat wohl die Einschränkung von 1. Durch ein anderes Backend möglicherweise nicht die von 2.. Dafür ist es komplizierter zu bedienen und auch nicht auf Deutsch, wie ich das sehe.

Da Open Source schnell in einer Sackgasse enden kann, sollte man auch (mehr oder minder oder gar gar nicht brauchbare) Ansätze veröffentlichen. Wenn der Ansatz gar nicht brauchbar wäre (objektiv), würde ich ihn als Scriptansatz im Wiki vorschlagen. Da Artikel und Script aber funktionieren und (übrigens mühsam) aufeinander abgestimmt sind, würde ich es so lassen.

Es ist nicht ausgeschlossen, dass ich oder andere das mal weiter verbessern, aber der Freeze ist da, d.h. das ist nun der Stand der Dinge. Vielleicht ist das auch die Übergangslösung, bis das andere Produkt fadecut mit Ubuntu 11.10 in die Paketquellen kommt - wobei man das ja auch jetzt schon downloaden kann, ist ja nur ein Script (selbst wenn es mal paketiert wäre).

Falls das den Ansprüchen an qualitativ hochwertige Programme nicht genügen sollte, damit das Wiki nicht "verramscht", würde ich es nur in die Scriptecke stellen (oder dorthin weiterleiten). Dort kann sich vielleicht auch jemand mal ansehen, wie es damit weitergehen könnte.

Ich persönlich wäre jedenfalls froh darüber, nicht 10, 100, 1000 oder gar 10.000 bis 100.000 Lieder manuell mit einer GUI ändern zu müssen und viele sehen das sicherlich ähnlich. Die Qualität von 128 kbit/s ist etabliert und mehr als ausreichend. Dass kleinere Bitraten wie 96 kbit/s auf 128 aufgeblasen werden, ist nicht schön, aber zu verschmerzen (dafür werden größere auch auf 128 zusammengestampft). All das ist nur Feintuning, was sich später oder durch jemand mit genügend Testwille auch sofort ändern ließe.

Ansonsten kann das Programm notfalls auch in der Baustelle bleiben, gefunden wird es ja dort offenbar auch - wer also sowas sucht, hat die Möglichkeit, es zu finden.

Grüße, Benno

Antworten |