Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

View Poll Results: this FR is ...
... easy and fast to achieve 1 100.00%
... a little more complex, and so useless in my opinion 0 0%
Voters: 1. You may not vote on this poll

Reply
 
Thread Tools Display Modes
Old 12-18-2017, 04:05 AM   #1
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default notification window ~ "project saved"

hi,


i've googled for a little time, but couldnt find anything in that direction.

my FR would be:
everytime reaper saves the project, a little notification window pops up, saying "project saved".

and it would be super cool if that window closes after a short time.

i only would see it useful, if it was just a little add-on to the program, as i'd like to keep the DAW as default as possible, for a fast and smooth workflow.

btw coding newbie here (the biggest thing i did, is modified the volume adjustment plugin, created custom actions, and mapped midi devices.)

thank you in advance for your input !

Last edited by thomas teschauer; 12-18-2017 at 04:18 AM.
thomas teschauer is offline   Reply With Quote
Old 12-18-2017, 08:04 AM   #2
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default

You can create a script tondo that. But why would you want that?
You can tell if the project isbsaved if there is no asterisk in the titlebar
heda is offline   Reply With Quote
Old 12-18-2017, 08:09 AM   #3
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default

thank you for answering

what would such a script look like? how do i create it? (in text editor?)
and to which path do i need to put that reaper recognizes it?

with my way of working i need a more obvious feedback, that top bar *modified thing is too subtle for me
thomas teschauer is offline   Reply With Quote
Old 12-18-2017, 08:30 AM   #4
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default

ah... the asterisk is in the project tab. in the titlebar of REAPER window, it is [Modified] after the project name.

ah.. you are new.. welcome!

so, go to the actions list window, and click "New..." next to ReaScript. Name it "Save project.lua" for example. in the Scripts folder.
paste this example code in the editor:
Code:
local timer=reaper.time_precise()
reaper.Main_OnCommand(40026, 0 ) -- project save
reaper.MB("Project saved in ".. reaper.time_precise() - timer .. " seconds", "Project saved", 0)
CTRL+S to save it and run it.

there you have it.. your first lua script in REAPER
heda is offline   Reply With Quote
Old 12-18-2017, 08:33 AM   #5
Mordi
Human being with feelings
 
Mordi's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 982
Default

Here's how the status bar in the lower left looks here:


This way, I can always tell when the last save was made.
Mordi is offline   Reply With Quote
Old 12-18-2017, 05:13 PM   #6
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default

thank you very much heda!

i really like the thing

i have been playing around with it for about two yours, first baby steps in lua...

but i couldnt get the message box to close after some time.

can i add something that makes it close after "some time"??
can i tell the script how long to be open?

i only found the options to change the type of the button.

thanks for the warm welcome btw

--------------------------------------------------
Quote:
Originally Posted by heda View Post
ah... the asterisk is in the project tab. in the titlebar of REAPER window, it is [Modified] after the project name.

ah.. you are new.. welcome!

so, go to the actions list window, and click "New..." next to ReaScript. Name it "Save project.lua" for example. in the Scripts folder.
paste this example code in the editor:
Code:
local timer=reaper.time_precise()
reaper.Main_OnCommand(40026, 0 ) -- project save
reaper.MB("Project saved in ".. reaper.time_precise() - timer .. " seconds", "Project saved", 0)
CTRL+S to save it and run it.

there you have it.. your first lua script in REAPER
thomas teschauer is offline   Reply With Quote
Old 12-19-2017, 08:04 AM   #7
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default

You cannot close that message after some time. For that you must create a script that uses its own window and writes the message and closes after some time. Are you ready for lesson 2?

replace the code to this. I've tried to comment on what each line does. I'm not good commenting.

Code:
gfx.init("", 200, 45, 0, 800, 0) -- initialize window: width, height, docker, x, y

reaper.Main_OnCommand(40026, 0 ) -- project save

timestart=reaper.time_precise()
function main()
  gfx.set(1,1,1) -- set color white
  gfx.setfont(1,"Arial", 22) -- set font and size
  outputstr="Project saved" -- text to display
  gfx.x=(gfx.w/2)-(gfx.measurestr(outputstr)/2) -- x coordinate for the text, calculate to center the text in window width
  gfx.y=10 -- y coordinate for the text
  gfx.drawstr(outputstr) -- draw the text
  gfx.update() -- update the window

  if reaper.time_precise() < timestart+5 then -- if less than 5 seconds then 
      reaper.runloop(main) -- start again to draw window
  end
end

main() --run the function

Last edited by heda; 12-19-2017 at 08:19 AM.
heda is offline   Reply With Quote
Old 12-19-2017, 12:45 PM   #8
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default

wow! now i know why people say reaper will the daw of the future, it totally takes the shape of your workflow, unlike pro tools, or ableton for example, which have a lot of shortcomings compared to what i'm experiencing these days (i mapped a controllor to a default FX chain ~ channel stip; it totally changed the quality of my mixes, i now mix with my ears, not with my eyes...)


but back to topic:

your code totally works wonders for me; the comments really help

just a little tweaks i did:
- window y-position is now ~centered
- window height is smaller
- font size is smaller
- title and message changed
- length of 5s reduced to 0.3s
- font color set from white to green


