Korisne skripte, kodovi ...

Korisne skripte, kodovi ...

offline
  • Pridružio: 14 Feb 2008
  • Poruke: 12391

Sigurno ste nekad naleteli na neki deo koda koji je univerzalan i koristan ili možda neku skripticu za nešto.

Evo teme gde takve kodove možete podeliti.

Sledeća autohotkey skripta piše naziv pesme koja se reprodukuje u txt fajl.
Pre kompajliranja je potrebno podesiti parametre, ovi ispod su podešeni za Youtube i Google Chrome.

; Stream-Friendly Music Ticker v1 ; https://github.com/gustafsonk/SFMT ; Description: ; This script is intended to make it possible to share the currently playing song from your media ; player through a streaming program. It works by scraping the title of your media player's window, ; outputting the part you want to a file, and reading the file through a streaming program. ; Supported Media Players? ; Winamp, foobar2000, Spotify, YouTube (via web browser), MusicBee, MediaMonkey, VLC, WMP, iTunes, ; and any other media player that can display the currently playing song in the title of its window. ; Supported Streaming Programs? ; OBS, XSplit, FFsplit, and any other streaming program that can read text from a file. ; Pros and Cons? ; + No dependency on any specific media player ; + Supports Unicode characters ; + Easy to trim junk off the beginning and end of a window title ; + Fix for padding out scrolling text in OBS ; + Multi-platform (untested, but use IronAHK instead of AutoHotkey_L) ; + Open-source, well-documented, and easy-to-edit ; - No GUI for configuration (yet) ; Instructions: ; 1. Download and install AutoHotkey_L from http://www.autohotkey.com (should be the default one). ; 2. Save/Extract the SFMT.ahk file to your computer (ZIP button in the top left of GitHub). ; 3. Run this file by double-clicking on it to generate the output file, which is where your now ;    playing song will be later. By default, it's "nowplaying.txt" and refreshes every 3 seconds. ; 4. Open your media player of choice and begin playing music. ; 5. Using your streaming program, add a text source for the output file. ; 6. Right-click the .ahk file, click Edit Script, and edit the CONFIGURE ME section below for your ;    media player/streaming program (see example below for help). ; 7. While configuring the file, you should perform the following workflow: edit the file, ;    save the file, right-click the H icon in the system tray, click Reload This Script, ;    and finally open the output file/preview the stream to see if it looks the way you want. ; Example Configuration: ; First get the title of your media player's window. You can do this by hovering over the program ; in the taskbar or system tray and waiting a bit for text to appear. If you're having trouble with ; this or you can't find it, you can still figure it out by looking at the contents of the output ; file after you do this next step. This is an example title I see when playing a song in Winamp: ; "16. Carly Rae Jepsen - Call Me Maybe - Winamp". ; ; Now you need to pick a part of the window title that will always be there while playing songs, ; which can usually be the program's name itself. In this example, "Winamp" will always be in the ; window's title so I can use that. Note that any other window with "Winamp" in it could interfere ; and be grabbed instead. Finally, place this value by the spot marked PART 1 in the CONFIGURE ME ; section. You can now perform Step 7 above to test if this part works for you. ; ; Now you need to trim off the parts that you don't want to share on the stream, like the playlist ; number on the left and the media player's name on the right in this example. To trim the left side, ; identify the block of text closest to the left side of the untrimmed text that does not change from ; song to song. In this example, you could use " " (a space), or ". " (a period then space). Now, ; working from left-to-right, check if this block of text won't occur before you want; otherwise, it ; will trim from there instead. For example, if the title began with "Curiosity - 16. " and I was ; using " ", then it would trim off "Curiosity " when I wanted to trim off all of it. Using ". " ; instead would fix this problem. Many media players give you near full control over the look and ; ordering of the title elements so keep this in mind if you can't get what you want. To trim the ; right side, repeat this procedure working from right-to-left instead. In this example, I want to ; trim " - Winamp" so I can't use " ", but I can use " -" or even " - Winamp". Finally, place these ; values by the two spots marked PART 2 in the CONFIGURE ME section. ; ; If you're using OBS to stream and scrolling the text, then you may want to edit PART 3 to make it ; look nicer. Other than that, you should be good to go and comfortable editing other things in the ; CONFIGURE ME section at the very least. ; CONFIGURE ME (START)   ; Getting the media player's window title, assumes no other window titles have this text   windowTitle := "Google Chrome"  ; PART 1: The media player's window title needs to always have this text   SetTitleMatchMode 2  ; Look everywhere in window titles for a match, not just the beginning   DetectHiddenWindows, on  ; Also check window titles minimized to the system tray   ; Parsing the media player's window title, use "" to not trim one or both of the sides   firstAfter := ""  ; PART 2: Everything left of the first instance of this and itself is trimmed   lastBefore := "- Youtube"  ; PART 2: Same idea above except this trims right and reads right-to-left   ; Set the output file   outputFile := "C:\Users\srki9\Desktop\d\SFMT-master\SFMT-master\nowplaying.txt"   ; Refresh rate in milliseconds for repeating this script   refreshRate = 3000   ; For scrolling text that wraps continuously without spacing (OBS), use "" to not use this   scrollSeparator := "Song : "  ; PART 3: Separate the first character from the last character   AutoTrim, off  ; Leading/trailing space is ignored by AHK by default   ; All 3 streaming programs can use UTF-8 to display Unicode characters   FileEncoding, UTF-8 ; CONFIGURE ME (END) ; PROBABLY DON'T CONFIGURE ME   ; Part of the AHK template   #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.   ; #Warn  ; Enable warnings to assist with detecting common errors.   SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.   SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.   ; Keep the script running forever   #Persistent   ; Main logic of the script   Gosub, Update  ; Update immediately on script start   SetTimer, Update, %refreshRate%  ; Update forever on a periodic interval   return   Update:     ; Get the unparsed title of the media player's window     WinGetTitle, title, %windowTitle%     ; Remove junk at the beginning and end of the title     TrimText(title, firstAfter, lastBefore)     ; Separate the first and last character with a separator for better continuous text scrolling     title = %scrollSeparator%%title%     ; Check if the file needs to be updated with a new title (avoids unneeded disk writing)     if !FileEqualsText(outputFile, title)     {       ; Replace the file for a new title       OverwriteFile(outputFile, title)     }     return   ; Removes all text before and including the first instance of a substring,   ; as well as all text after and including the last instance of another substring   TrimText(ByRef text, firstAfter, lastBefore)   {     StringGetPos, leftIndex, text, %firstAfter%     if leftIndex != -1     {       ; text found, trim the left       start := leftIndex + 1 + StrLen(firstAfter)     }     else     {       ; text not found, don't trim the left       start := 1     }     StringGetPos, rightIndex, text, %lastBefore%, R     if (rightIndex != -1 && rightIndex != 0)  ; 0 = empty string even though it's right-to-left     {       ; text found, trim the right       length := rightIndex + 1 - start     }     else     {       ; text not found, don't trim the right       length := StrLen(text) + 1 - start     }     text := SubStr(text, start, length)   }   ; See if a file's text equals another text   FileEqualsText(ByRef file, ByRef text)   {     FileRead, fileText, %file%     if fileText = %text%     {       return true     }     else     {       return false     }   }   ; Overwrites a file's text with new text   OverwriteFile(ByRef outputFile, ByRef outputText)   {     FileDelete, %outputFile%     FileAppend, %outputText%, %outputFile%   }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 799 korisnika na forumu :: 6 registrovanih, 2 sakrivenih i 791 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: ALBION101, goxin, mgolub, MilosKop, S-lash, zziko