New upstream version 19.0.3+dfsg1

This commit is contained in:
Sebastian Ramacher 2017-06-29 21:01:10 +02:00
parent 3708b8e092
commit 1f1bbb3518
534 changed files with 13862 additions and 2459 deletions

View file

@ -0,0 +1,13 @@
ImageInput="ছবি"
File="ফাইল ছবি"
SlideShow="ছবি স্লাইড শো"
SlideShow.TransitionSpeed="কোনও পরিবর্তন ঘটলে স্থানীয় গতি (মিলিসেকেন্ড)"
SlideShow.Transition="স্থানান্তর"
SlideShow.Transition.Cut="ছেদন"
ColorSource="রঙের উৎস"
ColorSource.Color="রং"
ColorSource.Width="প্রস্থ"
ColorSource.Height="উচ্চতা"

View file

@ -6,6 +6,8 @@ SlideShow="Obrázková prezentace"
SlideShow.TransitionSpeed="Rychlost přechodu (milisekundy)"
SlideShow.SlideTime="Čas mezi snímky (milisekundy)"
SlideShow.Files="Soubory obrázků"
SlideShow.CustomSize="Poměr stran"
SlideShow.CustomSize.Auto="Automatický"
SlideShow.Randomize="Náhodné přehrávání"
SlideShow.Transition="Přechod"
SlideShow.Transition.Cut="Střih"

View file

@ -6,6 +6,8 @@ SlideShow="Billede diasshow"
SlideShow.TransitionSpeed="Overgangshastighed (millisekunder)"
SlideShow.SlideTime="Tid mellem dias (millisekunder)"
SlideShow.Files="Billedfiler"
SlideShow.CustomSize="Afgrænsningsstørrelse/Formatforhold"
SlideShow.CustomSize.Auto="Automatisk"
SlideShow.Randomize="Tilfældig afspilning"
SlideShow.Transition="Overgang"
SlideShow.Transition.Cut="Klip"
@ -13,4 +15,8 @@ SlideShow.Transition.Fade="Overgang"
SlideShow.Transition.Swipe="Stryg"
SlideShow.Transition.Slide="Glide"
ColorSource="Farvekilde"
ColorSource.Color="Farve"
ColorSource.Width="Bredde"
ColorSource.Height="Højde"

View file

@ -6,6 +6,8 @@ SlideShow="Diashow"
SlideShow.TransitionSpeed="Geschwindigkeit des Übergangs (Millisekunden)"
SlideShow.SlideTime="Zeit zwischen Bildern (Millisekunden)"
SlideShow.Files="Bilddateien"
SlideShow.CustomSize="Rahmen Größe/Seitenverhältnis"
SlideShow.CustomSize.Auto="Automatisch"
SlideShow.Randomize="Zufällige Wiedergabe"
SlideShow.Transition="Übergang"
SlideShow.Transition.Cut="Schnitt"

View file

@ -6,6 +6,8 @@ SlideShow="Image Slide Show"
SlideShow.TransitionSpeed="Transition Speed (milliseconds)"
SlideShow.SlideTime="Time Between Slides (milliseconds)"
SlideShow.Files="Image Files"
SlideShow.CustomSize="Bounding Size/Aspect Ratio"
SlideShow.CustomSize.Auto="Automatic"
SlideShow.Randomize="Randomize Playback"
SlideShow.Transition="Transition"
SlideShow.Transition.Cut="Cut"

View file

@ -6,6 +6,8 @@ SlideShow="Galería de imágenes"
SlideShow.TransitionSpeed="Velocidad de la transición (milisegundos)"
SlideShow.SlideTime="Tiempo entre diapositivas (milisegundos)"
SlideShow.Files="Archivo de imagen"
SlideShow.CustomSize="Relación de aspecto"
SlideShow.CustomSize.Auto="Automático"
SlideShow.Randomize="Reproducción aleatoria"
SlideShow.Transition="Transición"
SlideShow.Transition.Cut="Corte"

View file

@ -6,6 +6,8 @@ SlideShow="Irudien diaporama"
SlideShow.TransitionSpeed="Trantsizioaren abiadura (milisegundotan)"
SlideShow.SlideTime="Diapositiben arteko denbora (milisegundotan)"
SlideShow.Files="Irudi fitxategiak"
SlideShow.CustomSize="Markoaren tamaina/Aspektu-erlazioa"
SlideShow.CustomSize.Auto="Automatikoa"
SlideShow.Randomize="Ausazko erreprodukzioa"
SlideShow.Transition="Trantsizioa"
SlideShow.Transition.Cut="Ebaki"

View file

