mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2026-01-11 15:16:07 +01:00
Initial import of CVS-v2_8_branch
This commit is contained in:
72
utils/rdchunk/Makefile.am
Normal file
72
utils/rdchunk/Makefile.am
Normal file
@@ -0,0 +1,72 @@
|
||||
## automake.am
|
||||
##
|
||||
## Automake.am for rivendell/utils/rdchunk
|
||||
##
|
||||
## (C) Copyright 2002-2006 Fred Gleason <fredg@paravelsystems.com>
|
||||
##
|
||||
## $Id: Makefile.am,v 1.5.8.1 2012/11/29 01:37:37 cvs Exp $
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License version 2 as
|
||||
## published by the Free Software Foundation.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public
|
||||
## License along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
## Use automake to process this into a Makefile.in
|
||||
|
||||
AM_CPPFLAGS = -Wall -DPREFIX=\"$(prefix)\" -DQTDIR=\"@QT_DIR@\" @QT_CXXFLAGS@
|
||||
INCLUDES = -I$(top_srcdir)/lib
|
||||
LIBS = @QT_LIBS@ -L$(top_srcdir)/lib
|
||||
MOC = @QT_MOC@
|
||||
|
||||
# The dependency for qt's Meta Object Compiler (moc)
|
||||
moc_%.cpp: %.h
|
||||
$(MOC) $< -o $@
|
||||
|
||||
# I18N Stuff
|
||||
install-exec-local:
|
||||
mkdir -p $(DESTDIR)$(prefix)/share/rivendell
|
||||
cp rdchunk_*.qm $(DESTDIR)$(prefix)/share/rivendell
|
||||
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)$(prefix)/share/rivendell/rdchunk_*.qm
|
||||
|
||||
all:
|
||||
@QT_BIN@/lupdate rdchunk.pro
|
||||
@QT_BIN@/lrelease rdchunk.pro
|
||||
|
||||
bin_PROGRAMS = rdchunk
|
||||
|
||||
dist_rdchunk_SOURCES = rdchunk.cpp rdchunk.h
|
||||
|
||||
nodist_rdchunk_SOURCES = moc_rdchunk.cpp
|
||||
|
||||
rdchunk_LDADD = @LIB_RDLIBS@ @LIBVORBIS@
|
||||
|
||||
EXTRA_DIST = rdchunk.pro\
|
||||
rdchunk_de.ts\
|
||||
rdchunk_es.ts\
|
||||
rdchunk_fr.ts\
|
||||
rdchunk_pt_BR.ts
|
||||
|
||||
CLEANFILES = *~\
|
||||
*.idb\
|
||||
*ilk\
|
||||
*.obj\
|
||||
*.pdb\
|
||||
*.qm\
|
||||
moc_*
|
||||
|
||||
MAINTAINERCLEANFILES = *~\
|
||||
*.tar.gz\
|
||||
aclocal.m4\
|
||||
configure\
|
||||
Makefile.in\
|
||||
moc_*
|
||||
745
utils/rdchunk/rdchunk.cpp
Normal file
745
utils/rdchunk/rdchunk.cpp
Normal file
@@ -0,0 +1,745 @@
|
||||
// rdchunk.cpp
|
||||
//
|
||||
// A Qt-based application for playing Microsoft WAV files.
|
||||
//
|
||||
// (C) Copyright 2002-2004 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// $Id: rdchunk.cpp,v 1.3.8.3 2014/01/21 21:59:33 cvs Exp $
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
|
||||
#include <qapplication.h>
|
||||
#include <qwindowsstyle.h>
|
||||
#include <qrect.h>
|
||||
#include <qpoint.h>
|
||||
#include <qpainter.h>
|
||||
#include <qmessagebox.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qlistbox.h>
|
||||
#include <qfiledialog.h>
|
||||
#include <qlabel.h>
|
||||
#include <qtextcodec.h>
|
||||
#include <qtranslator.h>
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#include <rd.h>
|
||||
#include <rdconf.h>
|
||||
|
||||
#include <rdchunk.h>
|
||||
|
||||
|
||||
MainWidget::MainWidget(QWidget *parent,const char *name)
|
||||
:QWidget(parent,name)
|
||||
{
|
||||
y_chunk_button=40;
|
||||
|
||||
//
|
||||
// Fix the Window Size
|
||||
//
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
|
||||
//
|
||||
// Generate Fonts
|
||||
//
|
||||
QFont font("Helvetica",12,QFont::Normal);
|
||||
font.setPixelSize(12);
|
||||
QFont label_font("Helvetica",12,QFont::Bold);
|
||||
label_font.setPixelSize(12);
|
||||
|
||||
wave_loaded=false;
|
||||
wavefile=NULL;
|
||||
fmt_button=NULL;
|
||||
data_button=NULL;
|
||||
fact_button=NULL;
|
||||
cart_button=NULL;
|
||||
bext_button=NULL;
|
||||
mext_button=NULL;
|
||||
wave_base="RDChunk";
|
||||
setCaption(wave_base);
|
||||
|
||||
//
|
||||
// Load Button
|
||||
//
|
||||
QPushButton *button=new QPushButton(tr("Load"),this,"load_button");
|
||||
button->setGeometry(10,10,sizeHint().width()-20,30);
|
||||
connect(button,SIGNAL(clicked()),this,SLOT(loadWaveFile()));
|
||||
|
||||
//
|
||||
// Chunk Label
|
||||
//
|
||||
wave_chunk_label=new QLabel(tr("Chunks"),this,"wave_chunk_label");
|
||||
wave_chunk_label->setGeometry(25,55,sizeHint().width()-50,20);
|
||||
wave_chunk_label->setAlignment(AlignCenter);
|
||||
wave_chunk_label->setFont(label_font);
|
||||
wave_chunk_label->hide();
|
||||
}
|
||||
|
||||
|
||||
QSize MainWidget::sizeHint() const
|
||||
{
|
||||
return QSize(120,y_chunk_button+10);
|
||||
}
|
||||
|
||||
|
||||
QSizePolicy MainWidget::sizePolicy() const
|
||||
{
|
||||
return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::createChunkButtons()
|
||||
{
|
||||
int xptr=20;
|
||||
int yptr=78;
|
||||
|
||||
//
|
||||
// Create chunk buttons
|
||||
//
|
||||
if(wavefile->getFormatChunk()) {
|
||||
fmt_button=new QPushButton(this,"fmt");
|
||||
fmt_button->setText("Format");
|
||||
fmt_button->setGeometry(xptr,yptr,80,25);
|
||||
fmt_button->show();
|
||||
yptr+=30;
|
||||
connect(fmt_button,SIGNAL(clicked()),this,SLOT(displayFmt()));
|
||||
}
|
||||
if(wavefile->getDataChunk()) {
|
||||
data_button=new QPushButton(this,"data");
|
||||
data_button->setText("Data");
|
||||
data_button->setGeometry(xptr,yptr,80,25);
|
||||
data_button->show();
|
||||
yptr+=30;
|
||||
connect(data_button,SIGNAL(clicked()),this,SLOT(displayData()));
|
||||
}
|
||||
if(wavefile->getFactChunk()) {
|
||||
fact_button=new QPushButton(this,"fact");
|
||||
fact_button->setText("Fact");
|
||||
fact_button->setGeometry(xptr,yptr,80,25);
|
||||
fact_button->show();
|
||||
yptr+=30;
|
||||
connect(fact_button,SIGNAL(clicked()),this,SLOT(displayFact()));
|
||||
}
|
||||
if(wavefile->getCartChunk()) {
|
||||
cart_button=new QPushButton(this,"cart");
|
||||
cart_button->setText("Cart");
|
||||
cart_button->setGeometry(xptr,yptr,80,25);
|
||||
cart_button->show();
|
||||
yptr+=30;
|
||||
connect(cart_button,SIGNAL(clicked()),this,SLOT(displayCart()));
|
||||
}
|
||||
if(wavefile->getBextChunk()) {
|
||||
bext_button=new QPushButton(this,"bext");
|
||||
bext_button->setText("Bext");
|
||||
bext_button->setGeometry(xptr,yptr,80,25);
|
||||
bext_button->show();
|
||||
yptr+=30;
|
||||
connect(bext_button,SIGNAL(clicked()),this,SLOT(displayBext()));
|
||||
}
|
||||
if(wavefile->getMextChunk()) {
|
||||
mext_button=new QPushButton(this,"mext");
|
||||
mext_button->setText("Mext");
|
||||
mext_button->setGeometry(xptr,yptr,80,25);
|
||||
mext_button->show();
|
||||
yptr+=30;
|
||||
connect(mext_button,SIGNAL(clicked()),this,SLOT(displayMext()));
|
||||
}
|
||||
if(wavefile->getLevlChunk()) {
|
||||
levl_button=new QPushButton(this,"levl");
|
||||
levl_button->setText("Levl");
|
||||
levl_button->setGeometry(xptr,yptr,80,25);
|
||||
levl_button->show();
|
||||
yptr+=30;
|
||||
connect(levl_button,SIGNAL(clicked()),this,SLOT(displayLevl()));
|
||||
}
|
||||
if(wavefile->getAIR1Chunk()) {
|
||||
AIR1_button=new QPushButton(this,"AIR1");
|
||||
AIR1_button->setText("AIR1");
|
||||
AIR1_button->setGeometry(xptr,yptr,80,25);
|
||||
AIR1_button->show();
|
||||
yptr+=30;
|
||||
connect(AIR1_button,SIGNAL(clicked()),this,SLOT(displayAIR1()));
|
||||
}
|
||||
y_chunk_button=yptr;
|
||||
wave_chunk_label->show();
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
setGeometry(geometry().x(),geometry().y(),sizeHint().width(),
|
||||
sizeHint().height());
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::destroyChunkButtons()
|
||||
{
|
||||
if(fmt_button!=NULL) {
|
||||
fmt_button->hide();
|
||||
delete fmt_button;
|
||||
fmt_button=NULL;
|
||||
}
|
||||
|
||||
if(data_button!=NULL) {
|
||||
data_button->hide();
|
||||
delete data_button;
|
||||
data_button=NULL;
|
||||
}
|
||||
|
||||
if(fact_button!=NULL) {
|
||||
fact_button->hide();
|
||||
delete fact_button;
|
||||
fact_button=NULL;
|
||||
}
|
||||
|
||||
if(cart_button!=NULL) {
|
||||
cart_button->hide();
|
||||
delete cart_button;
|
||||
cart_button=NULL;
|
||||
}
|
||||
|
||||
if(bext_button!=NULL) {
|
||||
bext_button->hide();
|
||||
delete bext_button;
|
||||
bext_button=NULL;
|
||||
}
|
||||
|
||||
if(mext_button!=NULL) {
|
||||
mext_button->hide();
|
||||
delete mext_button;
|
||||
mext_button=NULL;
|
||||
}
|
||||
wave_chunk_label->hide();
|
||||
y_chunk_button=40;
|
||||
setMinimumWidth(sizeHint().width());
|
||||
setMaximumWidth(sizeHint().width());
|
||||
setMinimumHeight(sizeHint().height());
|
||||
setMaximumHeight(sizeHint().height());
|
||||
setGeometry(geometry().x(),geometry().y(),sizeHint().width(),
|
||||
sizeHint().height());
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::loadWaveFile()
|
||||
{
|
||||
QString str;
|
||||
|
||||
delete wavefile;
|
||||
wavefile=NULL;
|
||||
destroyChunkButtons();
|
||||
wave_name=QFileDialog::getOpenFileName(wave_path,RD_AUDIO_FILE_FILTER,this);
|
||||
if(wave_name.isEmpty()) {
|
||||
wave_loaded=false;
|
||||
wave_path=getenv("HOME");
|
||||
wave_base=tr("RHPIPlay");
|
||||
update();
|
||||
return;
|
||||
}
|
||||
wavefile=new RDWaveFile(wave_name);
|
||||
if(wavefile->openWave()) {
|
||||
wave_loaded=true;
|
||||
wave_path=RDGetPathPart(wave_name);
|
||||
wave_base="RHPIPlay - ";
|
||||
if(wavefile->getCartChunk()) {
|
||||
wave_base+=wavefile->getCartTitle();
|
||||
}
|
||||
else {
|
||||
wave_base+=RDGetBasePart(wave_name);
|
||||
}
|
||||
createChunkButtons();
|
||||
update();
|
||||
}
|
||||
else {
|
||||
QMessageBox::warning(this,tr("RDChunk"),tr("Unable to open file!"));
|
||||
delete wavefile;
|
||||
wavefile=NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::quitMainWidget()
|
||||
{
|
||||
qApp->quit();
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::paintEvent(QPaintEvent *paintevent)
|
||||
{
|
||||
QPainter *p=new QPainter(this);
|
||||
p->setFont(QFont("arial",12,QFont::Bold));
|
||||
|
||||
if(wave_loaded) {
|
||||
p->moveTo(10,65);
|
||||
p->lineTo(sizeHint().width()-10,65);
|
||||
p->lineTo(sizeHint().width()-10,y_chunk_button);
|
||||
p->lineTo(10,y_chunk_button);
|
||||
p->lineTo(10,65);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayFmt()
|
||||
{
|
||||
char string[256];
|
||||
QString output;
|
||||
QString str1;
|
||||
QString str2;
|
||||
|
||||
//
|
||||
// Basic Data, common to all valid WAV files
|
||||
//
|
||||
switch(wavefile->getFormatTag()) {
|
||||
case WAVE_FORMAT_PCM:
|
||||
str1=QString(tr("Format: PCM"));
|
||||
str2=QString(tr("Linear"));
|
||||
sprintf(string,"%s%d %s\n",(const char *)str1,
|
||||
wavefile->getBitsPerSample(),(const char *)str2);
|
||||
output=output.append(string);
|
||||
break;
|
||||
case WAVE_FORMAT_MPEG:
|
||||
str1=QString(tr("Format: MPEG Layer"));
|
||||
sprintf(string,"%s %d\n",(const char *)str1,wavefile->getHeadLayer());
|
||||
output=output.append(string);
|
||||
break;
|
||||
case WAVE_FORMAT_VORBIS:
|
||||
str1=QString(tr("Format: OggVorbis"));
|
||||
sprintf(string,"%s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
default:
|
||||
str1=QString(tr("Format: Unknown"));
|
||||
sprintf(string,"Format: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
}
|
||||
|
||||
str1=QString(tr("Channels:"));
|
||||
sprintf(string,"%s %d\n",(const char *)str1,wavefile->getChannels());
|
||||
output=output.append(string);
|
||||
|
||||
str1=QString(tr("Sample Rate:"));
|
||||
str2=QString(tr("samples/sec"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getSamplesPerSec(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
|
||||
str1=QString(tr("Average Data Rate:"));
|
||||
str2=QString(tr("bytes/sec"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getAvgBytesPerSec(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
|
||||
str1=QString(tr("Frame Size:"));
|
||||
str2=QString(tr("byte3s"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getBlockAlign(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
|
||||
//
|
||||
// PCM Linear specific data
|
||||
//
|
||||
if(wavefile->getFormatTag()==WAVE_FORMAT_PCM) {
|
||||
str1=QString(tr("Sample Size:"));
|
||||
str2=QString(tr("bits/chan/sample"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,
|
||||
wavefile->getBitsPerSample(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
}
|
||||
|
||||
//
|
||||
// MPEG-1 specific data
|
||||
//
|
||||
if(wavefile->getFormatTag()==WAVE_FORMAT_MPEG) {
|
||||
str1=QString(tr("Bit Rate:"));
|
||||
str2=QString(tr("bits/sec"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getHeadBitRate(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
sprintf(string,tr("Codec Mode(s): "));
|
||||
if((wavefile->getHeadMode()&ACM_MPEG_STEREO)!=0) {
|
||||
strcat(string,tr("Stereo "));
|
||||
}
|
||||
if((wavefile->getHeadMode()&ACM_MPEG_JOINTSTEREO)!=0) {
|
||||
strcat(string,tr("JointStereo "));
|
||||
}
|
||||
if((wavefile->getHeadMode()&ACM_MPEG_DUALCHANNEL)!=0) {
|
||||
strcat(string,tr("DualChannel "));
|
||||
}
|
||||
if((wavefile->getHeadMode()&ACM_MPEG_SINGLECHANNEL)!=0) {
|
||||
strcat(string,tr("SingleChannel "));
|
||||
}
|
||||
strcat(string,"\n");
|
||||
output=output.append(string);
|
||||
|
||||
switch(wavefile->getHeadEmphasis()) {
|
||||
case 1:
|
||||
str1=QString(tr("None"));
|
||||
sprintf(string,"Emphasis: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
case 2:
|
||||
str1=QString(tr("50/15 ms"));
|
||||
sprintf(string,"Emphasis: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
case 3:
|
||||
str1=QString(tr("Reserved"));
|
||||
sprintf(string,"Emphasis: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
case 4:
|
||||
str1=QString(tr("CCITT J.17"));
|
||||
sprintf(string,"Emphasis: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
default:
|
||||
str1=QString(tr("Unknown"));
|
||||
sprintf(string,"Emphasis: %s\n",(const char *)str1);
|
||||
output=output.append(string);
|
||||
break;
|
||||
}
|
||||
sprintf(string,tr("Flags: "));
|
||||
if((wavefile->getHeadFlags()&ACM_MPEG_PRIVATEBIT)!=0) {
|
||||
strcat(string,tr("Private "));
|
||||
}
|
||||
if((wavefile->getHeadFlags()&ACM_MPEG_COPYRIGHT)!=0) {
|
||||
strcat(string,tr("Copyright "));
|
||||
}
|
||||
if((wavefile->getHeadFlags()&ACM_MPEG_ORIGINALHOME)!=0) {
|
||||
strcat(string,tr("Home "));
|
||||
}
|
||||
if((wavefile->getHeadFlags()&ACM_MPEG_PROTECTIONBIT)!=0) {
|
||||
strcat(string,"Protect ");
|
||||
}
|
||||
if((wavefile->getHeadFlags()&ACM_MPEG_ID_MPEG1)!=0) {
|
||||
strcat(string,tr("MPEG "));
|
||||
}
|
||||
strcat(string,"\n");
|
||||
output=output.append(string);
|
||||
}
|
||||
QMessageBox::information(this,tr("FMT Chunk"),output);
|
||||
|
||||
}
|
||||
|
||||
void MainWidget::displayData()
|
||||
{
|
||||
QString str1;
|
||||
QString str2;
|
||||
char string[256];
|
||||
QString output;
|
||||
|
||||
str1=QString(tr("Data Size:"));
|
||||
str2=QString(tr("bytes"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getDataLength(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
|
||||
QMessageBox::information(this,tr("DATA Chunk"),output);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayFact()
|
||||
{
|
||||
QString str1;
|
||||
QString str2;
|
||||
char string[256];
|
||||
QString output;
|
||||
|
||||
str1=QString(tr("Sample Size:"));
|
||||
str2=QString(tr("samples"));
|
||||
sprintf(string,"%s %d %s\n",(const char *)str1,wavefile->getSampleLength(),
|
||||
(const char *)str2);
|
||||
output=output.append(string);
|
||||
|
||||
QMessageBox::information(this,"FACT Chunk",output);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayCart()
|
||||
{
|
||||
QString str1;
|
||||
QString str2;
|
||||
char string[256];
|
||||
QString output;
|
||||
bool timers_found=false;
|
||||
|
||||
/*
|
||||
sprintf(string,"Cart Chunk Version: %c.%c.%c\n",
|
||||
(wavefile->getCartVersion()>>24)&255,
|
||||
(wavefile->getCartVersion()>>16)&255,
|
||||
(wavefile->getCartVersion()>>8)&255);
|
||||
output=output.append(string);
|
||||
*/
|
||||
output=output.append(tr("TITLE: "));
|
||||
output=output.append(wavefile->getCartTitle());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("ARTIST: "));
|
||||
output=output.append(wavefile->getCartArtist());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("CUT ID: "));
|
||||
output=output.append(wavefile->getCartCutID());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("CLIENT ID: "));
|
||||
output=output.append(wavefile->getCartClientID());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("CATEGORY: "));
|
||||
output=output.append(wavefile->getCartCategory());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("CLASSIFICATION: "));
|
||||
output=output.append(wavefile->getCartClassification());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("OUT CUE: "));
|
||||
output=output.append(wavefile->getCartOutCue());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("START DATE: "));
|
||||
output=output.append(wavefile->getCartStartDate().toString());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("START TIME: "));
|
||||
output=output.append(wavefile->getCartStartTime().toString());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("END DATE: "));
|
||||
output=output.append(wavefile->getCartEndDate().toString());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("END TIME: "));
|
||||
output=output.append(wavefile->getCartEndTime().toString());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("PRODUCER ID: "));
|
||||
output=output.append(wavefile->getCartProducerAppID());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("PRODUCER VERSION: "));
|
||||
output=output.append(wavefile->getCartProducerAppVer());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("USER DEFINED: "));
|
||||
output=output.append(wavefile->getCartUserDef());
|
||||
output=output.append("\n");
|
||||
if(wavefile->getCartLevelRef()>0) {
|
||||
str1=QString(tr("LEVEL REFERENCE:"));
|
||||
str2=QString(tr("dB"));
|
||||
sprintf(string,"%s %5.1lf %s\n",(const char *)str1,
|
||||
20*log10((float)wavefile->getCartLevelRef()/32767),
|
||||
(const char *)str2);
|
||||
}
|
||||
else {
|
||||
str1=QString(tr("LEVEL REFERENCE:"));
|
||||
str2=QString(tr("Undefined"));
|
||||
sprintf(string,"%s %s\n",(const char *)str1,(const char *)str2);
|
||||
}
|
||||
output=output.append(string);
|
||||
output=output.append(tr("URL: "));
|
||||
output=output.append(wavefile->getCartURL());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("CART TIMER(S): "));
|
||||
for(int i=0;i<MAX_TIMERS;i++) {
|
||||
if(!wavefile->getCartTimerLabel(i).isEmpty()) {
|
||||
output=output.append(wavefile->getCartTimerLabel(i));
|
||||
sprintf(string,": %u\n",wavefile->getCartTimerSample(i));
|
||||
output=output.append(string);
|
||||
timers_found=true;
|
||||
}
|
||||
}
|
||||
if(!timers_found) {
|
||||
output=output.append("\n");
|
||||
}
|
||||
output=output.append(tr("TAG TEXT: "));
|
||||
output=output.append(wavefile->getCartTagText());
|
||||
output=output.append("\n");
|
||||
|
||||
QMessageBox::information(this,tr("CART Chunk"),output);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void MainWidget::displayBext()
|
||||
{
|
||||
char string[256];
|
||||
QString output;
|
||||
QString str;
|
||||
|
||||
output=output.append(tr("DESCRIPTION: "));
|
||||
output=output.append(wavefile->getBextDescription());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("ORIGINATOR: "));
|
||||
output=output.append(wavefile->getBextOriginator());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("ORIGINATOR REFERENCE: "));
|
||||
output=output.append(wavefile->getBextOriginatorRef());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("ORIGINATION DATE: "));
|
||||
output=output.append(wavefile->getBextOriginationDate().toString());
|
||||
output=output.append("\n");
|
||||
output=output.append(tr("ORIGINATION TIME: "));
|
||||
output=output.append(wavefile->getBextOriginationTime().toString());
|
||||
output=output.append("\n");
|
||||
str=QString(tr("VERSION:"));
|
||||
sprintf(string,"%s %d\n",(const char *)str,wavefile->getBextVersion());
|
||||
output=output.append(string);
|
||||
output=output.append(tr("CODING HISTORY: "));
|
||||
output=output.append(wavefile->getBextCodingHistory());
|
||||
output=output.append("\n");
|
||||
|
||||
QMessageBox::information(this,tr("BEXT Chunk"),output);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayMext()
|
||||
{
|
||||
QString output;
|
||||
QString str1;
|
||||
QString str2;
|
||||
|
||||
output=output.append(tr("MPEG Data Composition: "));
|
||||
if(wavefile->getMextHomogenous()) {
|
||||
output=output.append(tr("Homogenous"));
|
||||
output=output.append("\n");
|
||||
if(wavefile->getMextPaddingUsed()) {
|
||||
output=output.append(tr("The padding bit is active."));
|
||||
output=output.append("\n");
|
||||
}
|
||||
else {
|
||||
output=output.append(tr("The padding bit is inactive."));
|
||||
output=output.append("\n");
|
||||
}
|
||||
if(wavefile->getMextHackedBitRate()) {
|
||||
output=output.append(tr("The bit rate is non-standard."));
|
||||
output=output.append("\n");
|
||||
}
|
||||
}
|
||||
else {
|
||||
output=output.append(tr("Non-homogenous"));
|
||||
output=output.append("\n");
|
||||
}
|
||||
if(wavefile->getMextFreeFormat()) {
|
||||
output=output.append(tr("MPEG Format: Free Format"));
|
||||
output=output.append("\n");
|
||||
}
|
||||
else {
|
||||
output=output.append(tr("MPEG Format: Constant Bit Rate"));
|
||||
output=output.append("\n");
|
||||
}
|
||||
str1=QString(tr("MPEG Frame Size:"));
|
||||
str2=QString(tr("bytes"));
|
||||
output=output.append(QString().sprintf("%s %d %s",(const char *)str1,
|
||||
wavefile->getMextFrameSize(),
|
||||
(const char *)str2));
|
||||
output=output.append("\n");
|
||||
str1=QString(tr("Ancillary Bytes:"));
|
||||
str2=QString(tr("bytes"));
|
||||
output=output.append(QString().sprintf("%s %d %s\n",(const char *)str1,
|
||||
wavefile->getMextAncillaryLength(),
|
||||
(const char *)str2));
|
||||
output=output.append("\n");
|
||||
if(wavefile->getMextAncillaryLength()>0) {
|
||||
output=output.append(tr("Ancillary Data: "));
|
||||
if(wavefile->getMextLeftEnergyPresent()) {
|
||||
output=output.append(tr(" LeftEnergy"));
|
||||
}
|
||||
if(wavefile->getMextRightEnergyPresent()) {
|
||||
output=output.append(tr(" RightEnergy"));
|
||||
}
|
||||
if(wavefile->getMextPrivateDataPresent()) {
|
||||
output=output.append(tr(" PrivateData"));
|
||||
}
|
||||
output=output.append("\n");
|
||||
}
|
||||
|
||||
QMessageBox::information(this,tr("MEXT Chunk"),output);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayLevl()
|
||||
{
|
||||
QString output;
|
||||
QString str;
|
||||
|
||||
output=output.append(tr("Version: "));
|
||||
output=output.append(QString().sprintf("%d\n",wavefile->getLevlVersion()));
|
||||
output=output.append(tr("Samples per Peak: "));
|
||||
output=
|
||||
output.append(QString().sprintf("%d\n",wavefile->getLevlBlockSize()));
|
||||
output=output.append(tr("Sample Channels: "));
|
||||
output=output.append(QString().sprintf("%d\n",wavefile->getLevlChannels()));
|
||||
output=output.append(tr("Overall Peak: "));
|
||||
if(wavefile->getLevlPeak()==0) {
|
||||
output=output.append(tr("Unknown"));
|
||||
output=output.append("\n");
|
||||
}
|
||||
else {
|
||||
str=QString(tr("dBFS"));
|
||||
output=output.append(QString().sprintf("%5.1f %s\n",
|
||||
20.0*log10((double)wavefile->getLevlPeak()/32768.0),
|
||||
(const char *)str));
|
||||
}
|
||||
output=output.append(tr("Timestamp: "));
|
||||
output=
|
||||
output.append(wavefile->getLevlTimestamp().toString("MM-dd-yyyy hh:mm:ss"));
|
||||
|
||||
QMessageBox::information(this,tr("LEVL Chunk"),output);
|
||||
}
|
||||
|
||||
|
||||
void MainWidget::displayAIR1()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
QApplication a(argc,argv);
|
||||
|
||||
//
|
||||
// Load Translations
|
||||
//
|
||||
//
|
||||
// Load Translations
|
||||
//
|
||||
QTranslator qt(0);
|
||||
qt.load(QString(QTDIR)+QString("/translations/qt_")+QTextCodec::locale(),
|
||||
".");
|
||||
a.installTranslator(&qt);
|
||||
|
||||
QTranslator rd(0);
|
||||
rd.load(QString(PREFIX)+QString("/share/rivendell/librd_")+
|
||||
QTextCodec::locale(),".");
|
||||
a.installTranslator(&rd);
|
||||
|
||||
QTranslator rdhpi(0);
|
||||
rdhpi.load(QString(PREFIX)+QString("/share/rivendell/librdhpi_")+
|
||||
QTextCodec::locale(),".");
|
||||
a.installTranslator(&rdhpi);
|
||||
|
||||
QTranslator tr(0);
|
||||
tr.load(QString(PREFIX)+QString("/share/rivendell/rdutils_")+
|
||||
QTextCodec::locale(),".");
|
||||
a.installTranslator(&tr);
|
||||
|
||||
//
|
||||
// Start Event Loop
|
||||
//
|
||||
MainWidget *w=new MainWidget(NULL,"main");
|
||||
a.setMainWidget(w);
|
||||
w->setGeometry(QRect(QPoint(0,0),w->sizeHint()));
|
||||
w->show();
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
|
||||
84
utils/rdchunk/rdchunk.h
Normal file
84
utils/rdchunk/rdchunk.h
Normal file
@@ -0,0 +1,84 @@
|
||||
// rdchunk.h
|
||||
//
|
||||
// Utility for examining chunk data in WAV files.
|
||||
//
|
||||
// (C) Copyright 2002-2004,2008 Fred Gleason <fredg@paravelsystems.com>
|
||||
//
|
||||
// $Id: rdchunk.h,v 1.3.8.1 2013/12/05 17:37:48 cvs Exp $
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License version 2 as
|
||||
// published by the Free Software Foundation.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public
|
||||
// License along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
|
||||
|
||||
#ifndef RDCHUNK_H
|
||||
#define RDCHUNK_H
|
||||
|
||||
#include <qwidget.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlabel.h>
|
||||
|
||||
#include <rdwavefile.h>
|
||||
|
||||
#define MIXER_X 150
|
||||
#define MIXER_Y 200
|
||||
#define METER_UPDATE_INTERVAL 50
|
||||
|
||||
|
||||
class MainWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
MainWidget(QWidget *parent=0,const char *name=0);
|
||||
QSize sizeHint() const;
|
||||
QSizePolicy sizePolicy() const;
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *);
|
||||
|
||||
private slots:
|
||||
void loadWaveFile();
|
||||
void quitMainWidget();
|
||||
void displayFmt();
|
||||
void displayData();
|
||||
void displayFact();
|
||||
void displayCart();
|
||||
void displayBext();
|
||||
void displayMext();
|
||||
void displayLevl();
|
||||
void displayAIR1();
|
||||
|
||||
private:
|
||||
void createChunkButtons();
|
||||
void destroyChunkButtons();
|
||||
QTimer *meter_timer;
|
||||
RDWaveFile *wavefile;
|
||||
int y_chunk_button;
|
||||
bool wave_loaded;
|
||||
QString wave_name;
|
||||
QString wave_path;
|
||||
QString wave_base;
|
||||
QPushButton *fmt_button;
|
||||
QPushButton *data_button;
|
||||
QPushButton *fact_button;
|
||||
QPushButton *cart_button;
|
||||
QPushButton *bext_button;
|
||||
QPushButton *mext_button;
|
||||
QPushButton *levl_button;
|
||||
QPushButton *AIR1_button;
|
||||
QLabel *wave_chunk_label;
|
||||
int play_port;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
28
utils/rdchunk/rdchunk.pro
Normal file
28
utils/rdchunk/rdchunk.pro
Normal file
@@ -0,0 +1,28 @@
|
||||
# rdchunk.pro
|
||||
#
|
||||
# The utils/rdchunk/ QMake project file for Rivendell
|
||||
#
|
||||
# (C) Copyright 2003-2006,2008 Fred Gleason <fredg@paravelsystems.com>
|
||||
#
|
||||
# $Id: rdchunk.pro,v 1.2 2010/08/04 23:07:02 cvs Exp $
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
SOURCES += rdchunk.cpp
|
||||
HEADERS += rdchunk.h
|
||||
|
||||
TRANSLATIONS += rdchunk_es.ts
|
||||
TRANSLATIONS += rdchunk_fr.ts
|
||||
TRANSLATIONS += rdchunk_de.ts
|
||||
TRANSLATIONS += rdchunk_pt_BR.ts
|
||||
373
utils/rdchunk/rdchunk_de.ts
Normal file
373
utils/rdchunk/rdchunk_de.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<!DOCTYPE TS><TS>
|
||||
<context>
|
||||
<name>MainWidget</name>
|
||||
<message>
|
||||
<source>Load</source>
|
||||
<translation>Laden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RHPIPlay</source>
|
||||
<translation>RHPIPlay</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: PCM</source>
|
||||
<translation>Format: PCM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Linear</source>
|
||||
<translation>Linear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: MPEG Layer</source>
|
||||
<translation>Format: MPEG Layer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: OggVorbis</source>
|
||||
<translation>Format: OggVorbis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: Unknown</source>
|
||||
<translation>Format: Unknown</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channels:</source>
|
||||
<translation>Kanäle:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Rate:</source>
|
||||
<translation>Samplerate:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples/sec</source>
|
||||
<translation>samples/sec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Average Data Rate:</source>
|
||||
<translation>Durchschnittliche Datenrate:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes/sec</source>
|
||||
<translation>bytes/sec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Frame Size:</source>
|
||||
<translation>Framegröße:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>byte3s</source>
|
||||
<translation>byte3s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Size:</source>
|
||||
<translation>Samplegröße:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/chan/sample</source>
|
||||
<translation>Bits/Kanal/Sample</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bit Rate:</source>
|
||||
<translation>Bitrate:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/sec</source>
|
||||
<translation>bits/sec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Codec Mode(s): </source>
|
||||
<translation>Codec Mode(s): </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo </source>
|
||||
<translation>Stereo </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>JointStereo </source>
|
||||
<translation>JointStereo </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DualChannel </source>
|
||||
<translation>Zwei Kanäle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SingleChannel </source>
|
||||
<translation>Ein Kanal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Keine</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>50/15 ms</source>
|
||||
<translation>50/15 ms</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserved</source>
|
||||
<translation>Reserviert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CCITT J.17</source>
|
||||
<translation>CCITT J.17</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation>unbekannt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags: </source>
|
||||
<translation>Flags: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private </source>
|
||||
<translation>Privat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright </source>
|
||||
<translation>Copyright </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Home </source>
|
||||
<translation>Home </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG </source>
|
||||
<translation>MPEG </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FMT Chunk</source>
|
||||
<translation>FMT Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Data Size:</source>
|
||||
<translation>Datengröße:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes</source>
|
||||
<translation>bytes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DATA Chunk</source>
|
||||
<translation>DATA Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples</source>
|
||||
<translation>samples</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TITLE: </source>
|
||||
<translation>TITEL: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ARTIST: </source>
|
||||
<translation>KÜNSTLER: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CUT ID: </source>
|
||||
<translation>CUT ID: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLIENT ID: </source>
|
||||
<translation>KUNDEN ID: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CATEGORY: </source>
|
||||
<translation>KATEGORIE: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLASSIFICATION: </source>
|
||||
<translation>KLASSIFIKATION: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUT CUE: </source>
|
||||
<translation>OUTCUE: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START DATE: </source>
|
||||
<translation>STARTDATUM: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START TIME: </source>
|
||||
<translation>STARTZEIT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END DATE: </source>
|
||||
<translation>ENDDATUM:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END TIME: </source>
|
||||
<translation>ENDZEIT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER ID: </source>
|
||||
<translation>PRODUZENTEN-ID: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER VERSION: </source>
|
||||
<translation>PRODUZENTEN-VERSION: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>USER DEFINED: </source>
|
||||
<translation>BENUTZERDEFINIERT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVEL REFERENCE:</source>
|
||||
<translation>LEVELREFERENZ: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dB</source>
|
||||
<translation>dB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undefined</source>
|
||||
<translation>Nicht definiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL: </source>
|
||||
<translation>URL: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART TIMER(S): </source>
|
||||
<translation>CART TIMER: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TAG TEXT: </source>
|
||||
<translation>TAG TEXT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART Chunk</source>
|
||||
<translation>CART Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DESCRIPTION: </source>
|
||||
<translation>BESCHREIBUNG: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR: </source>
|
||||
<translation>HERKUNFT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR REFERENCE: </source>
|
||||
<translation>HERKUNFTSREFERENZ:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION DATE: </source>
|
||||
<translation>HERKUNFTSDATUM:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION TIME: </source>
|
||||
<translation>HERKUNFTSZEIT: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VERSION:</source>
|
||||
<translation>VERSION:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CODING HISTORY: </source>
|
||||
<translation>CODING-HISTORIE: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BEXT Chunk</source>
|
||||
<translation>BEXT Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Data Composition: </source>
|
||||
<translation>MPEG Datenkomposition: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Homogenous</source>
|
||||
<translation>Homogen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is active.</source>
|
||||
<translation>Das Padding-Bit ist aktiv.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is inactive.</source>
|
||||
<translation>Das Padding-Bit ist inaktiv.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The bit rate is non-standard.</source>
|
||||
<translation>Die Bitrate weicht vom Standard ab.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non-homogenous</source>
|
||||
<translation>Nicht homogen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Free Format</source>
|
||||
<translation>MPEG Format: Freies Format</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Constant Bit Rate</source>
|
||||
<translation>MPEG Format: Konstante Bitrate</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Frame Size:</source>
|
||||
<translation>MPEG Frame Size:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Bytes:</source>
|
||||
<translation>Ancillary Bytes:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Data: </source>
|
||||
<translation>Ancillary Data: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> LeftEnergy</source>
|
||||
<translation> LeftEnergy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> RightEnergy</source>
|
||||
<translation> RightEnergy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> PrivateData</source>
|
||||
<translation> PrivateData</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MEXT Chunk</source>
|
||||
<translation>MEXT Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version: </source>
|
||||
<translation>Version: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Samples per Peak: </source>
|
||||
<translation>Samples pro Peak: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Channels: </source>
|
||||
<translation>Sample Kanäle: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overall Peak: </source>
|
||||
<translation>Overall Peak: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dBFS</source>
|
||||
<translation>dBFS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Timestamp: </source>
|
||||
<translation>Timestamp: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVL Chunk</source>
|
||||
<translation>LEVL Chunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chunks</source>
|
||||
<translation>Chunks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDChunk</source>
|
||||
<translation>RDChunk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file!</source>
|
||||
<translation>Kann die Datei nicht öffnen!</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
373
utils/rdchunk/rdchunk_es.ts
Normal file
373
utils/rdchunk/rdchunk_es.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<!DOCTYPE TS><TS>
|
||||
<context>
|
||||
<name>MainWidget</name>
|
||||
<message>
|
||||
<source>Load</source>
|
||||
<translation>Cargar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RHPIPlay</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: PCM</source>
|
||||
<translation>Formato: PCM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Linear</source>
|
||||
<translation>Lineal</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: MPEG Layer</source>
|
||||
<translation>Formato: MPEG Capa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: OggVorbis</source>
|
||||
<translation>Formato: OGGVorbis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: Unknown</source>
|
||||
<translation>Formato: Desconocido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channels:</source>
|
||||
<translation>Canales:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Rate:</source>
|
||||
<translation>Tasa de muestreo:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples/sec</source>
|
||||
<translation>muestras/seg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Average Data Rate:</source>
|
||||
<translation>Tasa promedio de datos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes/sec</source>
|
||||
<translation>bytes/seg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Frame Size:</source>
|
||||
<translation>Tamaño de marco:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>byte3s</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Size:</source>
|
||||
<translation>Tamaño de muestra:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/chan/sample</source>
|
||||
<translation>bits/canal/muestra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bit Rate:</source>
|
||||
<translation>Tasa de Bit:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/sec</source>
|
||||
<translation>bits/seg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Codec Mode(s): </source>
|
||||
<translation>Modo(s) de Codec: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo </source>
|
||||
<translation>Estéreo </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>JointStereo </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DualChannel </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SingleChannel </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation>Ninguno</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>50/15 ms</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserved</source>
|
||||
<translation>Reservado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CCITT J.17</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation>Desconocido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags: </source>
|
||||
<translation>Banderas: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private </source>
|
||||
<translation>Privado</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Home </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG </source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FMT Chunk</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Data Size:</source>
|
||||
<translation>Tamaño de datos:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes</source>
|
||||
<translation>bytes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DATA Chunk</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples</source>
|
||||
<translation>muestras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TITLE: </source>
|
||||
<translation>TÍTULO: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ARTIST: </source>
|
||||
<translation>ARTISTA: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CUT ID: </source>
|
||||
<translation>ID AUDIO: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLIENT ID: </source>
|
||||
<translation>ID CLIENTE: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CATEGORY: </source>
|
||||
<translation>CATEGORÍA: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLASSIFICATION: </source>
|
||||
<translation>CLASIFICACIÓN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUT CUE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START DATE: </source>
|
||||
<translation>FECHA INICIO:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START TIME: </source>
|
||||
<translation>HORA INICIO: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END DATE: </source>
|
||||
<translation>FECHA FIN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END TIME: </source>
|
||||
<translation>HORA FIN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER ID: </source>
|
||||
<translation>ID PRODUCTOR: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER VERSION: </source>
|
||||
<translation>VERSIÓN DEL PRODUCTOR: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>USER DEFINED: </source>
|
||||
<translation>DEFINIDO POR USUARIO: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVEL REFERENCE:</source>
|
||||
<translation>NIVEL DE REFERENCIA: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dB</source>
|
||||
<translation>dB</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undefined</source>
|
||||
<translation>Indefinido</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL: </source>
|
||||
<translation>URL: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART TIMER(S): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TAG TEXT: </source>
|
||||
<translation>TEXTO ETIQ: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DESCRIPTION: </source>
|
||||
<translation>DESCRIPCIÓN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR: </source>
|
||||
<translation>ORIGEN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR REFERENCE: </source>
|
||||
<translation>REFERENCIA DEL ORIGEN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION DATE: </source>
|
||||
<translation>FECHA DE ORIGEN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION TIME: </source>
|
||||
<translation>HORA DE ORIGEN: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VERSION:</source>
|
||||
<translation>VERSION: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CODING HISTORY: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Data Composition: </source>
|
||||
<translation>Composición de datos MPEG: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Homogenous</source>
|
||||
<translation>Homogéneo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is active.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is inactive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The bit rate is non-standard.</source>
|
||||
<translation>La tasa de bits no es estándar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non-homogenous</source>
|
||||
<translation>No homogéneo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Free Format</source>
|
||||
<translation>Formato MPEG: formato libre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Constant Bit Rate</source>
|
||||
<translation>Formato MPEG: Tasa de bit constante</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Frame Size:</source>
|
||||
<translation>Tamaño frame MPEG:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Bytes:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Data: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> LeftEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> RightEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> PrivateData</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version: </source>
|
||||
<translation>Versión: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Samples per Peak: </source>
|
||||
<translation>Muestras por pico: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Channels: </source>
|
||||
<translation>Canales de muestra: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overall Peak: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dBFS</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Timestamp: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVL Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chunks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDChunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file!</source>
|
||||
<translation type="unfinished">¡No pude abrir el archivo!</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
373
utils/rdchunk/rdchunk_fr.ts
Normal file
373
utils/rdchunk/rdchunk_fr.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<!DOCTYPE TS><TS>
|
||||
<context>
|
||||
<name>MainWidget</name>
|
||||
<message>
|
||||
<source>Load</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RHPIPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: PCM</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Linear</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: MPEG Layer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: OggVorbis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: Unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channels:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Average Data Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Frame Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>byte3s</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/chan/sample</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bit Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Codec Mode(s): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>JointStereo </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DualChannel </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SingleChannel </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>50/15 ms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserved</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CCITT J.17</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Home </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FMT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Data Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DATA Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TITLE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ARTIST: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CUT ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLIENT ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CATEGORY: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLASSIFICATION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUT CUE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER VERSION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>USER DEFINED: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVEL REFERENCE:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dB</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undefined</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART TIMER(S): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TAG TEXT: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DESCRIPTION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR REFERENCE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VERSION:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CODING HISTORY: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Data Composition: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Homogenous</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is active.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is inactive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The bit rate is non-standard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non-homogenous</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Free Format</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Constant Bit Rate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Frame Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Bytes:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Data: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> LeftEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> RightEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> PrivateData</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Samples per Peak: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Channels: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overall Peak: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dBFS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Timestamp: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVL Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chunks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDChunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
373
utils/rdchunk/rdchunk_pt_BR.ts
Normal file
373
utils/rdchunk/rdchunk_pt_BR.ts
Normal file
@@ -0,0 +1,373 @@
|
||||
<!DOCTYPE TS><TS>
|
||||
<context>
|
||||
<name>MainWidget</name>
|
||||
<message>
|
||||
<source>Load</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chunks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RHPIPlay</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RDChunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open file!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: PCM</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Linear</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: MPEG Layer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: OggVorbis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format: Unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Channels:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Average Data Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Frame Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>byte3s</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/chan/sample</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bit Rate:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bits/sec</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Codec Mode(s): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stereo </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>JointStereo </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DualChannel </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SingleChannel </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>50/15 ms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserved</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CCITT J.17</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Private </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copyright </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Home </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FMT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Data Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>bytes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DATA Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>samples</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TITLE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ARTIST: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CUT ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLIENT ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CATEGORY: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CLASSIFICATION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OUT CUE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>START TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>END TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER ID: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PRODUCER VERSION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>USER DEFINED: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVEL REFERENCE:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dB</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Undefined</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART TIMER(S): </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TAG TEXT: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CART Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DESCRIPTION: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATOR REFERENCE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION DATE: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ORIGINATION TIME: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VERSION:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CODING HISTORY: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Data Composition: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Homogenous</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is active.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The padding bit is inactive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The bit rate is non-standard.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non-homogenous</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Free Format</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Format: Constant Bit Rate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MPEG Frame Size:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Bytes:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ancillary Data: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> LeftEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> RightEnergy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> PrivateData</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MEXT Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Version: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Samples per Peak: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sample Channels: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overall Peak: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>dBFS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Timestamp: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LEVL Chunk</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
Reference in New Issue
Block a user