...hab auch noch ein paar Kleinigkeiten...

Erstmal: Auch von mir nochmal ein großes Lob und ganz herzlichen Dank für die neue Version. Gefällt mir außerordentlich!!
Was schade ist: Bisher konnte ich im PFL Modus Punkte setzen, dann per Tastatur (Pfeil rechts/Pfeil links) im Lied hin und her scrawlen. Nachdem ich aber irgendeinen Punkt gestzt hab, muss ich mit der Maus erst wieder den Zeitstrahl oben anklicken. Kannst Du das vielleicht weider ändern?
Dann man nicht automatisch wieder an den Anfang springen, Früher konnte man nach PFL Aktivierung via “Cue Test” an den Anfang springenm auch wenn noch kein CuePunkt gesetzt war. Das war sehr schön, wann man jetzt nur wenige Zehntelsekunden wegschneiden wollte. Das ist eigentlich mein größtes Problem!!!

Mein zweites Problerm ist, dass ich eigenartiger Weise nichts mehr im Tag speichern kann. Woran könnte das liegen?

Dass der PFL-Dialog zur Zeit nicht sonderlich “ergonomisch” ist, ist mir bekannt. Ich arbeite an einer Lösung, die beiden Konzepte “mehrere Cuepunkte” und “einfaches” Arbeiten unter einen Hut zu bringen :wink:

Torben

Achso Toren, wo wir grad dabei sind, es wäre schön wenn mAirlist den ersten cuepunkt schon selber sucht :slight_smile: Die meisten DoppelCDSpieler oder auch BPM Studio sind in der Lage den Player an den Punkt zu bringen, wo der erste Ton kommt. Könntest Du dieses (wahrscheinlich aufwendige) Feature einbauen??
Das wär der hammer!!! LG Chris N.

…wahlweise sollte das die mairlistDB können…

Für Linux kann ich ansonsten ein Perl-Script beisteuern, dass Anfang und Ende einfach “zurechtschneidet”…

#!/usr/bin/perl

sub framevol
{
my $frame=$_[0];
my $tmp="$$.cutmp3";
mpg123 -q -w /tmp/$tmp\.wav -k $frame -n 2 $datei 2>&1 >/dev/null; # aktuellen und
# folgenden Frame
# in WAV wandeln
open SOX,“sox -t wav /tmp/$tmp.wav -t wav /dev/null stat 2>&1|”;
while ($x=)
{
#print “$x”;
if ($x=~/^Maximum.+amplitude:.([0-9].[0-9].)/)
{
$vol=$1;
}
}
close SOX;
system(“rm -f /tmp/$tmp.wav”);
return $vol;
}

sub refvol
{
my $tmp="$$.cutmp3";
mpg123 -q -w /tmp/$tmp\.wav $datei 2>&1 >/dev/null;
open SOX,“sox -t wav /tmp/$tmp.wav -t wav /dev/null stat 2>&1|”;
while ($x=)
{
#print “$x”;
if ($x=~/^Maximum.+amplitude:.([0-9].[0-9].)/)
{
$vol=$1;
}
}
close SOX;
system(“rm -f /tmp/$tmp.wav”);
return $vol;
}

sub startframe
{
$frame=0;
while (framevol($frame)<($refwert/15)) # 1/15 des Maxwertes
{
$frame++;
if ($frame > ($frames-10))
{
die “Start nicht gefunden.”;
}
}
if ($frame == 0)
{
$frame=1;
}
return $frame;
}

sub endframe
{
$backframes=0;
while (framevol($frames-$backframes)<($refwert/15)) # 1/15 des Maxwertes
{
$backframes++;
if ($backframes > ($frames-10))
{
die “Ending nicht gefunden.”;
}
}
if ($backframes > 0)
{
$backframes–;
}
return $frames-$backframes;
}

$realdatei=$ARGV[0];
$datei=$$.".cutmp3";

rename $realdatei,$datei; # Temporaerdatei ohne Sonderzeichen anlegen

$frames=mp3info -p %u $datei;
print “Datei hat $frames Frames.\n”;
$refwert=refvol;
print “Maximale Lautstaerke (1 = 100%) $refwert\n”;
$startframe=startframe;
print “Ermittelter Startframe: $startframe\n”;
$endframe=endframe;
print “Ermittelter Endframe: $endframe\n”;

if ($startframe >= $endframe)
{
die “Es konnten keine sinnvollen Werte ermittelt werden.\n”;
}

system(“mp3asm -v -t -s $startframe -e $endframe -o $datei.final $datei “);
rename $datei.”.final”,$realdatei; # Temporaerdatei in endfueltige Datei umbennen
unlink $datei; # Temp.Datei wegraeumen