@ -6,6 +6,8 @@ SlideShow="Diaesitys"
SlideShow.TransitionSpeed="Siirtymän nopeus (millisekuntia)"
SlideShow.SlideTime="Kesto kuvien välissä (millisekunteina)"
SlideShow.Files="Kuvatiedostot"
SlideShow.CustomSize="Rajauskoko/Kuvasuhde"
SlideShow.CustomSize.Auto="Automaattinen"
SlideShow.Randomize="Toista satunnaisesti"
SlideShow.Transition="Siirtymä"
SlideShow.Transition.Cut="Leikkaa"

View file

@ -6,6 +6,8 @@ SlideShow="Diaporama"
SlideShow.TransitionSpeed="Vitesse de transition (millisecondes)"
SlideShow.SlideTime="Temps entre chaque diapositive (millisecondes)"
SlideShow.Files="Fichiers image"
SlideShow.CustomSize="Taille Limite/Ratio d'aspect"
SlideShow.CustomSize.Auto="Automatique"
SlideShow.Randomize="Lecture aléatoire"
SlideShow.Transition="Transition"
SlideShow.Transition.Cut="Coupure"

View file

@ -0,0 +1,4 @@
ImageInput="छवि"

View file

@ -6,6 +6,8 @@ SlideShow="Képvetítő"
SlideShow.TransitionSpeed="Áttűnési sebesség (ezredmásodperc)"
SlideShow.SlideTime="Diák közti idő (ezredmásodperc)"
SlideShow.Files="Képfájlok"
SlideShow.CustomSize="Befoglaló méret/Képarány"
SlideShow.CustomSize.Auto="Automatikus"
SlideShow.Randomize="Véletlenszerű lejátszás"
SlideShow.Transition="Átmenet"
SlideShow.Transition.Cut="Kivágás"

View file

@ -6,6 +6,8 @@ SlideShow="画像スライドショー"
SlideShow.TransitionSpeed="画面切替速度 (ミリ秒)"
SlideShow.SlideTime="スライド時間間隔 (ミリ秒)"
SlideShow.Files="画像ファイル"
SlideShow.CustomSize="バウンディングサイズ/アスペクト比"
SlideShow.CustomSize.Auto="自動"
SlideShow.Randomize="ランダム再生"
SlideShow.Transition="トランジション"
SlideShow.Transition.Cut="カット"

View file

@ -6,6 +6,8 @@ SlideShow="이미지 슬라이드 쇼"
SlideShow.TransitionSpeed="전환 속도 (밀리초)"
SlideShow.SlideTime="슬라이드 간격 (밀리초)"
SlideShow.Files="이미지 파일 형식"
SlideShow.CustomSize="경계 크기/화면 비율"
SlideShow.CustomSize.Auto="자동"
SlideShow.Randomize="무작위 재생"
SlideShow.Transition="전환 방식"
SlideShow.Transition.Cut="자르기"

View file

@ -6,6 +6,8 @@ SlideShow="Diashow"
SlideShow.TransitionSpeed="Overgangssnelheid (milliseconden)"
SlideShow.SlideTime="Tijd Tussen Dia's (milliseconden)"
SlideShow.Files="Afbeeldingsbestanden"
SlideShow.CustomSize="Randgrootte/Beeldverhouding"
SlideShow.CustomSize.Auto="Automatisch"
SlideShow.Randomize="Willekeurige Volgorde"
SlideShow.Transition="Overgang"
SlideShow.Transition.Cut="Knippen"
@ -13,4 +15,8 @@ SlideShow.Transition.Fade="Vervagen"
SlideShow.Transition.Swipe="Vegen"
SlideShow.Transition.Slide="Slide"
ColorSource="Kleurbron"
ColorSource.Color="Kleur"
ColorSource.Width="Breedte"
ColorSource.Height="Hoogte"

View file

@ -6,6 +6,8 @@ SlideShow="Pokaz slajdów"
SlideShow.TransitionSpeed="Prędkość efektu przejścia (ms)"
SlideShow.SlideTime="Czas wyświetlania slajdu (ms)"
SlideShow.Files="Pliki graficzne"
SlideShow.CustomSize="Ograniczenie rozmiaru/Proporcje"
SlideShow.CustomSize.Auto="Automatycznie"
SlideShow.Randomize="Odtwarzanie losowe"
SlideShow.Transition="Efekt przejścia"
SlideShow.Transition.Cut="Cięcie"

View file

