[ Milos88_vkbgd @ 14.05.2011. 13:38 ] @
Potrebno je ucitati subtitle fajl nekog filma, zatim koristeci GLUT rutine (Open GL) omoguciti korisniku programa da moze sam da menja kasnjenje prevoda, ukucavajuci vreme za koje zeli pomeraj. Pomeraj treba da se izvrsi u celom subtitle fajlu. Nije mi problem Open GL, to cu i uspeti da uradim, ali mi je problem kako da kad ukucam vreme on iscita ili snimi subtitle fajl sa pomerenim vremenom u celom fajlu?

Evo sta sam je uradio:

Code:

#include <stdio.h>

int main()
{
    FILE *f;
    char s[1000];

    f=fopen("Notorious.srt","r");
    if (!f)
        return 1;
    while (fgets(s,1000,f)!=NULL)
        printf("%s",s);
    fclose(f);
    
system("PAUSE");
return 0;
}



Ja sam uradio samo da u C-u izlista ceo prevod, ali to nije ni priblizno onome kako bi to trebalo da izgleda. Prof. kaze da se to radi preko stringova, sto on nije ni predavao.

Ne bi bilo lose ako neko ima neke linkove ili neke .pdf knjige pa da okaci ovde (posalje na mail) vezane za operacije sa stringovima u C-u i za Open GL.


U attachmentu se nalazi fajl kako bi to trebalo da izgleda i kod mene.

Pozdrav.
[ Milos88_vkbgd @ 16.05.2011. 14:55 ] @
Ljudi pa jel moguce da niko ne zna ili nece da pomogne?

Potrebno je da za unetu rec proveri subtitle file liniju po liniju i ako se ta rec nalazi negde u subtitle file da je ispise gde se nalazi i da je potom ukucamo vreme za koliko zelimo da pomerimo ceo subtitle file od te nadjene reci pa sve do kraja file za neki vremenski interval, ako nema te reci u subtitle file, onda da izbaci gresku da je nema i da kucamo drugu rec.
[ deerbeer @ 16.05.2011. 15:13 ] @
Mogu konceptualno da ti pomognem ....za tehnikalije se prvo sam pomuci ..
Elem , ucitas ceo subtitle isparsiras text fajl u neki memorijski niz sa clanovima koji izgleaju otprilike ovako :
1. vreme -- string
2. vreme -- string
3. vreme -- string

ili programski to ovako :
Code:

struct TitleItem 
{
 time_t vreme ; 
 char* text ;  
}

 


Pomeraj mozes da uradis tako sto ces prodjes kroz sve clanove niza i podatak vreme
saberes ili oduzmes sa tvojim vremenskjim pomerajem u milisekundama ...

Ceo takav izmenjen niz mozes opet da snimis u neki fajl liniju po liniju ..

Aplikacija koja koristi titl na svaki zadati interval provera (1ms ili 100 ms ) proverava da li u tom nizu postoji clan
koji zadovoljava trenutno vreme i ako zadovoljava iscitavas string i renderujes ga .

Slicno uradis i za pretragu teksta .


[ Mihajlo Cvetanović @ 16.05.2011. 15:34 ] @
Za slučaj da ti samo treba funkcionalnost, ali nemaš potrebu da praviš program, tu funkcionalnost već imaš u besplatnoj aplikaciji Subtitle Workshop.
[ Milos88_vkbgd @ 17.05.2011. 10:33 ] @
Citat:
Mihajlo Cvetanović: Za slučaj da ti samo treba funkcionalnost, ali nemaš potrebu da praviš program, tu funkcionalnost već imaš u besplatnoj aplikaciji Subtitle Workshop.


Ne treba mi to. U svakom slucaju hvala. Ovaj program mi je projektni zadatak na faxu, pa moram da ga isprogramiram.

Citat:
deerbeer: Mogu konceptualno da ti pomognem ....za tehnikalije se prvo sam pomuci ..
Elem , ucitas ceo subtitle isparsiras text fajl u neki memorijski niz sa clanovima koji izgleaju otprilike ovako :
1. vreme -- string
2. vreme -- string
3. vreme -- string

ili programski to ovako :
Code:

struct TitleItem 
{
 time_t vreme ; 
 char* text ;  
}

 


Pomeraj mozes da uradis tako sto ces prodjes kroz sve clanove niza i podatak vreme
saberes ili oduzmes sa tvojim vremenskjim pomerajem u milisekundama ...

Ceo takav izmenjen niz mozes opet da snimis u neki fajl liniju po liniju ..

Aplikacija koja koristi titl na svaki zadati interval provera (1ms ili 100 ms ) proverava da li u tom nizu postoji clan
koji zadovoljava trenutno vreme i ako zadovoljava iscitavas string i renderujes ga .

Slicno uradis i za pretragu teksta .


Hvala puno na smernicama. Krenucu sada ozbiljnije da radim program, pa cu javiti napredak.