Ding! Render Finished.
SickleYield
Posts: 7,634
Is there a way to script DAZ to make an audible beep, ding or alarm in Windows when a render is finished?
I'd pay for this. I tend to minimize the program while doing test renders that take more than two minutes, get distracted, and lose productive time before I think to check back and see if it's done yet. :-D So this would be a great time-management-enhancement device for those who render.
Comments
I'd love the idea. Also love it if I could set up a queue for my computer to do its rendering when I was say... Away from my desk, so that I could set up jobs to render, and not have to do it manually.
Oh yeah! I usually keep a silent profile, except for couple of cases where my attention is needed, NOW, because it is actually important.
I count "render finished!" as important, although I can generally guess it by the sound of my CPU fans. So if someone bangs together one where I can pick .wav of my choice, I'd be pleased!
My PC makes so much noise whilst rendering that it is not a problem for me to notice when the render is finished (= blissful silence).
Bryce will tell you when a render is finished, if you ask it to, and will also tell you how long it took to render. Very handy sometimes.
if you have the CPU,RAM meter widget active on your desktop, just look at the needle.
GPU usually 100% during render, drops right down when finished.
Mmm, but the point of auditory signal is that you don't need to watch the screen.
So I can be, say, in kitchen, cooking my noms, and then I hear my computer scream "RENDER FINISHED, EXTERMINATE EXTERMINATE" and I can come back and set the second one happening.
Yes, but that requires me to not be absorbed in some other activity (i.e. actively noticing that widget without something maximized over it). A ding would be more likely I'd notice it.
Render finished alert would be great, but I'd like some kind of frame count or progress indicator for animations. I'm rendering a 200+ frame animation atm, and I have no idea how far it's gotten, other than it's been going for 50 minutes.
It's been requested numerous times over the years, but nothing has ever even looked like happening on it.
I agree that it would be really handy.
Select the "Timeline" Tab before running render for your animation, "Timeline" is shown using 0 to your end frame.
(ex. End frame 99, "Timeline" shows 0-99, just like a Number Line)
Also, there is a scroll Cursor/Pointer that points to which frame you are currently on, so during a render of an animation it will always point to the frame DAZ Studio is currently working on.
Been playing with scripting lately and i remembered this post, turned out to be just a few lines of code : the render that goes 'Ping!" ;-)
http://www.sharecg.com/v/66824/view/8/Script/Render-finished-!
(windows only)
Been playing with scripting lately and i remembered this post, turned out to be just a few lines of code : the render that goes 'Ping!" ;-)
http://www.sharecg.com/v/66824/view/8/Script/Render-finished-!
(windows only)
YAY
You are my hero. I set up a custom action so it renders and then plays the comment whenever I hit ctrl+r. Thank you so much!!
I was looking at the code to the old 'Quicksave' script...I think that it could be adapted to this, so that not only does it render, but it saves the scene before it starts and then plays the sound when done...
That could probably be done, (and i bet i'd still hit ctrl+S two times before starting the script ;-) ).
Been playing with scripting lately and i remembered this post, turned out to be just a few lines of code : the render that goes 'Ping!" ;-)
http://www.sharecg.com/v/66824/view/8/Script/Render-finished-!
(windows only)
OMG, I came here looking for this EXACT thing...THANK YOU BF!!!
One small question I have...I am often ALT-TABBED into something else and your script unfortunately executes, but the sound wav file dose not play with Daz is not the focus. Any way to bypass this?
The script is still extremely useful, as long renders I am often AFK and the sound is a perfect notification...but the ALT TAB issue is somewhat annoying....
Thanks again for an extremely useful script!
YAY
You are my hero. I set up a custom action so it renders and then plays the comment whenever I hit ctrl+r. Thank you so much!!
Let me guess ... "*TING!* You have male ..." ;)
I have a simple ding that doesn't require an additional audio file, though I do really like that idea.
Using a different approach, yes. The following shows how to create a toolbar button for a short script (3 lines) to start the render as usual with a message box appearing with "Render Complete!" once the render is finished. There will be an audible ding, even if the DAZ Studio window isn't focused/active.
For a quick test: select and copy the three lines of code below step 5. In DAZ Studio go to the Window menu, Panes, Script IDE. Right-click the white editor area, Edit, Paste from Clipboard. Click the Execute button (top-right) and the script will run from there.
For a far more convenient toolbar button (worth the effort if you render a lot), I've broken the process down into 15 small steps. This also shows, for those who don't know, the process to create additional/custom toolbar buttons. I've attached a compiled image of various screen shots to show the different parts of this, hopefully that will help. Scroll to the end of this post to locate that.
1. Prepare your render settings to test this, long enough for you to switch to another window before the render completes to confirm the inactive window ding is still audible.
2. Press F3 or go to the Window menu, Workspace, Customize... to open the Customize DAZ Studio window.
3. Under the Actions tab on the left side, locate [+] Custom, right-click the Custom label and choose Create New Custom Action...
4. In the Edit Custom Action window that appears, check the DAZ Script option (lower), not the DAZ Script file.
5. Copy and paste the following code to the Script area under the DAZ Script checkbox you just clicked.
Tip: You can change the message between the first set of quotes to Render Finished or something similar if you prefer. The extra spaces are for a neater message box. The second set of quotes contains the message box title bar text, the third contains the OK button text should you wish to customize those. Leaving them empty uses the default values.
6. In the Menu Text section (eg. will appear in the Script menu if added there or on the toolbar if no image is used), enter something like Render With Ding! and likewise for the Description (tool-tip for the toolbar button). Click Accept.
7. (7-10 are for the button image and are optional) Prepare/locate an image or download one to use for the tool-bar button. I used the 32x32 png located here: http://www.iconsdb.com/dark-gray-icons/speaker-icon.html
8. If using the above image, create a Toolbar Icons folder in your DAZ content folder or somewhere similar. Customized toolbars are really handy so you will likely use this folder again.
9. On the left-side of the Customize DAZ Studio window, click the [+] next to Custom to expand that group. You should see Render With Ding! or whatever you named it there.
10. Right-click Render With Ding! and choose Change Icon. Browse to the folder where you have the image for the button, select it and click Accept.
11. On the right side of the Customize DAZ Studio window, click the toolbars tab. Expand the Main group by clicking the [+] next to it. This is a list of the icons on your main toolbar. Top-to-bottom of the list = Left-to-right on the toolbar.
12. Scroll to locate where between existing toolbar icons you would like to place your new button, eg. after the normal render button is a good place.
13. Click and drag the Render With Ding! action from the left side to the space between the exising toolbar items on the right.
14. Click Accept and your new toolbar button should appear.
Captain Obvious reminds us..."Adjust your volume and remain in audible range so you will hear the ding!"
15. Click your new button, rendering should start as usual. Switch to another app to confirm that the DAZ Studio window doesn't need to be active/focused to hear the ding alert once rendering completes.
Tips: You can also add this action to the Scripts menu or other menus in the menus tab using the same process as adding to the main toolbar. There are many actions in the Actions list not found elsewhere, worth exploring! You can also right-click any of your scripts in the Scripts folder of your Content Library to make a custom action for adding to the toolbar or a menu.
You could create another button for the "Render finished !" audio file script mentioned in BlackFeather1973's post above using say a music note icon image. When AFK, use that (less chance to miss hearing it) and the RenderWithDing! when at the computer in another window. Check the comments at that link for a Mac & Windows compatible version if you're be using a Mac.
Hope it helps
I'm thinking of creating a much more extensive pre-render handling script including this action and perhaps including the audio file option among others. I'd done this message box/ding for a custom TexAnim script plus a few other features including showing the current frame number being rendered (handy with multiple monitors), total frames rendered, resume, etc, so it might be worth having a go at. Feel free to suggest any features you may like in something like that. I'm still new to DAZ Script but I'm fairly proficient with JavaScript which is helping :)
Sounds pretty easy to write something in AutoIt
Something like this compiled to an exe, then start it up after you start a render...
#include <WinAPI.au3>
HotKeySet("{ESC}","_quit")
AutoItSetOption("WinTitleMatchMode",2)
While 1
$dazwidget = WinExists("[CLASS:QWIDGET]")
If $dazwidget = 0 Then
_WinAPI_Beep($iFreq = 500, $iDuration = 1000)
Exit
EndIf
Sleep(10)
WEnd
Func _quit()
Exit
EndFunc
*edit*
Dang Nabbit! who necro'd this post?
Edit: A previous post said they weren't able to minimize the DAZ window, but it's been deleted. Can't figure out how to delete mine, sorry about that :)
At the bottom-left of the rendering progress window there is a minimize button. Clicking that should minimize the DAZ Studio window while rendering.
Oh, many of my posts get deleted for some reason, it wasn't me that deleted it so I can't advise you how.
Anyway, thanks for the tip. It's actually a good illustration that goes to show that longtime OS UI conventions and likewise in life can lead you to overlook something right in front of your eyes it's defying the expected.
(deleted)
Haha so I'm not the only one using the fans as the "your render is done" cue... I can be off in the living room reading a book and know when my render finishes. My fans aren't very noisy, but you can still hear them change pitch when it's done.
Yeah I know what you mean, mine used to drone something terrible when rendering with my GTX560 and an almost maxed power supply. Used to make me cringe thinking it would release its smoke at any moment I've since upgraded and now notice no audible difference, pros and cons :)
I could get more complicated with the quick AutoIt script I wrote, I could have it play at a higher pitch for a longer period of time, I could add in to have it repeat the beep at intervals until the user does something, etc.I think I might play around with it and add some functionality to it. I just tested my script about (had to edit this line _WinAPI_Beep($iFreq = 500, $iDuration = 1000) to read _WinAPI_Beep(500,1000)) and when it beep (which was pretty loud, lasted for 1 second) the first thing out of my wife's mouth was "Wtf was that?" LOL
He he, that's the response you want :) I'm clueless about the Autolt stuff you mention sorry, but the more options the merrier. Hope it works out for you
Edit: My curiosity got the better of me and I just googled "Autolt", that looks really cool! I think I'll have to try it out sometime
There is an mcasual Render List script; it allows for various frames to be rendered out of a sequence.
And I seem to remember a product at Daz, that allows for a list of renders to be set up in various files; this is iirc. :)
EDIT 1:
http://www.daz3d.com/batch-render-for-daz-studio-4-and-rib
EDIT 2:
https://sites.google.com/site/mcasualsdazscripts/mcjlistrender-for-ds-1-2-3-4
Glad I found this thread because I was thinking the exact same thing this past couple of weeks. Will have to try out the script mentioned.
I'm rather excited at this prospect
It'll take some thinking, but what I want to do is have my script beep every 30 seconds or so until the user presses a key or something. The tricky part will be taking into consideration if they are using a batch renderer, in which case, I'd only want it to beep maybe once between each render until the last, then do the continuous beep...