@ -6,6 +6,8 @@ SlideShow="Apresentação de Slides"
SlideShow.TransitionSpeed="Velocidade de Transição (em milissegundos)"
SlideShow.SlideTime="Tempo Entre cada Slide (em milissegundos)"
SlideShow.Files="Arquivos de Imagem"
SlideShow.CustomSize="Tamanho Delimitador/Proporção"
SlideShow.CustomSize.Auto="Automático"
SlideShow.Randomize="Reprodução aleatória"
SlideShow.Transition="Transição"
SlideShow.Transition.Cut="Corte"
@ -13,4 +15,8 @@ SlideShow.Transition.Fade="Esmaecer"
SlideShow.Transition.Swipe="Arrastar"
SlideShow.Transition.Slide="Deslizar"
ColorSource="Fonte de Cor"
ColorSource.Color="Cor"
ColorSource.Width="Largura"
ColorSource.Height="Altura"

View file

@ -6,6 +6,8 @@ SlideShow="Слайдшоу"
SlideShow.TransitionSpeed="Скорость перехода (миллисекунды)"
SlideShow.SlideTime="Время между слайдами (миллисекунды)"
SlideShow.Files="Файлы изображений"
SlideShow.CustomSize="Ограничение размера/Соотношение сторон"
SlideShow.CustomSize.Auto="Автоматически"
SlideShow.Randomize="Случайное воспроизведение"
SlideShow.Transition="Переход"
SlideShow.Transition.Cut="Обрезать"

View file

@ -6,6 +6,7 @@ SlideShow="Bildspel"
SlideShow.TransitionSpeed="Övergångshastighet (millisekunder)"
SlideShow.SlideTime="Tid mellan bilder (millisekunder)"
SlideShow.Files="Bildfiler"
SlideShow.CustomSize.Auto="Automatisk"
SlideShow.Randomize="Slumpa uppspelning"
SlideShow.Transition="Övergång"
SlideShow.Transition.Cut="Klipp"

View file

@ -6,6 +6,8 @@ SlideShow="Resim Slayt Gösterisi"
SlideShow.TransitionSpeed="Geçiş Hızı (milisaniye)"
SlideShow.SlideTime="Slaytlar Arası Süre (milisaniye)"
SlideShow.Files="Görüntü Dosyaları"
SlideShow.CustomSize="Sınırlayıcı Boyut/En-Boy Oranı"
SlideShow.CustomSize.Auto="Otomatik"
SlideShow.Randomize="Rastgele Gösterim"
SlideShow.Transition="Geçiş"
SlideShow.Transition.Cut="Cut"

View file

@ -6,6 +6,8 @@ SlideShow="Слайд-шоу"
SlideShow.TransitionSpeed="Тривалість відео-переходу (мілісекунд)"
SlideShow.SlideTime="Час між слайдами (мілісекунд)"
SlideShow.Files="Файли зображень"
SlideShow.CustomSize="Розмір рамки/пропорції"
SlideShow.CustomSize.Auto="Автоматично"
SlideShow.Randomize="Випадкове відтворення"
SlideShow.Transition="Відео-перехід"
SlideShow.Transition.Cut="Cut"

View file

@ -6,6 +6,8 @@ SlideShow="图像幻灯片放映"
SlideShow.TransitionSpeed="过渡速度(毫秒)"
SlideShow.SlideTime="幻灯片之间时间(毫秒)"
SlideShow.Files="图像文件"
SlideShow.CustomSize="边框大小/高宽比"
SlideShow.CustomSize.Auto="自动"
SlideShow.Randomize="随机播放"
SlideShow.Transition="转换"
SlideShow.Transition.Cut="剪切"

View file

@ -6,6 +6,8 @@ SlideShow="投影片放映"
SlideShow.TransitionSpeed="變更速度 (毫秒)"
SlideShow.SlideTime="圖片間隔 (毫秒)"
SlideShow.Files="圖片檔案"
SlideShow.CustomSize="邊框大小長寬比"
SlideShow.CustomSize.Auto="自動"
SlideShow.Randomize="隨機播放"
SlideShow.Transition="變更特效"
SlideShow.Transition.Cut="直接變更"

View file

@ -162,6 +162,17 @@ static void image_source_tick(void *data, float seconds)
struct image_source *context = data;
uint64_t frame_time = obs_get_video_frame_time();
context->update_time_elapsed += seconds;
if (context->update_time_elapsed >= 1.0f) {
time_t t = get_modified_timestamp(context->file);
context->update_time_elapsed = 0.0f;
if (context->file_timestamp != t) {
image_source_load(context);
}
}
if (obs_source_active(context->source)) {
if (!context->active) {
if (context->image.is_animated_gif)
@ -199,17 +210,6 @@ static void image_source_tick(void *data, float seconds)
}
context->last_time = frame_time;
context->update_time_elapsed += seconds;
if (context->update_time_elapsed >= 1.0f) {
time_t t = get_modified_timestamp(context->file);
context->update_time_elapsed = 0.0f;
if (context->file_timestamp != t) {
image_source_load(context);
}
}
}

