# HG changeset patch # User Chris Cannam # Date 1173287222 0 # Node ID 99d65ba33c880f40f42167cc8e3598755e99ec77 # Parent c9930ec7a3f9aab71d277eac6cfd76edc7391ad8 * More useful status bar text -- show the current play time and the extents of the visible area * Add update-i18n.sh to update the i18n/ts and qm files -- I can't get qmake to do the right thing now that the project file has been split up into several project files * Fix missing Q_OBJECTs, etc, reported by lupdate * Update Russian translation from AlexandrE diff -r c9930ec7a3f9 -r 99d65ba33c88 audioio/AudioCallbackPlaySource.h --- a/audioio/AudioCallbackPlaySource.h Mon Mar 05 15:32:55 2007 +0000 +++ b/audioio/AudioCallbackPlaySource.h Wed Mar 07 17:07:02 2007 +0000 @@ -97,6 +97,11 @@ virtual size_t getCurrentPlayingFrame(); /** + * Return the frame at which playback is expected to end (if not looping). + */ + virtual size_t getPlayEndFrame() { return m_lastModelEndFrame; } + + /** * Set the block size of the target audio device. This should * be called by the target class. */ diff -r c9930ec7a3f9 -r 99d65ba33c88 document/Document.cpp --- a/document/Document.cpp Mon Mar 05 15:32:55 2007 +0000 +++ b/document/Document.cpp Wed Mar 07 17:07:02 2007 +0000 @@ -643,7 +643,7 @@ m_d(d), m_view(view), m_layer(layer), - m_name(d->tr("Add %1 Layer").arg(layer->objectName())), + m_name(qApp->translate("Add %1 Layer").arg(layer->objectName())), m_added(false) { } @@ -691,7 +691,7 @@ m_d(d), m_view(view), m_layer(layer), - m_name(d->tr("Delete %1 Layer").arg(layer->objectName())), + m_name(qApp->translate("Delete %1 Layer").arg(layer->objectName())), m_added(true) { } diff -r c9930ec7a3f9 -r 99d65ba33c88 document/Document.h --- a/document/Document.h Mon Mar 05 15:32:55 2007 +0000 +++ b/document/Document.h Wed Mar 07 17:07:02 2007 +0000 @@ -129,6 +129,11 @@ */ WaveFileModel *getMainModel() { return m_mainModel; } + /** + * Get the main model (the source for playback sample rate, etc). + */ + const WaveFileModel *getMainModel() const { return m_mainModel; } + std::vector getTransformInputModels(); /** diff -r c9930ec7a3f9 -r 99d65ba33c88 i18n/sonic-visualiser_ru.qm Binary file i18n/sonic-visualiser_ru.qm has changed diff -r c9930ec7a3f9 -r 99d65ba33c88 i18n/sonic-visualiser_ru.ts --- a/i18n/sonic-visualiser_ru.ts Mon Mar 05 15:32:55 2007 +0000 +++ b/i18n/sonic-visualiser_ru.ts Wed Mar 07 17:07:02 2007 +0000 @@ -6,8 +6,28 @@ Введите новое значение - Select a new value in the range %1 to %2: - Выберите новое значение в диапазоне от %1 до %2: + %1: %2%3 + %1: %2%3 + + + %2%3 + %2%3 + + + New value for %1, from %2 to %3 %4: + Новое значение для %1, от %2 до %3 %4: + + + New value for %1, from %2 to %3: + Новое значение для %1, от %2 до %3: + + + Enter a new value from %1 to %2 %3: + Введите новое значение от %1 до %2 %3: + + + Enter a new value from %1 to %2: + Введите новое значение от %1 до %2: @@ -155,12 +175,95 @@ Bin:%3 Значение:%4 + + Linear + Линейный + + + dB + Дб + + + <unknown> + <неизвестно> + + + Colour + Цвет + + + Scale + Масштаб + + + Normalize Columns + + + + Normalize Visible Area + Нормализовать видимую область + + + Log + Логарифм. + + + +/-1 + + + + + ColourMapper + + <unknown> + <неизвестно> + + + Default + По умолчанию + + + White on Black + Белое на чёрном + + + Black on White + Чёрное на белом + + + Red on Blue + Красное на синем + + + Yellow on Black + Жёлтое на чёрном + + + Blue on Black + Синее на чёрном + + + Sunset + + + + Fruit Salad + Фруктовый салат + + + Banded + + + + Highlight + + CommandHistory &Undo - + &Отменить Ctrl+Z @@ -168,7 +271,7 @@ Re&do - + Ве&рнуть Ctrl+Shift+Z @@ -184,10 +287,18 @@ &Undo %1 - + &Отменить %1 Re&do %1 + Ве&рнуть %1 + + + Undo the last editing operation + + + + Redo the last operation that was undone @@ -195,14 +306,21 @@ Document::AddLayerCommand Add %1 Layer - Добавить %1 слой + Добавить %1 слой Document::RemoveLayerCommand Delete %1 Layer - Удалить %1 слой + Удалить %1 слой + + + + FFTModel + + %1 Hz + %1 Гц @@ -215,954 +333,53 @@ Level: %1%2.%3%4 dB Уровень: %1%2.%3%4 Дб + + Enter new fader level + + + + New fader level, from %1 to %2 dBFS: + + - ItemEditDialog - - Timing - Тайминг - - - Time: - Время: - - - frames - выборок - - - sec - с - - - usec - мс - - - Duration: - Длительность: - - - Properties - Свойства - - - Value: - Значение: - - - Text: - Текст: - - - OK - ОК - - - Reset - Сбросить - - - Cancel - Отменить + FeatureExtractionPluginTransform + + FFT cache failed + + + + Failed to create the FFT model for this transform. +There may be insufficient memory or disc space to continue. + - Layer - - Waveform - Волновая форма - - - Spectrogram - Спектрограмма - - - Ruler - Линейка - - - Time Instants - Моменты времени - - - Time Values - Значения времени - - - Notes - Ноты - - - Text - Текст - - - Colour 3D Plot - Цветной 3D-график - - - Layer - Слой - - - - LayerTreeModel - - Layer - Слой - - - Model - Модель - - - - MIDIFileReader - - Wrong length for long data in MIDI stream (%1, should be %2) - - - - Wrong length for int data in MIDI stream (%1, should be %2) - - - - getMIDIByte called but no MIDI file open - - - - End of MIDI file encountered while reading - - - - Attempt to get more bytes than expected on Track - - - - Attempt to read past MIDI file end - - - - getMIDIBytes called but no MIDI file open - - - - Attempt to get more bytes than available on Track (%1, only have %2) - - - - getNumberFromMIDIBytes called but no MIDI file open - - - - skipToNextTrack called but no MIDI file open - - - - Invalid event code %1 found - - - - Running status used for first event in track - - - - No notes in MIDI file - - - - MIDI file "%1" has no notes in any track - - - - Merge all tracks - - - - Merge all non-percussion tracks - - - - - uses GM percussion channel - - - - Track %1 (%2)%3 - - - - Track %1 (untitled)%3 - - - - Select track or tracks to import - - - - You can only import this file as a single annotation layer, -but the file contains more than one track, -or notes on more than one channel. - -Please select the track or merged tracks you wish to import: - - - - %1 - vel %2 - - - - - MainWindow - - Sonic Visualiser - Sonic Visualiser - - - Playback speed: Full - Скорость воспроизведения: нормальная - - - &Layer - С&лой - - - &File - &Файл - - - File Toolbar - - - - &New Session - &Создать сессию - - - Ctrl+N - Ctrl+N - - - Clear the current Sonic Visualiser session and start a new one - - - - &Open Session... - &Открыть сессию... - - - Ctrl+O - Ctrl+O - - - Open a previously saved Sonic Visualiser session file - - - - &Open... - О&ткрыть... - - - Open a session file, audio file, or layer - - - - &Save Session - Сохр&анить сессию - - - Ctrl+S - Ctrl+S - - - Save the current session into a Sonic Visualiser session file - - - - Save Session &As... - - - - Save the current session into a new Sonic Visualiser session file - - - - &Import Audio File... - &Импортировать звуковой файл... - - - Ctrl+I - Ctrl+I - - - Import an existing audio file - - - - Import Secondary Audio File... - Импортировать второй звуковой файл... - - - Ctrl+Shift+I - Ctrl+Shift+I - - - Import an extra audio file as a separate layer - - - - &Export Audio File... - Э&кспортировать звуковой файл... - - - Export selection as an audio file - - - - Import Annotation &Layer... - И&мпортировать слой аннтоаций... - - - Ctrl+L - Ctrl+L - - - Import layer data from an existing file - - - - Export Annotation Layer... - Экспортировать слой аннотаций... - - - Export layer data to a file - - - - &Quit - Вы&йти - - - Ctrl+Q - Ctrl+Q - - - &Edit - &Правка - - - Cu&t - &Вырезать - - - Ctrl+X - Ctrl+X - - - &Copy - С&копировать - - - Ctrl+C - Ctrl+C - - - &Paste - Вст&авить - - - Ctrl+V - Ctrl+V - - - &Delete Selected Items - &Удалить выбранное - - - Del - Del - - - Select &All - В&ыделить всё - - - Ctrl+A - Ctrl+A - - - Select &Visible Range - Вы&делить всё видимое - - - Ctrl+Shift+A - Ctrl+Shift+A - - - Select to &Start - Выделить до &начала - - - Shift+Left - Shift+Left - - - Select to &End - Выделить до &конца - - - Shift+Right - Shift+Right - - - C&lear Selection - Сн&ять выделение - - - Esc - Esc - - - &Insert Instant at Playback Position - - - - Enter - - - - &View - &Вид - - - &No Text Overlays - - - - 0 - - - - Show no texts for frame times, layer names etc - - - - Basic &Text Overlays - - - - 9 - - - - Show texts for frame times etc, but not layer names etc - - - - &All Text Overlays - - - - 8 - - - - Show texts for frame times, layer names etc - - - - Scroll &Left - - - - Left - - - - Scroll the current pane to the left - - - - Scroll &Right - - - - Right - - - - Scroll the current pane to the right - - - - Jump Left - - - - Ctrl+Left - - - - Scroll the current pane a big step to the left - - - - Jump Right - - - - Ctrl+Right - - - - Scroll the current pane a big step to the right - - - - Zoom &In - - - - Up - - - - Increase the zoom level - - - - Zoom &Out - - - - Down - - - - Decrease the zoom level - - - - Restore &Default Zoom - - - - Zoom to &Fit - - - - Zoom to show the whole file - - - - &Pane - П&анель - - - Add &New Pane - - - - Alt+N - - - - Add a new pane containing only a time ruler - - - - Add New %1 Layer - - - - Add a new empty layer of type %1 - - - - Alt+T - - - - Add &Waveform - - - - Alt+W - - - - Add a new pane showing a waveform view - - - - Add a new layer showing a waveform view - - - - Add &Spectrogram - - - - Alt+S - - - - Add a new pane showing a dB spectrogram - - - - Add a new layer showing a dB spectrogram - - - - Add &Melodic Range Spectrogram - - - - Alt+M - - - - Add a new pane showing a spectrogram set up for a pitch overview - - - - Add a new layer showing a spectrogram set up for a pitch overview - - - - Add &Peak Frequency Spectrogram - - - - Alt+P - - - - Add a new pane showing a spectrogram set up for tracking frequencies - - - - Add a new layer showing a spectrogram set up for tracking frequencies - - - - &All Channels Mixed - - - - &All Channels - - - - Channel &%1 - - - - &Delete Pane - - - - Alt+D - - - - Delete the currently selected pane - - - - Add &Time Ruler - - - - Add a new layer showing a time ruler - - - - Add &Existing Layer - - - - &Rename Layer... - - - - Alt+R - - - - Rename the currently active layer - - - - &Delete Layer - - - - Alt+Shift+D - - - - Delete the currently active layer - - - - &Help - &Справка - - - &Help Reference - - - - Open the Sonic Visualiser reference manual - - - - Sonic Visualiser on the &Web - - - - Open the Sonic Visualiser website - - - - &About Sonic Visualiser - - - - Show information about Sonic Visualiser - - - - Transport Toolbar - - - - Rewind to Start - - - - Home - - - - Rewind to the start - - - - Rewind - - - - PageUp - - - - Rewind to the previous time instant in the current layer - - - - Play / Pause - - - - Space - - - - Start or stop playback from the current position - - - - Fast Forward - - - - PageDown - - - - Fast forward to the next time instant in the current layer - - - - Fast Forward to End - - - - End - - - - Fast-forward to the end - - - - Play Mode Toolbar - - - - Constrain Playback to Selection - - - - s - - - - Constrain playback to the selected area - - - - Loop Playback - - - - l - - - - Loop playback - - - - Edit Toolbar - - - - Tools Toolbar - - - - Navigate - - - - 1 - - - - Select - Выделить - - - 2 - - - - Edit - - - - 3 - - - - Draw - - - - 4 - - - - No audio file loaded. - - - - %1Hz (resampling to %2Hz) - - - - %1 (modified) - - - - (modified) - - - - Cut - - - - Add Point - - - - Add Points - - - - Select an audio file + FileFinder + + Select file + Выберите файл + + + All files (*.*) + + + + Select a session file + + + + Sonic Visualiser session files (*.sv) +All files (*.*) Audio files (%1) All files (*.*) - Щвуковые файлы (%1) + Звуковые файлы (%1) Все файлы (*.*) - Failed to open file - Не удалось открыть файл - - - Audio file "%1" could not be opened - - - - Select a file to export to - - - - WAV audio files (*.wav) -All files (*.*) - - - - Export the selected region only - - - - Export the whole audio file - - - - Select region to export - - - - Which region from the original audio file do you want to export? - - - - Export the selected regions into a single audio file - - - - Export the selected regions into separate files - - - - Multiple regions of the original audio file are selected. -What do you want to export? - - - - Fragment file %1 already exists, aborting - - - - Failed to write file - - - - Select file - - - All supported files (%1) Sonic Visualiser Layer XML files (*.svl) Comma-separated data files (*.csv) @@ -1170,78 +387,23 @@ MIDI files (*.mid) Text files (*.txt) All files (*.*) - - - - File %1 could not be opened. - - - - Sonic Visualiser Layer XML files (*.svl) -Comma-separated data files (*.csv) -Text files (*.txt) + Все поддерживаемые типы файлов (%1) +XML-файлы слоёв Sonic Visualiser (*.svl) +Разделённые запятой файлы данных (*.csv) +Разделённые пробелом файлы .lab (*.lab) +MIDI-файлы (*.mid) +Текстовые файлы (*.txt) +Все файлы (*.*) + + + All supported files (*.sv %1) +Sonic Visualiser session files (*.sv) +Audio files (%1) All files (*.*) - - - - Failed to open file %1 for writing - Не удалось открыть файл %1 для записи - - - Replace the existing main waveform - - - - Load this file into a new waveform pane - - - - Select target for import - - - - You already have an audio waveform. -What would you like to do with the new audio file? - - - - Sonic Visualiser: %1 - - - - Sonic Visualiser: %1 [%2] - - - - Import "%1" - - - - Couldn't open audio device - - - - Could not open an audio device for playback. -Audio playback will not be available during this session. - - - - - Select a session file - - - - Sonic Visualiser session files (*.sv) -All files (*.*) - - - - File "%1" does not exist or is not a readable file - - - - Session file "%1" could not be opened - + All supported files (*.sv %1) +Sonic Visualiser session files (*.sv) +Audio files (%1) +All files (*.*) All supported files (*.sv %1 %2) @@ -1249,93 +411,1207 @@ Audio files (%1) Layer files (%2) All files (*.*) - + All supported files (*.sv %1 %2) +Sonic Visualiser session files (*.sv) +Audio files (%1) +Layer files (%2) +All files (*.*) + + + File does not exist + + + + File "%1" does not exist + Файл "%1" не существует + + + File is not readable + + + + File "%1" can not be read + + + + Directory selected + Выбран каталог + + + File "%1" is a directory + Файл "%1" является каталогом + + + Non-file selected + + + + Path "%1" is not a file + + + + File is empty + + + + File "%1" is empty + + + + Select a file to export to + + + + WAV audio files (*.wav) +All files (*.*) + Звуковые файлы WAV (*.wav) +Все файлы (*.*) + + + Sonic Visualiser Layer XML files (*.svl) +Comma-separated data files (*.csv) +Text files (*.txt) +All files (*.*) + XML-файлы слоёв Sonic Visualiser (*.svl) +Разделённые запятой данные (*.csv) +Текстовые файлы (*.txt) +Все файлы (*.*) + + + File exists + Такой файл уже существует + + + The file "%1" already exists. +Do you want to overwrite it? + Файл "%1" уже существует. +Вы хотите перезаписать его? + + + Audio file "%1" could not be opened. +Do you want to locate it? + + + + File "%1" could not be opened. +Do you want to locate it? + + + + Failed to open file + Не удалось открыть файл + + + Locate file... + + + + Use URL... + + + + Cancel + Отменить + + + Use URL + + + + Please enter the URL to use for this file: + + + + Failed to open location + + + + URL "%1" could not be opened + + + + + ItemEditDialog + + Timing + Тайминг + + + Time: + Время: + + + frames + выборок + + + sec + с + + + usec + мс + + + Duration: + Длительность: + + + Properties + Свойства + + + Value: + Значение: + + + Text: + Текст: + + + OK + ОК + + + Reset + Сбросить + + + Cancel + Отменить + + + + Layer + + Waveform + Волновая форма + + + Spectrogram + Спектрограмма + + + Ruler + Линейка + + + Time Instants + Моменты времени + + + Time Values + Значения времени + + + Notes + Ноты + + + Text + Текст + + + Colour 3D Plot + Цветной 3D-график + + + Layer + Слой + + + Spectrum + Спектр + + + Time Slice + + + + + LayerTreeModel + + Layer + Слой + + + Model + Модель + + + + ListInputDialog + + OK + ОК + + + Cancel + Отменить + + + + MIDIFileReader + + Wrong length for long data in MIDI stream (%1, should be %2) + + + + Wrong length for int data in MIDI stream (%1, should be %2) + + + + getMIDIByte called but no MIDI file open + + + + End of MIDI file encountered while reading + + + + Attempt to get more bytes than expected on Track + + + + Attempt to read past MIDI file end + + + + getMIDIBytes called but no MIDI file open + + + + Attempt to get more bytes than available on Track (%1, only have %2) + + + + getNumberFromMIDIBytes called but no MIDI file open + + + + skipToNextTrack called but no MIDI file open + + + + Invalid event code %1 found + + + + Running status used for first event in track + + + + No notes in MIDI file + В MIDI-файле нет нот + + + MIDI file "%1" has no notes in any track + + + + Merge all tracks + Объединить все дорожки + + + Merge all non-percussion tracks + Объединить все неперкуссионные дорожки + + + - uses GM percussion channel + — использует канал перкуссии GM + + + Track %1 (%2)%3 + Дорожка %1 (%2)%3 + + + Track %1 (untitled)%3 + Дорожка %1 (без имени)%3 + + + Select track or tracks to import + Выберите одну или несколько дорожек для импорта + + + You can only import this file as a single annotation layer, +but the file contains more than one track, +or notes on more than one channel. + +Please select the track or merged tracks you wish to import: + + + + %1 - vel %2 + + + + + MainWindow + + Sonic Visualiser + Sonic Visualiser + + + &Layer + С&лой + + + &File + &Файл + + + File Toolbar + + + + &New Session + &Создать сессию + + + Ctrl+N + Ctrl+N + + + Clear the current Sonic Visualiser session and start a new one + Очистить текущую сессию Sonic Visualiser и начать новую + + + &Open Session... + &Открыть сессию... + + + Ctrl+O + Ctrl+O + + + Open a previously saved Sonic Visualiser session file + Открыть файл сохранённой ранее сессии Sonic Visualiser + + + &Open... + О&ткрыть... + + + Open a session file, audio file, or layer + Открыть файл сессии, звуковой файл или слой + + + &Save Session + Сохр&анить сессию + + + Ctrl+S + Ctrl+S + + + Save the current session into a Sonic Visualiser session file + Сохранить в файл текущую сессию Sonic Visualiser + + + Save Session &As... + Сохранить сессию &как... + + + Save the current session into a new Sonic Visualiser session file + Сохранить текущую сессию Sonic Visualiser в файл с другим именем + + + &Import Audio File... + &Импортировать звуковой файл... + + + Ctrl+I + Ctrl+I + + + Import an existing audio file + Импортировать существующий звуковой файл + + + Import Secondary Audio File... + Импортировать второй звуковой файл... + + + Ctrl+Shift+I + Ctrl+Shift+I + + + Import an extra audio file as a separate layer + Импортировать ещё один звуковой файл в отдельный слой + + + &Export Audio File... + Э&кспортировать звуковой файл... + + + Export selection as an audio file + Экспортировать выделенное в звуковой файл + + + Import Annotation &Layer... + И&мпортировать слой аннотаций... + + + Ctrl+L + Ctrl+L + + + Import layer data from an existing file + Импортировать данные слоя из существующего файла + + + Export Annotation Layer... + Экспортировать слой аннотаций... + + + Export layer data to a file + Экспортировать данные слоя в файл + + + &Quit + Вы&йти + + + Ctrl+Q + Ctrl+Q + + + &Edit + &Правка + + + Cu&t + &Вырезать + + + Ctrl+X + Ctrl+X + + + &Copy + С&копировать + + + Ctrl+C + Ctrl+C + + + &Paste + Вст&авить + + + Ctrl+V + Ctrl+V + + + &Delete Selected Items + &Удалить выбранное + + + Del + Del + + + Select &All + В&ыделить всё + + + Ctrl+A + Ctrl+A + + + Select &Visible Range + Вы&делить всё видимое + + + Ctrl+Shift+A + Ctrl+Shift+A + + + Select to &Start + Выделить до &начала + + + Shift+Left + Shift+Left + + + Select to &End + Выделить до &конца + + + Shift+Right + Shift+Right + + + C&lear Selection + Сн&ять выделение + + + Esc + Esc + + + &Insert Instant at Playback Position + + + + Enter + + + + &View + &Вид + + + 0 + 0 + + + 9 + 9 + + + 8 + 8 + + + Scroll &Left + + + + Left + Влево + + + Scroll the current pane to the left + + + + Scroll &Right + + + + Right + Вправо + + + Scroll the current pane to the right + + + + Ctrl+Left + Ctrl+Влево + + + Scroll the current pane a big step to the left + + + + Ctrl+Right + Ctrl+Вправо + + + Scroll the current pane a big step to the right + + + + Zoom &In + + + + Up + Вверх + + + Increase the zoom level + + + + Zoom &Out + + + + Down + Вниз + + + Decrease the zoom level + + + + Restore &Default Zoom + + + + Zoom to &Fit + + + + Zoom to show the whole file + + + + &Pane + П&анель + + + Add &New Pane + + + + Alt+N + + + + Add a new pane containing only a time ruler + + + + Add New %1 Layer + + + + Add a new empty layer of type %1 + + + + Alt+T + + + + Add &Waveform + + + + Alt+W + + + + Add a new pane showing a waveform view + + + + Add a new layer showing a waveform view + + + + Add &Spectrogram + + + + Alt+S + + + + Add a new pane showing a dB spectrogram + Добавить новую панель со спектрограммой в Дб + + + Add &Melodic Range Spectrogram + + + + Alt+M + + + + Add &Peak Frequency Spectrogram + + + + Alt+P + + + + Add a new pane showing a spectrogram set up for tracking frequencies + + + + Add a new layer showing a spectrogram set up for tracking frequencies + + + + &All Channels Mixed + + + + &All Channels + + + + Channel &%1 + Канал &%1 + + + &Delete Pane + + + + Alt+D + + + + Delete the currently selected pane + Удалить активную панель + + + Add &Time Ruler + + + + Add a new layer showing a time ruler + Добавить новый слой с линейкой + + + Add &Existing Layer + + + + &Rename Layer... + + + + Alt+R + + + + Rename the currently active layer + Переименовать активный слой + + + &Delete Layer + + + + Alt+Shift+D + Alt+Shift+D + + + Delete the currently active layer + Удалить активный слой + + + &Help + &Справка + + + &Help Reference + + + + Open the Sonic Visualiser reference manual + Открыть справку по Sonic Visualiser + + + Sonic Visualiser on the &Web + Sonic Visualiser в &Интернете + + + Open the Sonic Visualiser website + Открыть веб-сайт Sonic Visualiser + + + &About Sonic Visualiser + &О Sonic Visualiser + + + Show information about Sonic Visualiser + Показать информацию о Sonic Visualiser + + + Transport Toolbar + Панель транспорта + + + Rewind to Start + Перемотать в начало + + + Home + Домой + + + Rewind to the start + Перемотать в начало + + + Rewind + Назад + + + PageUp + + + + Rewind to the previous time instant in the current layer + + + + Play / Pause + + + + Space + Пробел + + + Start or stop playback from the current position + + + + Fast Forward + Вперёд + + + PageDown + + + + Fast forward to the next time instant in the current layer + + + + Fast Forward to End + Перемотать до конца + + + End + Конец + + + Fast-forward to the end + + + + Play Mode Toolbar + Панель режима воспроизведения + + + Constrain Playback to Selection + Ограничить воспроизведение выделением + + + s + с + + + Constrain playback to the selected area + Ограничить воспроизведение выделенной областью + + + Loop Playback + Воспроизведение в цикле + + + l + + + + Loop playback + Воспроизведение в цикле + + + Edit Toolbar + Панель правки + + + Tools Toolbar + Панель инструментов + + + Navigate + + + + 1 + 1 + + + Select + Выделить + + + 2 + 2 + + + Edit + + + + 3 + 3 + + + Draw + + + + 4 + 4 + + + No audio file loaded. + + + + %1Hz (resampling to %2Hz) + + + + %1 (modified) + + + + (modified) + + + + Cut + + + + Add Point + Добавить точку + + + Add Points + Добавить точки + + + Select an audio file + Выбрать звуковой файл + + + Audio files (%1) +All files (*.*) + Звуковые файлы (%1) +Все файлы (*.*) + + + Failed to open file + Не удалось открыть файл + + + Audio file "%1" could not be opened + Не удалось открыть звуковой файл "%1" + + + WAV audio files (*.wav) +All files (*.*) + Звуковые файлы WAV (*.wav) +Все файлы (*.*) + + + Export the selected region only + Экспортировать только выделенную область + + + Export the whole audio file + Экспортировать весь звуковой файл + + + Select region to export + Выделите область для экспорта + + + Which region from the original audio file do you want to export? + + + + Export the selected regions into a single audio file + + + + Export the selected regions into separate files + + + + Multiple regions of the original audio file are selected. +What do you want to export? + Выбрано несколько областей исходного звукового файла. +Какую из них вы хотите экспортировать? + + + Fragment file %1 already exists, aborting + + + + Failed to write file + Не удалось записать файл + + + Select file + Выберите файл + + + All supported files (%1) +Sonic Visualiser Layer XML files (*.svl) +Comma-separated data files (*.csv) +Space-separated .lab files (*.lab) +MIDI files (*.mid) +Text files (*.txt) +All files (*.*) + Все поддерживаемые типы файлов (%1) +XML-файлы слоёв Sonic Visualiser (*.svl) +Разделённые запятой файлы данных (*.csv) +Разделённые пробелом файлы .lab (*.lab) +MIDI-файлы (*.mid) +Текстовые файлы (*.txt) +Все файлы (*.*) + + + File %1 could not be opened. + Не удалось открыть файл %1. + + + Sonic Visualiser Layer XML files (*.svl) +Comma-separated data files (*.csv) +Text files (*.txt) +All files (*.*) + XML-файлы слоёв Sonic Visualiser (*.svl) +Разделённые запятой данные (*.csv) +Текстовые файлы (*.txt) +Все файлы (*.*) + + + Failed to open file %1 for writing + Не удалось открыть файл %1 для записи + + + Replace the existing main waveform + + + + Load this file into a new waveform pane + + + + Select target for import + + + + Sonic Visualiser: %1 + Sonic Visualiser: %1 + + + Sonic Visualiser: %1 [%2] + Sonic Visualiser: %1 [%2] + + + Import "%1" + Импортировать "%1" + + + Couldn't open audio device + Не удалось открыть звуковое устройство + + + Could not open an audio device for playback. +Audio playback will not be available during this session. + + + + + File "%1" does not exist or is not a readable file + Файл "%1" не существует, либо в него нельзя записывать + + + Session file "%1" could not be opened + Не удалось открыть файл сессии "%1" + + + All supported files (*.sv %1 %2) +Sonic Visualiser session files (*.sv) +Audio files (%1) +Layer files (%2) +All files (*.*) + All supported files (*.sv %1 %2) +Sonic Visualiser session files (*.sv) +Audio files (%1) +Layer files (%2) +All files (*.*) All supported files (*.sv %1) Sonic Visualiser session files (*.sv) Audio files (%1) All files (*.*) - + All supported files (*.sv %1) +Sonic Visualiser session files (*.sv) +Audio files (%1) +All files (*.*) Select a file to open - + Выберите файл для открытия File "%1" could not be opened - Не удалось открыть файл "%1" + Не удалось открыть файл "%1" SV XML file read error: %1 - + Ошибка чтения XML-файла SV: +%1 Session modified - + Сессия изменена The current session has been modified. Do you want to save it? - + Текущая сессия была изменена. +Вы хотите сохранить её? Failed to save file - + Не удалось сохранить файл Session file "%1" could not be saved. - - - - Select a file to save to - + Не удалось сохранить файл сессии "%1". Directory selected - + Выбран каталог File "%1" is a directory - + Файл "%1" является каталогом File exists - + Такой файл уже существует The file "%1" already exists. Do you want to overwrite it? - + Файл "%1" уже существует. +Вы хотите перезаписать его? Failed to write to file "%1": %2 - + Не удалось записать файл "%1": %2 Delete Pane - + Удалить панель Rename Layer - + Переименовать слой New name for this layer: - - - - Playback speed: %1 - - - - Full - + Новое имя этого слоя: Sample rate mismatch - + Несоответствие частоты дискретизации The sample rate of this audio file (%1 Hz) does not match @@ -1346,113 +1622,509 @@ Failed to regenerate layer + Не удалось повторно создать слой + + + http://www.sonicvisualiser.org/ + http://www.sonicvisualiser.org/ + + + http://www.sonicvisualiser.org/doc/reference/en/ + http://www.sonicvisualiser.org/doc/reference/en/ + + + Release %1 : Revision %2 + Версия %1 : Редакция %2 + + + Release %1 + Версия %1 + + + Unreleased : Revision %1 + Не выпущено : редакция %1 + + + <h3>About Sonic Visualiser</h3> + <h3>О программе Sonic Visualiser</h3> + + + <p>%1 : %2 build</p> + <p>%1 : сборка %2</p> + + + Debug + Отладка + + + Release + Версия + + + <p>Statically linked + <p>Статически слинкована + + + <br>With Qt (v%1) &copy; Trolltech AS + <br>С Qt (v%1) &copy; Trolltech AS + + + <br>With JACK audio output (v%1) &copy; Paul Davis and Jack O'Quin + + + + <br>With PortAudio audio output &copy; Ross Bencina and Phil Burk + + + + <br>With Ogg file decoder (oggz v%1, fishsound v%2) &copy; CSIRO Australia + + + + <br>With MAD mp3 decoder (v%1) &copy; Underbit Technologies Inc + + + + <br>With libsamplerate (v%1) &copy; Erik de Castro Lopo + + + + <br>With libsndfile (v%1) &copy; Erik de Castro Lopo + + + + <br>With FFTW3 (v%1) &copy; Matteo Frigo and MIT + + + + <br>With Vamp plugin support (API v%1, SDK v%2) &copy; Chris Cannam + <br>С поддержкой расширений Vamp (API v%1, SDK v%2) &copy; Chris Cannam + + + <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld + <br>С поддержкой расширений LADSPA (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld + + + <br>With DSSI plugin support (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton + <br>С поддержкой расширений DSSI (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton + + + About Sonic Visualiser + О программе Sonic Visualiser + + + Failed to generate layer + Не удалось создать слой + + + Adjust the application preferences + Изменить параметры работы приложения + + + You already have an audio waveform loaded. +What would you like to do with the new audio file? + + + + Sharpen percussive transients + + + + Run time stretcher in mono only + + + + &Recent Files + Н&едавние файлы + + + &Preferences... + &Параметры... + + + ; + ; + + + Show &Zoom Wheels + + + + Z + + + + Show thumbwheels for zooming horizontally and vertically + + + + %1 by Category + + + + Unclassified + + + + %1 by Maker + + + + Unknown + + + + %1 by Plugin Name + + + + %1... + + + + Add Spectr&um + + + + Alt+U + + + + Add a new pane showing a frequency spectrum + + + + Add a new layer showing a frequency spectrum + + + + Playback Speedup + + + + &Transform + + + + %1: %2 + %1: %2 + + + &Recent Transforms + + + + [\(<].*$ + + + + Audio processing overload + + + + Audio effects plugin auditioning has been disabled +due to a processing overload. + + + + Failed to generate a derived layer. + +The layer transform "%1" failed. + +This probably means that a plugin failed to initialise, perhaps because it +rejected the processing block size that was requested. Failed to regenerate derived layer "%1". + The layer transform "%2" failed to run. + This probably means the layer used a plugin that is not currently available. - http://www.sonicvisualiser.org/ - - - - http://www.sonicvisualiser.org/doc/reference/en/ - - - - Release %1 : Revision %2 - - - - Release %1 - - - - Unreleased : Revision %1 - - - - <h3>About Sonic Visualiser</h3> - - - - <p>Sonic Visualiser is a program for viewing and exploring audio data for semantic music analysis and annotation.</p> - - - - <p>%1 : %2 build</p> - - - - Debug - - - - Release - - - - <p>Statically linked - - - - <br>With Qt (v%1) &copy; Trolltech AS - - - - <br>With JACK audio output (v%1) &copy; Paul Davis and Jack O'Quin - - - - <br>With PortAudio audio output &copy; Ross Bencina and Phil Burk - - - - <br>With Ogg file decoder (oggz v%1, fishsound v%2) &copy; CSIRO Australia - - - - <br>With MAD mp3 decoder (v%1) &copy; Underbit Technologies Inc - - - - <br>With libsamplerate (v%1) &copy; Erik de Castro Lopo - - - - <br>With libsndfile (v%1) &copy; Erik de Castro Lopo - - - - <br>With FFTW3 (v%1) &copy; Matteo Frigo and MIT - - - - <br>With Vamp plugin support (API v%1, SDK v%2) &copy; Chris Cannam - - - - <br>With LADSPA plugin support (API v%1) &copy; Richard Furse, Paul Davis, Stefan Westerfeld - - - - <br>With DSSI plugin support (API v%1) &copy; Chris Cannam, Steve Harris, Sean Bolton - - - - About Sonic Visualiser - - - - Failed to generate layer - - - - The layer transform "%1" failed to run. -This probably means that a plugin failed to initialise. + Show Property Bo&xes + + + + X + + + + Show the layer property boxes at the side of the main window + + + + Add %1 Pane + + + + <br>With liblo Lite OSC library (v%1) &copy; Steve Harris + + + + <p>The OSC URL for this instance is: "%1" + + + + Abandon the current Sonic Visualiser session and start a new one + + + + Open Lo&cation... + + + + Ctrl+Shift+O + + + + Open or import a file from a remote URL + + + + Exit Sonic Visualiser + + + + Cut the selection from the current layer to the clipboard + + + + Copy the selection from the current layer to the clipboard + + + + Paste from the clipboard to the current layer + + + + Delete the selection from the current layer + + + + Select the whole duration of the current session + + + + Select the time range corresponding to the current window width + + + + Select from the start of the session to the current playback position + + + + Select from the current playback position to the end of the session + + + + Clear the selection + + + + Insert a new time instant at the current playback position, in a new layer if necessary + + + + Insert Instants at Selection &Boundaries + + + + Shift+Enter + + + + Insert new time instants at the start and end of the current selection, in a new layer if necessary + + + + &Jump Left + + + + J&ump Right + + + + Restore the zoom level to the default + + + + Show &No Overlays + + + + Hide centre indicator, frame times, layer names and scale + + + + Show &Minimal Overlays + + + + Show centre indicator only + + + + Show &Standard Overlays + + + + Show centre indicator, frame times and scale + + + + Show &All Overlays + + + + 7 + 7 + + + Show all texts and scale + + + + Show Status &Bar + + + + Show context help information in the status bar at the bottom of the window + + + + Add a new pane showing a spectrogram + + + + Add a new layer showing a spectrogram + + + + Add a new pane showing a spectrogram set up for an overview of note pitches + + + + Add a new layer showing a spectrogram set up for an overview of note pitches + + + + Delete the currently active pane + + + + Add S&lice of Layer + + + + Select ranges + + + + Edit items in layer + + + + Draw new items in layer + + + + Open Location + + + + Please enter the URL of the location to open: + + + + Failed to open location + + + + URL "%1" could not be opened + + + + Unsupported scheme in URL + + + + The URL scheme "%1" is not supported + + + + File download failed + + + + Failed to download URL "%1": %2 + + + + Playing: %1 of %2 (%3 remaining) + + + + Visible: %1 to %2 (duration %3) + + + + Adjust the master playback level + + + + Adjust the master playback speed + + + + Toggle transient sharpening for playback time scaling + + + + Toggle mono mode for playback time scaling + + + + <p>Sonic Visualiser is a program for viewing and exploring audio data for<br>semantic music analysis and annotation.</p> + + + + <p>%1 : %2 configuration</p> + + + + <br>With JACK audio output &copy; Paul Davis and Jack O'Quin + + + + <br>With Ogg file decoder &copy; CSIRO Australia + + + + <br>With MAD mp3 decoder &copy; Underbit Technologies Inc + + + + <br>With libsamplerate &copy; Erik de Castro Lopo + + + + <br>With libsndfile &copy; Erik de Castro Lopo + + + + <br>With FFTW3 &copy; Matteo Frigo and MIT + + + + <br>With Vamp plugin support (API v%1, host SDK v%2) &copy; Chris Cannam + + + + <br>With liblo Lite OSC library &copy; Steve Harris @@ -1485,10 +2157,6 @@ Верт. масштаб - Pitch Units - Единицы высоты тона - - Black Чёрный @@ -1518,15 +2186,15 @@ Linear Scale - Линейная шкала + Линейная шкала Log Scale - Логарифм. шкала + Логарифм. шкала MIDI Note Range - Диапазон MIDI-нот + Диапазон MIDI-нот <unknown> @@ -1598,6 +2266,33 @@ Scale Units + Единицы шкалы + + + Scale + Масштаб + + + Linear + Линейный + + + Log + Логарифм. + + + MIDI Notes + + + + + Overview + + Overview + Обзор + + + Click and drag to navigate; double-click to jump @@ -1627,11 +2322,72 @@ Resize Selection Изменить выделение - - - Panner - - Panner + + Horizontal Zoom + + + + Vertical Zoom + + + + Enter new range + + + + New vertical display range, from %1 to %2 %4: + + + + Click and drag to navigate + + + + Click and drag to select a range; hold Shift to avoid snapping to items; hold Ctrl for multi-select; middle-click and drag to navigate + + + + Click and drag to select a range; hold Ctrl for multi-select; middle-click and drag to navigate + + + + Click and drag to move the selection boundary + + + + Click and drag to select a range; hold Shift to avoid snapping to items; middle-click to navigate + + + + Click and drag to select a range; middle-click and drag to navigate + + + + Click to add a new item in the active layer + + + + Click and drag an item in the active layer to move it + + + + Click and drag to move all items in the selected range + + + + Click and drag to adjust the visible range of the vertical scale + + + + Click and drag to adjust the vertical zoom level + + + + Click and drag to adjust the horizontal zoom level + + + + Reset horizontal and vertical zoom levels to their defaults @@ -1650,7 +2406,7 @@ PluginParameterDialog Plugin - Расширение + Расширение Name: @@ -1658,7 +2414,7 @@ Type: - Тип: + Тип: Maker: @@ -1686,11 +2442,11 @@ are - + являются is - + является Channels @@ -1725,7 +2481,161 @@ Output: - + Выход: + + + Processing + Идёт обработка + + + Window size: + + + + Audio frames per block: + Выборок звука на блок: + + + Window increment: + + + + Window shape: + + + + Advanced >> + Больше >> + + + Advanced << + Меньше << + + + Input Source + + + + + Preferences + + Frequency of concert A + + + + Property box layout + + + + Spectral analysis window shape + + + + Show boxes for all panes + + + + Show box for current pane only + + + + Rectangular + + + + Triangular + + + + Hamming + + + + Hanning + + + + Blackman + + + + Gaussian + + + + Parzen + + + + Nuttall + + + + Blackman-Harris + + + + Preferences + Настройки + + + Playback resampler type + + + + Fastest + + + + Standard + + + + Highest quality + + + + Spectrogram y-axis smoothing: + + + + None - blocky but accurate + + + + Interpolate - fast but fuzzy + + + + Zero pad FFT - slow but clear + + + + + PreferencesDialog + + Application Preferences + Настройки программы + + + Sonic Visualiser Application Preferences + Настройки программы Sonic Visualiser + + + Apply + Применить + + + %1: + %1: + + + OK + ОК + + + Cancel + Отменить @@ -1739,13 +2649,68 @@ Воспроизвести - Playback Level - Уровень воспр. - - Playback Pan / Balance Панорама/баланс при воспроизведении + + Playback Gain + Усиление воспроизведения + + + dB + Дб + + + (current value: %1%2) + + + + (current value: %1) + + + + Toggle Visibility of %1 + + + + Toggle Playback of %1 + + + + Toggle %1 property of %2 + + + + Adjust %1 property of %2%3 + + + + + PropertyContainer + + yes + + + + on + + + + true + + + + no + + + + off + + + + false + + PropertyContainer::SetPropertyCommand @@ -1755,6 +2720,40 @@ + PropertyStack + + Click to change the current active layer + + + + + QApplication + + FFT cache resize failed + + + + Failed to create or resize an FFT model slice. +There may be insufficient memory or disc space to continue. + + + + +Sonic Visualiser is a program for viewing and exploring audio data +for semantic music analysis and annotation. + +Usage: + + %1 [--no-audio] [--no-osc] [<file> ...] + + --no-audio: Do not attempt to open an audio output device + --no-osc: Do not provide an Open Sound Control port for remote control + <file>: One or more Sonic Visualiser (.sv) and audio files may be provided. + + + + + QFile File "%1" does not exist @@ -1769,12 +2768,12 @@ QFileDialog Locate file "%1" - Найти файл "%1" + Найти файл "%1" Audio files (%1) All files (*.*) - Щвуковые файлы (%1) + Звуковые файлы (%1) Все файлы (*.*) @@ -1787,7 +2786,7 @@ Audio file "%1" could not be opened. Locate it? - Не удалось открыть звуковой файл "%1". + Не удалось открыть звуковой файл "%1". Найти его? @@ -1798,27 +2797,220 @@ QObject - Decoding MP3 file... - Декодируется файл MP3... - - Stop Остановить - Decoding Ogg file... - Декодируется файл Ogg Vorbis... + Decoding %1... + Декодируется %1... + + + + RangeInputDialog + + to + + + + OK + ОК + + + Cancel + Отменить + + + + RemoteFile + + Downloading %1... + + + + Cancel + Отменить + + + Failed to connect to FTP server + + + + Login failed + + + + Failed to change to correct directory + + + + FTP download aborted + + + + Download cancelled + + + + Failed to create local file %1 + + + + File contains no data! + + + + + SliceLayer + + %1 - %2 + %1 - %2 + + + Time:%1 - %2 +Range:%3 samples +Bin:%4 +%5 value:%6 + + + + First + + + + Mean + + + + Peak + + + + Time:%1 - %2 +Range:%3 samples + + + + 0dB + 0 Дб + + + -Inf + -Inf + + + x10 + + + + Colour + Цвет + + + Plot Type + Тип графика + + + Scale + Масштаб + + + Normalize + Нормализовать + + + Gain + Усиление + + + Sampling Mode + + + + Plot X Scale + + + + Black + Чёрный + + + Red + Красный + + + Blue + Синий + + + Green + Зелёный + + + Purple + Пурпурный + + + Orange + Оранжевый + + + Linear + Линейный + + + Meter + + + + dB + Дб + + + Any + + + + Lines + Линии + + + Steps + + + + Blocks + + + + Colours + + + + Linear Bins + + + + Log Bins + + + + Rev Log Bins + + + + <unknown> + <неизвестно> SparseModel Add Point - + Добавить точку Delete Point - + Удалить точку Re-Label Point @@ -1829,19 +3021,15 @@ SpectrogramLayer Colour - Цвет + Цвет Colour Scale - Window Type - - - Window Size - + Размер окна Normalize Columns @@ -1853,23 +3041,23 @@ Threshold - + Порог Gain - + Усиление Colour Rotation - + Вращение цвета Min Frequency - + Мин. частота Max Frequency - + Макс. частота Frequency Scale @@ -1877,47 +3065,43 @@ Window - + Окно Scale - - - - Range - + Масштаб Default - + По умолчанию White on Black - + Белое на чёрном Black on White - + Чёрное на белом Red on Blue - + Красное на синем Yellow on Black - + Жёлтое на чёрном Blue on Black - + Синее на чёрном Fruit Salad - + Фруктовый салат Linear - + Линейный Meter @@ -1925,39 +3109,11 @@ dB - + Дб Phase - - - - Rectangle - - - - Bartlett - - - - Hamming - - - - Hanning - - - - Blackman - - - - Gaussian - - - - Parzen - + Фаза No min @@ -1965,63 +3121,63 @@ 10 Hz - + 10 Гц 20 Hz - + 20 Гц 40 Hz - + 40 Гц 100 Hz - + 100 Гц 250 Hz - + 250 Гц 500 Hz - + 500 Гц 1 KHz - + 1 КГц 4 KHz - + 4 КГц 10 KHz - + 10 КГц 1.5 KHz - + 1,5 КГц 2 KHz - + 2 КГц 6 KHz - + 6 КГц 8 KHz - + 8 КГц 12 KHz - + 12 КГц 16 KHz - + 16 КГц No max @@ -2029,7 +3185,7 @@ Log - + Логарифм. All Bins @@ -2041,21 +3197,21 @@ Frequencies - + Частоты <unknown> - <неизвестно> + <неизвестно> Peak Frequency:%1 - %2 Hz - + Пиковая частота:%1 - %2 Гц Peak Frequency:%1 Hz - + Пиковая частота:%1 Гц Peak Pitch:%3 - %4 @@ -2070,12 +3226,14 @@ Time:%1 - %2 - + Время:%1 - %2 + Time:%1 - + Время:%1 + %1Bin Frequency:%2 - %3 Hz @@ -2091,33 +3249,31 @@ -Inf - + -Inf dB:%1 - %2 - + Дб:%1 - %2 dB:%1 - + Дб:%1 Phase:%1 - %2 - + +Фаза:%1 - %2 Phase:%1 - - - - -90 - + +Фаза:%1 Window Overlap - + Перекрытие окон Smoothing @@ -2125,163 +3281,377 @@ None - + Ничего 25 % - + 25 % 50 % - + 50 % 75 % - + 75 % 87.5 % - + 87,5 % 93.75 % - + 93,75 % + + + Normalize Visible Area + Нормализовать видимую область + + + Bins + + + + dB^2 + Дб^2 + + + FFT cache failed + + + + Failed to create the FFT model for this spectrogram. +There may be insufficient memory or disc space to continue. + + + + dBV^2 + + + + dBV + + + + + SpectrumLayer + + Colour + Цвет + + + Scale + Масштаб + + + Channels + Каналы + + + Window Size + Размер окна + + + Window Overlap + Перекрытие окон + + + Normalize + Нормализовать + + + Gain + Усиление + + + Window + Окно + + + Energy Scale + Масштаб энергии + + + Black + Чёрный + + + Red + Красный + + + Blue + Синий + + + Green + Зелёный + + + Purple + Пурпурный + + + Orange + Оранжевый + + + Linear + Линейный + + + dB + Дб + + + Mean + + + + None + Ничего + + + 25 % + 25 % + + + 50 % + 50 % + + + 75 % + 75 % + + + 87.5 % + 87,5 % + + + 93.75 % + 93,75 % + + + <unknown> + <неизвестно> + + + %1 - %2 + %1 - %2 + + + %1 - %2 Hz + + + + %1 Hz + %1 Гц + + + -Inf + -Inf + + + %1 + %1 + + + %1 +Bin:%2 (%3) +%4 value:%5 +dB:%6 + + + + First + + + + Peak + + + + %1 +Bin:%2 (%3) +Value:%4 +dB:%5 + + + + + SubdividingMenu + + %1 - %2 + %1 - %2 TextLayer Empty Label - + Очистить метку Colour - Цвет + Цвет Black - Чёрный + Чёрный Red - Красный + Красный Blue - Синий + Синий Green - Зелёный + Зелёный Purple - Пурпурный + Пурпурный Orange - Оранжевый + Оранжевый <unknown> - <неизвестно> + <неизвестно> <no text> - + <без текста> In progress - В процессе + В процессе Time:%1 Height:%2 Label:%3 - + Время:%1 +Высота:%2 +Метка:%3 Enter label - + Введите метку Please enter a new label: - + Введите текст новой метки: Drag Label - + Перетащите метку Move Label - + Переместите метку Move Label Horizontally - + Переместите по горизонтали Move Label Vertically - + Переместите по вертикали Drag Selection - Перетащить выделение + Перетащите выделение Resize Selection - + Смените размер выделения Delete Selection - + Удалите выделение Paste - Вставить + Вставить New Point - Новая точка + Новая точка + + + + Thumbwheel + + %1: %2%3 + %1: %2%3 + + + %2%3 + %2%3 + + + New value for %1, from %2 to %3 %4: + Новое значение для %1, от %2 до %3 %4: + + + New value for %1, from %2 to %3: + Новое значение для %1, от %2 до %3: + + + Enter a new value from %1 to %2 %3: + Введите новое значение от %1 до %2 %3: + + + Enter a new value from %1 to %2: + Введите новое значение от %1 до %2: + + + Enter new value + Введите новое значение TimeInstantLayer New Point - Новая точка + Новая точка Colour - Цвет + Цвет Plot Type - + Тип графика Black - Чёрный + Чёрный Red - Красный + Красный Blue - Синий + Синий Green - Зелёный + Зелёный Purple - Пурпурный + Пурпурный Orange - Оранжевый + Оранжевый Instants @@ -2289,53 +3659,55 @@ Segmentation - + Сегментация <unknown> - <неизвестно> + <неизвестно> In progress - В процессе + В процессе No local points - Нет локальных точек + Нет локальных точек Time:%1 No label - + Время:%1 +Без метки Time:%1 Label:%2 - + Время:%1 +Метка:%2 Draw Point - Нарисовать точку + Нарисовать точку Add Point at %1 s - + Добавить точку в %1 с Drag Point - Перетащить точку + Перетащить точку Move Point to %1 s - + Перетащить точку к %1 с Edit Point - Изменить точку + Изменить точку Drag Selection - Перетащить выделение + Перетащить выделение Resize Selection @@ -2343,97 +3715,97 @@ Delete Selection - + Удалить выделение Paste - Вставить + Вставить TimeRulerLayer Colour - Цвет + Цвет Black - Чёрный + Чёрный Red - Красный + Красный Blue - Синий + Синий Green - Зелёный + Зелёный Purple - Пурпурный + Пурпурный Orange - Оранжевый + Оранжевый <unknown> - <неизвестно> + <неизвестно> TimeValueLayer New Point - Новая точка + Новая точка Colour - Цвет + Цвет Plot Type - + Тип графика Vertical Scale - Верт. масштаб + Верт. масштаб Scale Units - + Единицы шкалы Black - Чёрный + Чёрный Red - Красный + Красный Blue - Синий + Синий Green - Зелёный + Зелёный Purple - Пурпурный + Пурпурный Orange - Оранжевый + Оранжевый Points - + Точки Stems @@ -2441,47 +3813,43 @@ Connected Points - + Соединённые точки Lines - + Линии Curve - + Кривая Segmentation - + Сегментация Auto-Align - Автовыравнивание + Автовыравнивание Linear Scale - Линейная шкала + Линейная шкала Log Scale - Логарифм. шкала - - - +/-1 Scale - + Логарифм. шкала <unknown> - <неизвестно> + <неизвестно> In progress - В процессе + В процессе No local points - Нет локальных точек + Нет локальных точек Time:%1 @@ -2497,27 +3865,27 @@ Draw Point - Нарисовать точку + Нарисовать точку Drag Point - Перетащить точку + Перетащить точку Edit Point - Изменить точку + Изменить точку Relocate Point - Переместить точку + Переместить точку Change Point Value - Изменить значение точки + Изменить значение точки Drag Selection - Перетащить выделение + Перетащить выделение Resize Selection @@ -2525,29 +3893,143 @@ Delete Selected Points - Удалить выбранные точки + Удалить выбранные точки Paste - Вставить + Вставить + + + The items you are pasting do not have values. +What values do you want to use for these items? + + + + Some of the items you are pasting do not have values. +What values do you want to use for these items? + + + + Zero for all items + + + + Whole numbers counting from 1 + + + + Item's audio sample frame number + + + + Item's time in seconds + + + + Duration from the item to the following item + + + + Tempo in bpm derived from the duration + + + + Value of the nearest existing item + + + + Value extracted from the item's label (where possible) + + + + Choose value calculation + Выбрать вычисление значения + + + Scale + Масштаб + + + Linear + Линейный + + + Log + Логарифм. + + + +/-1 + TransformFactory - Analysis Plugins - - - %1: %2 - + %1: %2 %1: Output %2 - - - - Other Plugins + %1: Выход %2 + + + Analysis + + + + Effects Data + + + + Effects + + + + Generators + + + + %1 <%2> + + + + [\(<].*$ + + + + <unknown maker> + + + + Extract features using "%1" plugin (from %2) + + + + Extract features using "%1" output of "%2" plugin (from %3) + + + + %1 using "%2" plugin (from %3) + + + + %1 using "%2" output of "%3" plugin (from %4) + + + + Extract "%1" data output from "%2" effect plugin (from %3) + + + + Extract data output %1 from "%2" effect plugin (from %3) + + + + Transform audio signal with "%1" effect plugin (from %2) + + + + Generate audio signal using "%1" plugin (from %2) @@ -2571,15 +4053,15 @@ Page - + Страница Off - + Выкл <unknown> - <неизвестно> + <неизвестно> @@ -2597,51 +4079,51 @@ WaveformLayer Colour - Цвет + Цвет Scale - + Масштаб Gain - + Усиление Normalize Visible Area - + Нормализовать видимую область Channels - Каналы + Каналы Black - Чёрный + Чёрный Red - Красный + Красный Blue - Синий + Синий Green - Зелёный + Зелёный Purple - Пурпурный + Пурпурный Orange - Оранжевый + Оранжевый Linear - + Линейный Meter @@ -2649,7 +4131,7 @@ dB - + Дб Separate @@ -2665,49 +4147,62 @@ <unknown> - <неизвестно> + <неизвестно> Time:%1 - %2 - + Время:%1 - %2 Time:%1 - + Time:%1 Level: - + Уровень: Left: - + Левый: Right: - + Правый: Channel %1 - + Канал %1 %1%2 - %3 (%4 dB peak) - + +%1%2 - %3 (пик в %4 Дб) %1%2 (%3 dB peak) - + +%1%2 (пик в %3 Дб) 0dB - + 0 Дб -Inf - + -Inf + + + + WindowShapePreview + + V / time + + + + dB / freq + Дб / частота diff -r c9930ec7a3f9 -r 99d65ba33c88 main/MainWindow.cpp --- a/main/MainWindow.cpp Mon Mar 05 15:32:55 2007 +0000 +++ b/main/MainWindow.cpp Wed Mar 07 17:07:02 2007 +0000 @@ -160,13 +160,13 @@ connect(m_paneStack, SIGNAL(propertyStacksResized()), this, SLOT(propertyStacksResized())); connect(m_paneStack, SIGNAL(contextHelpChanged(const QString &)), - statusBar(), SLOT(showMessage(const QString &))); + this, SLOT(contextHelpChanged(const QString &))); m_overview = new Overview(frame); m_overview->setViewManager(m_viewManager); m_overview->setFixedHeight(40); connect(m_overview, SIGNAL(contextHelpChanged(const QString &)), - statusBar(), SLOT(showMessage(const QString &))); + this, SLOT(contextHelpChanged(const QString &))); m_panLayer = new WaveformLayer; m_panLayer->setChannelMode(WaveformLayer::MergeChannels); @@ -248,6 +248,18 @@ connect(m_viewManager, SIGNAL(outputLevelsChanged(float, float)), this, SLOT(outputLevelsChanged(float, float))); + connect(m_viewManager, SIGNAL(playbackFrameChanged(unsigned long)), + this, SLOT(playbackFrameChanged(unsigned long))); + + connect(m_viewManager, SIGNAL(globalCentreFrameChanged(unsigned long)), + this, SLOT(globalCentreFrameChanged(unsigned long))); + + connect(m_viewManager, SIGNAL(viewCentreFrameChanged(View *, unsigned long)), + this, SLOT(viewCentreFrameChanged(View *, unsigned long))); + + connect(m_viewManager, SIGNAL(viewZoomLevelChanged(View *, unsigned long, bool)), + this, SLOT(viewZoomLevelChanged(View *, unsigned long, bool))); + connect(Preferences::getInstance(), SIGNAL(propertyChanged(PropertyContainer::PropertyName)), this, @@ -1699,15 +1711,17 @@ } void -MainWindow::currentPaneChanged(Pane *) +MainWindow::currentPaneChanged(Pane *p) { updateMenuStates(); + updateVisibleRangeDisplay(p); } void -MainWindow::currentLayerChanged(Pane *, Layer *) +MainWindow::currentLayerChanged(Pane *p, Layer *) { updateMenuStates(); + updateVisibleRangeDisplay(p); } void @@ -2407,6 +2421,13 @@ return m_document->getMainModel(); } +const WaveFileModel * +MainWindow::getMainModel() const +{ + if (!m_document) return 0; + return m_document->getMainModel(); +} + void MainWindow::newSession() { @@ -2418,7 +2439,7 @@ Pane *pane = m_paneStack->addPane(); connect(pane, SIGNAL(contextHelpChanged(const QString &)), - statusBar(), SLOT(showMessage(const QString &))); + this, SLOT(contextHelpChanged(const QString &))); if (!m_timeRulerLayer) { m_timeRulerLayer = m_document->createMainModelLayer @@ -3115,8 +3136,9 @@ MainWindow::play() { if (m_playSource->isPlaying()) { - m_playSource->stop(); + stop(); } else { + playbackFrameChanged(m_viewManager->getPlaybackFrame()); m_playSource->play(m_viewManager->getPlaybackFrame()); } } @@ -3187,6 +3209,13 @@ MainWindow::stop() { m_playSource->stop(); + + if (m_paneStack && m_paneStack->getCurrentPane()) { + updateVisibleRangeDisplay(m_paneStack->getCurrentPane()); + } else { + m_myStatusMessage = ""; + statusBar()->showMessage(""); + } } void @@ -3313,7 +3342,7 @@ m_pane = m_mw->m_paneStack->addPane(); connect(m_pane, SIGNAL(contextHelpChanged(const QString &)), - m_mw->statusBar(), SLOT(showMessage(const QString &))); + m_mw, SLOT(contextHelpChanged(const QString &))); } else { m_mw->m_paneStack->showPane(m_pane); } @@ -3612,6 +3641,94 @@ } void +MainWindow::playbackFrameChanged(unsigned long frame) +{ + if (!(m_playSource && m_playSource->isPlaying()) || !getMainModel()) return; + + RealTime now = RealTime::frame2RealTime + (frame, getMainModel()->getSampleRate()); + + if (now.sec == m_lastPlayStatusSec) return; + + RealTime then = RealTime::frame2RealTime + (m_playSource->getPlayEndFrame(), getMainModel()->getSampleRate()); + + QString nowStr; + QString thenStr; + QString remainingStr; + + if (then.sec > 10) { + nowStr = now.toSecText().c_str(); + thenStr = then.toSecText().c_str(); + remainingStr = (then - now).toSecText().c_str(); + m_lastPlayStatusSec = now.sec; + } else { + nowStr = now.toText(true).c_str(); + thenStr = then.toText(true).c_str(); + remainingStr = (then - now).toText(true).c_str(); + } + + m_myStatusMessage = tr("Playing: %1 of %2 (%3 remaining)") + .arg(nowStr).arg(thenStr).arg(remainingStr); + + statusBar()->showMessage(m_myStatusMessage); +} + +void +MainWindow::globalCentreFrameChanged(unsigned long frame) +{ + if ((m_playSource && m_playSource->isPlaying()) || !getMainModel()) return; + Pane *p = 0; + if (!m_paneStack || !(p = m_paneStack->getCurrentPane())) return; + if (!p->getFollowGlobalPan()) return; + updateVisibleRangeDisplay(p); +} + +void +MainWindow::viewCentreFrameChanged(View *v, unsigned long frame) +{ + if ((m_playSource && m_playSource->isPlaying()) || !getMainModel()) return; + Pane *p = 0; + if (!m_paneStack || !(p = m_paneStack->getCurrentPane())) return; + if (v == p) updateVisibleRangeDisplay(p); +} + +void +MainWindow::viewZoomLevelChanged(View *v, unsigned long zoom, bool locked) +{ + if ((m_playSource && m_playSource->isPlaying()) || !getMainModel()) return; + Pane *p = 0; + if (!m_paneStack || !(p = m_paneStack->getCurrentPane())) return; + if (v == p) updateVisibleRangeDisplay(p); +} + +void +MainWindow::updateVisibleRangeDisplay(Pane *p) const +{ + if (!getMainModel() || !p) { + return; + } + + RealTime start = RealTime::frame2RealTime + (p->getFirstVisibleFrame(), getMainModel()->getSampleRate()); + + RealTime end = RealTime::frame2RealTime + (p->getLastVisibleFrame(), getMainModel()->getSampleRate()); + + RealTime duration = end - start; + + QString startStr, endStr, durationStr; + startStr = start.toText(true).c_str(); + endStr = end.toText(true).c_str(); + durationStr = duration.toText(true).c_str(); + + m_myStatusMessage = tr("Visible: %1 to %2 (duration %3)") + .arg(startStr).arg(endStr).arg(durationStr); + + statusBar()->showMessage(m_myStatusMessage); +} + +void MainWindow::outputLevelsChanged(float left, float right) { m_fader->setPeakLeft(left); @@ -4310,20 +4427,30 @@ if (!w) return; if (w == m_fader) { - statusBar()->showMessage(tr("Adjust the master playback level")); + contextHelpChanged(tr("Adjust the master playback level")); } else if (w == m_playSpeed) { - statusBar()->showMessage(tr("Adjust the master playback speed")); + contextHelpChanged(tr("Adjust the master playback speed")); } else if (w == m_playSharpen && w->isEnabled()) { - statusBar()->showMessage(tr("Toggle transient sharpening for playback time scaling")); + contextHelpChanged(tr("Toggle transient sharpening for playback time scaling")); } else if (w == m_playMono && w->isEnabled()) { - statusBar()->showMessage(tr("Toggle mono mode for playback time scaling")); + contextHelpChanged(tr("Toggle mono mode for playback time scaling")); } } void MainWindow::mouseLeftWidget() { - statusBar()->showMessage(""); + contextHelpChanged(""); +} + +void +MainWindow::contextHelpChanged(const QString &s) +{ + if (s == "" && m_myStatusMessage != "") { + statusBar()->showMessage(m_myStatusMessage); + return; + } + statusBar()->showMessage(s); } void diff -r c9930ec7a3f9 -r 99d65ba33c88 main/MainWindow.h --- a/main/MainWindow.h Mon Mar 05 15:32:55 2007 +0000 +++ b/main/MainWindow.h Wed Mar 07 17:07:02 2007 +0000 @@ -165,6 +165,10 @@ void sampleRateMismatch(size_t, size_t, bool); void audioOverloadPluginDisabled(); + void playbackFrameChanged(unsigned long); + void globalCentreFrameChanged(unsigned long); + void viewCentreFrameChanged(View *, unsigned long); + void viewZoomLevelChanged(View *, unsigned long, bool); void outputLevelsChanged(float, float); void currentPaneChanged(Pane *); @@ -222,6 +226,7 @@ void mouseEnteredWidget(); void mouseLeftWidget(); + void contextHelpChanged(const QString &); void website(); void help(); @@ -268,9 +273,13 @@ bool m_openingAudioFile; bool m_abandoning; + int m_lastPlayStatusSec; + mutable QString m_myStatusMessage; + QPointer m_preferencesDialog; WaveFileModel *getMainModel(); + const WaveFileModel *getMainModel() const; void createDocument(); struct PaneConfiguration { @@ -386,6 +395,8 @@ void openHelpUrl(QString url); + void updateVisibleRangeDisplay(Pane *p) const; + void toXml(QTextStream &stream); }; diff -r c9930ec7a3f9 -r 99d65ba33c88 sv.pro --- a/sv.pro Mon Mar 05 15:32:55 2007 +0000 +++ b/sv.pro Wed Mar 07 17:07:02 2007 +0000 @@ -71,4 +71,5 @@ transform/Transform.cpp \ transform/TransformFactory.cpp RESOURCES += sonic-visualiser.qrc -TRANSLATIONS += i18n/sonic-visualiser_ru.ts + + diff -r c9930ec7a3f9 -r 99d65ba33c88 transform/FeatureExtractionPluginTransform.h --- a/transform/FeatureExtractionPluginTransform.h Mon Mar 05 15:32:55 2007 +0000 +++ b/transform/FeatureExtractionPluginTransform.h Wed Mar 07 17:07:02 2007 +0000 @@ -22,6 +22,8 @@ class FeatureExtractionPluginTransform : public PluginTransform { + Q_OBJECT + public: FeatureExtractionPluginTransform(Model *inputModel, QString plugin,