Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Subtitle (Karaoke)

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
garry



Anmeldedatum: 25.10.2005
Beiträge: 422
Wohnort: switzerland

BeitragVerfasst am: Do Apr 06, 2006 4:16 pm    Titel: Subtitle (Karaoke) Antworten mit Zitat

erstellt Untertitel für Musik/Video
benutzt Windows Media Player\mplayer2.exe


Code:
;---- LyricPlay.ahk XP 2006-04-05 garry
/*
--- Example:
--- put in folder SONGTEXT..... IwalkTheLine.txt
--- put in folder MEDIA   ..... IwalkTheLine.mp3
---                       ..... IwalkTheLine.jpg  (otherwise=default.jpg)

    1. start, select CreateLyric, doubleclick IwalkTheLine.mp3, hear song, cut songtext with CTRL-Button, finish with escape
    2. start, doubleclick IwalkTheLine.mp3, hear sound and read text, script close when finished or close with escape
*/
;----------------------------------------------------------------------------------------
PLAYER=%A_ProgramFiles%\Windows Media Player\mplayer2.exe  ;small built in windows player
#NoTrayIcon
settitlematchmode, 2
run,%COMSPEC% /C if not exist \SONGTEXT\NUL MD SONGTEXT,,hide
run,%COMSPEC% /C if not exist \MEDIA\NUL MD MEDIA,,hide
;-----------------------------------------------------------------------------

soundset,100
soundset,0,master,mute
menu,help1,Add,&How to Use,MH1
menu,help1,Add,&About,MH2
menu,myMenuBar,Add,Help,:help1
gui,menu,MyMenuBar

  Gui, Color, 000000
  Gui, Font,  S10 CDefault , FixedSys
  Gui, Show, x300 y0 w720 h400,SUBTITLE or KARAOKE
  Gui,Add, ListView,grid r20 w700 gMyListView, Name|Size

   Loop,%A_SCRIPTDIR%\MEDIA\*.mpg
     gosub A4
   Loop,%A_SCRIPTDIR%\MEDIA\*.avi
     gosub A4
   Loop,%A_SCRIPTDIR%\MEDIA\*.wav
     gosub A4
   Loop,%A_SCRIPTDIR%\MEDIA\*.MP3
     gosub A4
      GOTO A5

 A4:
           LV_Add("",A_LoopFileName,A_LoopFileSize)
           LV_ModifyCol()
           LV_ModifyCol(2, "Integer")
             return
 A5:
    Gui,add,GroupBox,x10 y355 w200 h30
    Gui,Font,S8 cwhite, Verdana
    Gui, Add, Radio, x30  y367 vD1,PLAY
    Gui, Add, Radio, x90  y367    ,CREATE LYRIC
    GuiControl,,D1,1
    Gui,Add,Button, x600 y365 w82 h20,MIXER
    return

        MH1:
        msgbox,in MEDIA-folder   : avi example:-avitest.avi`r`nin SONGTEXT-folder:                      example:-avitest.txt  (the same name then MEDIA-file)`r`n-CREATE           :start,select CreateLyric, doubleclick avi, video plays and cut text with CTRL-button`r`n-PLAY                :start, doubleclick avi, video plays and see the created text
        return
        MH2:
        msgbox,LYRICPLAY.AHK 2006-04-05 garry
        return
;-----------------------------------------------------------------

ButtonMixer:
run,sndvol32.exe
return