View file

@ -11,6 +11,7 @@
#define warn(format, ...) do_log(LOG_WARNING, format, ##__VA_ARGS__)
#define S_TR_SPEED "transition_speed"
#define S_CUSTOM_SIZE "use_custom_size"
#define S_SLIDE_TIME "slide_time"
#define S_TRANSITION "transition"
#define S_RANDOMIZE "randomize"
@ -23,6 +24,8 @@
#define T_(text) obs_module_text("SlideShow." text)
#define T_TR_SPEED T_("TransitionSpeed")
#define T_CUSTOM_SIZE T_("CustomSize")
#define T_CUSTOM_SIZE_AUTO T_("CustomSize.Auto")
#define T_SLIDE_TIME T_("SlideTime")
#define T_TRANSITION T_("Transition")
#define T_RANDOMIZE T_("Randomize")
@ -288,6 +291,48 @@ static void ss_update(void *data, obs_data_t *settings)
obs_source_release(old_tr);
free_files(&old_files.da);
/* ------------------------- */
const char *res_str = obs_data_get_string(settings, S_CUSTOM_SIZE);
bool aspect_only = false, use_auto = true;
int cx_in = 0, cy_in = 0;
if (strcmp(res_str, T_CUSTOM_SIZE_AUTO) != 0) {
int ret = sscanf(res_str, "%dx%d", &cx_in, &cy_in);
if (ret == 2) {
aspect_only = false;
use_auto = false;
} else {
ret = sscanf(res_str, "%d:%d", &cx_in, &cy_in);
if (ret == 2) {
aspect_only = true;
use_auto = false;
}
}
}
if (!use_auto) {
double cx_f = (double)cx;
double cy_f = (double)cy;
double old_aspect = cx_f / cy_f;
double new_aspect = (double)cx_in / (double)cy_in;
if (aspect_only) {
if (fabs(old_aspect - new_aspect) > EPSILON) {
if (new_aspect > old_aspect)
cx = (uint32_t)(cy_f * new_aspect);
else
cy = (uint32_t)(cx_f / new_aspect);
}
} else {
cx = (uint32_t)cx_in;
cy = (uint32_t)cy_in;
}
}
/* ------------------------- */
ss->cx = cx;
ss->cy = cy;
ss->cur_item = 0;
@ -460,17 +505,38 @@ static void ss_defaults(obs_data_t *settings)
obs_data_set_default_string(settings, S_TRANSITION, "fade");
obs_data_set_default_int(settings, S_SLIDE_TIME, 8000);
obs_data_set_default_int(settings, S_TR_SPEED, 700);
obs_data_set_default_string(settings, S_CUSTOM_SIZE, T_CUSTOM_SIZE_AUTO);
}
static const char *file_filter =
"Image files (*.bmp *.tga *.png *.jpeg *.jpg *.gif)";
static const char *aspects[] = {
"16:9",
"16:10",
"4:3",
"1:1"
};
#define NUM_ASPECTS (sizeof(aspects) / sizeof(const char *))
static obs_properties_t *ss_properties(void *data)
{
obs_properties_t *ppts = obs_properties_create();
struct slideshow *ss = data;
struct obs_video_info ovi;
struct dstr path = {0};
obs_property_t *p;
int cx;
int cy;
/* ----------------- */
obs_get_video_info(&ovi);
cx = (int)ovi.base_width;
cy = (int)ovi.base_height;
/* ----------------- */
p = obs_properties_add_list(ppts, S_TRANSITION, T_TRANSITION,
OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING);
@ -485,6 +551,18 @@ static obs_properties_t *ss_properties(void *data)
0, 3600000, 50);
obs_properties_add_bool(ppts, S_RANDOMIZE, T_RANDOMIZE);
p = obs_properties_add_list(ppts, S_CUSTOM_SIZE, T_CUSTOM_SIZE,
OBS_COMBO_TYPE_EDITABLE, OBS_COMBO_FORMAT_STRING);
obs_property_list_add_string(p, T_CUSTOM_SIZE_AUTO, T_CUSTOM_SIZE_AUTO);
for (size_t i = 0; i < NUM_ASPECTS; i++)
obs_property_list_add_string(p, aspects[i], aspects[i]);
char str[32];
snprintf(str, 32, "%dx%d", cx, cy);
obs_property_list_add_string(p, str, str);
if (ss) {
pthread_mutex_lock(&ss->mutex);
if (ss->files.num) {