this is about the way i imagined it, the only thing thats apart from my imagination is:
- background color

its black by default, but i couldnt find a gfx command controlling that, so i assume the background color is always black?


but overall this totally works for me!
great job, man
time for a christmas donation

code:


gfx.init("project save", 200, 35, 0, 800, 500) -- initialize window: width, height, docker, x, y

reaper.Main_OnCommand(40026, 0 ) -- project save

timestart=reaper.time_precise()
function main()
gfx.set(0.58, 0.95, 0.42) -- set RGB color (1,1,1 = white)
gfx.setfont(1,"Arial", 15) -- set font and size
outputstr="saved successfully" -- text to display
gfx.x=(gfx.w/2)-(gfx.measurestr(outputstr)/2) -- x coordinate for the text, calculate to center the text in window width
gfx.y=10 -- y coordinate for the text
gfx.drawstr(outputstr) -- draw the text
gfx.update() -- update the window

if reaper.time_precise() < timestart+0.3 then -- if less than 0.3 seconds then
reaper.runloop(main) -- start again to draw window
end
end

main() --run the function
thomas teschauer is offline   Reply With Quote
Old 12-19-2017, 12:58 PM   #9
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default


I'm glad you are enjoying REAPER. I agree. You can adapt REAPER to your workflow, not the other way. Once you make REAPER your own custom DAW, you cannot go back.

to change the background color, see new lines marked in red, change the numbers of red, green and blue from 0 to 255 to set the color you want.

Code:
gfx.init("project save", 200, 35, 0, 800, 500) -- initialize window: width, height, docker, x, y
bg_color=reaper.ColorToNative(0, 80, 60) -- get color number from red, green, blue from 0 to 255.
gfx.clear=bg_color -- clear background with this color
reaper.Main_OnCommand(40026, 0 ) -- project save

timestart=reaper.time_precise()
function main()
gfx.set(0.58, 0.95, 0.42) -- set RGB color (1,1,1 = white)
gfx.setfont(1,"Arial", 15) -- set font and size
outputstr="saved successfully" -- text to display
gfx.x=(gfx.w/2)-(gfx.measurestr(outputstr)/2) -- x coordinate for the text, calculate to center the text in window width
gfx.y=10 -- y coordinate for the text
gfx.drawstr(outputstr) -- draw the text
gfx.update() -- update the window

if reaper.time_precise() < timestart+0.3 then -- if less than 0.3 seconds then
reaper.runloop(main) -- start again to draw window
end
end

main() --run the function
heda is offline   Reply With Quote
Old 12-19-2017, 01:30 PM   #10
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default

nice, i hope my donation came, i donated via your homepage, and received a subscription, maybe gonna check out your other tools, these days



ok cool!

here's my final version, in sexy reaper colors



Code:
gfx.init("project save", 200, 35, 0, 800, 500) -- initialize window: width, height, docker, x, y

bg_color=reaper.ColorToNative(76, 76, 76) -- get color number from red, green, blue from 0 to 255.
gfx.clear=bg_color -- clear background with this color

reaper.Main_OnCommand(40026, 0 ) -- project save

timestart=reaper.time_precise()
function main()
  gfx.set(0.48, 0.85, 0.32) -- set RGB color (1,1,1 = white)
  gfx.setfont(1,"Arial", 15) -- set font and size
  outputstr="saved successfully" -- text to display
  gfx.x=(gfx.w/2)-(gfx.measurestr(outputstr)/2) -- x coordinate for the text, calculate to center the text in window width
  gfx.y=10 -- y coordinate for the text
  gfx.drawstr(outputstr) -- draw the text
  gfx.update() -- update the window

  if reaper.time_precise() < timestart+0.3 then -- if less than 0.3 seconds then 
      reaper.runloop(main) -- start again to draw window
  end
end

main() --run the function
----
thank you again so much!
this totally made christmas for me
it was annoying having to click the window away everytime i saved, but this way it totally gives me a good feedback about whats going on, while i can focus on the music

that was my main attempt
to think less, while working
i noticed, that if i have to worry too much (did it save? did it freeze? etc.) it draws my focus from the art
so maybe youre gonna hear from me again, when i have a new idea for workflow improvement

Last edited by thomas teschauer; 12-19-2017 at 01:38 PM.
thomas teschauer is offline   Reply With Quote
Old 12-19-2017, 02:17 PM   #11
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default

oh! thank you for the donation!
And thank you for this idea. REAPER usually saves the project very fast and many times I also was thinking... oh... did I press the save shortcut correctly? And I never though about making this script. it is nice to see a confirmation message
Happy new year full of REAPER productivity!
heda is offline   Reply With Quote
Old 12-19-2017, 07:33 PM   #12
thomas teschauer
Human being with feelings
 
Join Date: Dec 2017
Location: germany
Posts: 6
Default

cool, thanks i will certainly use reaper for my next projects on.

i will let you now if i get another idea like that, and will be happy to know what you think of it.

as i said, im implementing hardware control of plugins into my workflow, very useful so far! maybe something in that direction will come

my idea is being able to mix a song without looking at the screen anymore (maybe even being able to turn it off )

maybe a "saved" sound, confirming the save would be an option ... *thinking*
or maybe not
thomas teschauer is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:32 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.