MyListView:
      Gui,submit,nohide
      if A_GuiEvent = DoubleClick
          {
          LV_GetText(C1,A_EventInfo,1)
          }

       if C1=NAME
        return
       if C1=SIZE
        return
       if C1=
        return

   stringlen,L1,C1
   stringmid,NT,C1,1,L1-4
   stringright,R3,C1,3
    T1=%NT%.txt
    P1=%NT%.jpg
    F2=%NT%.csv

   ifexist %A_SCRIPTDIR%\MEDIA\%P1%
     GOTO A6
   else
     P1=DEFAULT.JPG       ;a default picture


  A6:
    if D1=2
      {
     ifexist %A_ScriptDir%\SONGTEXT\%F2%
        {
       MsgBox, 4, ,%F2% exist, overwrite it ?
       IfMsgBox,No
       ExitApp
       }
    FILEDELETE %A_ScriptDir%\SONGTEXT\%F2%
     }

   if D1=1
       {
       ;counts milliseconds
       I=0
       loop,100
          {
          I+=1
          filereadline,LINE,%A_ScriptDir%\SONGTEXT\%F2%,%I%
          stringsplit,BX,LINE,`;,
            if ErrorLevel <> 0
             GOTO A10
         V+=%BX1%
          }

   A10:
     V1:=(V/1000)
     M1:=V1/60
     transform,M,floor,M1
     transform,S1,MOD,V1,60
     transform,S,floor,S1
     stringlen,L,S
     if L=1
      S=0%S%
      }

;--------------- VIDEO /MUSIC --------------------------------------
 Q4X=.mpg,.wav,.mp3,.avi
   stringright,Q4,C1,4
   if Q4 contains %Q4X%
          {
          GOTO AVI
          }

     else
        {
        msgbox, Only files *.avi *.mpg *.wav *.mp3
        exitApp
        }


AVI:
    WA=%A_screenwidth%
    HA=%A_screenheight%
    LB:=(HA*5)/100               ;TEXT X-POSITION
    HB:=(HA*80)/100              ;TEXT Y-POSITION
    WB:=(WA*90)/100              ;TEXT WIDTH

    XM:=(WA*20)/100               ;picture
    YM:=(HA*10)/100
    WM:=(WA*60)/100
    HM:=(HA*60)/100

   Gui,2:-Border
   Gui,2:Color,000000   ;BLACK
   Gui,2:Font,S12 cwhite, Verdana
   Gui,2:Show,x0 y0 w%A_screenwidth% h%A_screenheight%

     Q4M=.wav,.mp3
      stringright,Q4,C1,4
   if Q4 contains %Q4M%
   Gui,2:Add,Picture,x%XM% y%YM% w%WM% h%HM%,%A_SCRIPTDIR%\MEDIA\%P1%

   Gui,2:Font,S1 cwhite, Verdana            ;border
    XM:=(WA*1)/100
    YM:=(HA*1)/100
    WT:=(WA*98)/100
    HM:=(HA*98)/100
  Gui,2:add,GroupBox,x%XM% y%YM% w%WT% h%HM%



    if PLAYER=
       {
     run,%COMSPEC% /C "%A_SCRIPTDIR%\MEDIA\%C1%",,hide,NewPid1                               ;default player
     GOTO,LOOPX
       }


    ifexist %PLAYER%
        {
        if Q4 contains %Q4M%
           {
        run,"%PLAYER%" "%A_SCRIPTDIR%\MEDIA\%C1%",,min,NewPid1
        Goto,LOOPX
           }
        else
           {
        run,"%PLAYER%" "%A_SCRIPTDIR%\MEDIA\%C1%",,,NewPid1
        GOTO,LOOPX
           }
        }


 LOOPX:

DetectHiddenWindows, on
DetectHiddenText,on

loop,300
  {
  WinGetTitle,TI,ahk_class Media Player 2
  stringlen,SL,C1
  stringmid,U2,TI,1,SL
  stringleft,CL,C1,SL
              if U2=%CL%
                 {
                Goto,SCR2
                 }
    sleep,20
    }

;--------------------------------------------------------
SCR2:
   Process, priority, %NewPID1%, High
   process,exist,newpid1

;------------------------------------------------
PR1:
  if D1=1
  {
  GOTO PLAYBACK
  }

  if D1=2
  {
  GOTO LYRIC
  }

;---------------- 1_LYRIC ---------------------------------------
LYRIC:
     Gui,2:Font,S12 cwhite, Verdana
      LM:=(WA*5)/100
      WT:=(WA*95)/100
      YM:=(HA*92)/100
     Gui,2:Add,TEXT, x%LM% y%YM% w%WT% h20,Modus-Lyric , use the CTRL-Button to cut the songtext-   %TI%
     Gui,2:Font,S30 cwhite, Verdana

   {
   I=0
    A1:
     I+=1
     filereadline,A,%A_SCRIPTDIR%\SONGTEXT\%T1%,%I%
;     if A=
;      GOTO A1
     if ErrorLevel <> 0
      GOTO A2
     Gui,2:Add,Edit,x%LB% y%HB% w%WB% h120 ReadOnly,%A%
      start_time := A_TickCount

;      keywait,space,D
      keywait,control,D

      TD := A_TickCount - start_time
       sleep,250
      TD:=TD+250
      fileappend,%TD%;%A%`r`n,%A_SCRIPTDIR%\SONGTEXT\%F2%
       goto A1
   }

 A2:
  Gui,2:Add,Edit,x%LB% y%HB% w%WB% h120 ReadOnly,%X%
  Gui,2:Font,S12 cwhite, Verdana
    ES=No more lines.Push ESCAPE button when the movie or song is finished
  Gui,2:Add,Edit,x%LB% y%HB% w%WB% h120 ReadOnly,%ES%
    start_time2:=A_TickCount

;    keywait,space,D
    keywait,control,D

    TD2:=A_TickCount-start_time2
    sleep,250
    TD2:=TD2+250
    fileappend,%TD2%;`r`n,%A_SCRIPTDIR%\SONGTEXT\%F2%
  Gui,2:Add,Edit,x%LB% y%HB% w%WB% h60 ReadOnly,%X%
    Process,close,%NewPid1%
    send, !{F4}
    ExitApp
;----------------------------------------------------------------------

;------------------------- PLAYBACK -----------------------------------
PLAYBACK:
        LM:=(WA*5)/100
        WT:=(WA*92)/100
        YM:=(HA*94)/100
      Gui,2:Font,S12 cwhite, Verdana
      Gui,2:Add,TEXT, x%LM% y%YM% w%WT% h20,Modus-Play Time= %M%:%S%   -%TI%
      Gui,2:Font,S30 cwhite,Verdana

   {
   I=0
    A11:
     I+=1
     filereadline,LINE,%A_SCRIPTDIR%\SONGTEXT\%F2%,%I%
     if ErrorLevel <> 0
      GOTO ENDP
     stringsplit,BX,LINE,`;,

     if BX2=
        {
        Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%X%
        Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%X%
         GOTO A12
       }

   else
      {
      Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%BX2%
      Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%BX2%
      }

  A12:
   sleep %BX1%
   goto A11
  }


 ENDP:
   IF I=1      ;when no lyrics
    {
    Gui,2:Font,S12 cwhite, Verdana
    Gui,2:Add,TEXT, x%LM% y%YM% w%WT% h20,Modus-Play
    Gui,2:Add,TEXT, x%LM% y%YM% w%WT% h20,Modus-Play
    Gui,2:Font,S30 cwhite, Verdana
    Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%C1%
    Gui,2:Add,TEXT, x%LB% y%HB% w%WB% h120,%C1%
     keywait,Escape,D
    }

  Process,close,%NewPid1%
  send, !{F4}
  ExitApp
;-------------------------------------------------------------

;------------------ END -------------------------------
   GuiClose:
    ESC::
    Process,close,%NewPid1%
    send, !{F4}
    ExitApp
;============================================================================================================

VerreLand.txt
Songtext welche mit CTRL-Button geschnitten wird:
Code:
VERRE LAND   (Jim Reeves)
Written by Nico Carstens and Anton de Waal

Daar's 'n ver, verre land, skone land

Waar die sonlig so rein helder skyn

Dis 'n droomland vir my wat my hart en siel bekoor

En ek weet ek moet antwoord as ek daardie roepstem hoor

Vaderland! Dis so ver hiervandaan

Dis nou tyd, sê vaarwel, ek moet gaan, ek moet gaan, ek moet gaan

Oor die see wil ek reis na 'n ver paradys

Waar die branders bruis en oestydwinde suis

Daardie ver, verre land lok my aan

Hier kan ek nie versuim, ek moet gaan, ek moet gaan, ek moet gaan

Oor die see wil ek reis na 'n ver paradys

Waar die branders bruis en oestydwinde suis

Daardie ver, verre land lok my aan

Hier kan ek nie versuim, ek moet gaan, ek moet gaan, ek moet gaan


VerreLand.csv
Resultat für play
Code:
4734;VERRE LAND   (Jim Reeves)
4485;Written by Nico Carstens and Anton de Waal
2906;
4828;Daar's 'n ver, verre land, skone land
1328;
4016;Waar die sonlig so rein helder skyn
1328;
5578;Dis 'n droomland vir my wat my hart en siel bekoor
1172;
4891;En ek weet ek moet antwoord as ek daardie roepstem hoor
984;
4250;Vaderland! Dis so ver hiervandaan
1453;
11250;Dis nou tyd, sê vaarwel, ek moet gaan, ek moet gaan, ek moet gaan
1594;
4594;Oor die see wil ek reis na 'n ver paradys
656;
4437;Waar die branders bruis en oestydwinde suis
1735;
3843;Daardie ver, verre land lok my aan
860;
12969;Hier kan ek nie versuim, ek moet gaan, ek moet gaan, ek moet gaan
11921;
5250;Oor die see wil ek reis na 'n ver paradys
813;
4984;Waar die branders bruis en oestydwinde suis
1078;
4141;Daardie ver, verre land lok my aan
1563;
10328;Hier kan ek nie versuim, ek moet gaan, ek moet gaan, ek moet gaan
1312;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Skripte & Funktionen Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de