Keep track of time spent working on session

Hi, I tried searching on the web and in the forum but this subject has too many terms that may be misleading.

So, is there a way to know how much time was spent working on a session? I mean, in case one charges by the hour to a specific custemer, if there’s a way to say “ok, I spent this amount of hours recording, this mixing and this mastering” (pretty lame example, but I hope I get the idea through).

I ask this before suggesting an idea for Ardour in case there’s a value hidden somewhere in the session file that at least states how much time was spent in the session.


I’ve used this in the past:

However, I don’t know what platform you are on and my example isn’t open source. I actually ended up just making a note of the time I started and finished and added them to a spreadsheet which worked out total time.

However, after absentmindedly leaving the DAW open and plugin running too many times and/or not keeping track of time, I moved to charging by final length of song/project and number of tracks involved giving the customer a very accurate figure upfront :wink:

Thanks for the reply. Especially since I’m starting with this keep-track-of-time-for-charging-purposes and a sometimes a good advice is better than a plugin.

Yup, the “ProjectTime” plugin was exactly what I was looking for. I now have something to make more concrete for web searches.

And, by the way, I’m under Linux and, yes, an open source solution would be optimal. Just in case anyone else has any other solution that’s out there.

Thanks again.

It would be nice to see it in Ardour, or as a LUA script or a LV2 plugin - HOFA 4U ProjectTime

HOFA 4U ProjectTime x64.dll doesnt work in my ~/.wine/drive_c/Common Files/VST3/ and ~/.vst3

Maybe it’s possible to use systemd to keep time of your sessions but a quick’n’dirty hack would be to use something like this


# Where to log the info
# How long to wait before each new check if Ardour is still running
# Can be like 10s or 5m depending on desired granularity

# Wait for ardour to start
sleep 5
# Get the pid
Ard=`ps ax | grep ardour-6| grep -v grep | awk '{print $5}' `
StartTime=`date +%s`
while [ $Stop -ne 1 ]
 sleep $Sleep
 pidof $Ard  > /dev/null
 # If pidof can't find the Ardour process then finish up
 if [ $? -ne 0 ];then
  StopTime=`date +%s`
  date >> $LogFile 
  RunningMin=`echo "scale=2;($StopTime-$StartTime)/60"|bc`
  echo " Ardour was running for $RunningMin minutes" >> $LogFile

Save it to ~/ and then add

bash ~/ &

before the exec line in the ardour start script.

The script requires that ‘bc’, the command line calculator, is installed.


This is just great. Even as a starting point for an app.


Thanks for your help. I’ll use your script. I think the idea could be very useful. This could even show up when selecting a session

I managed to get it open in LinVST/wine-staging but I don’t recommend it. Crashed on trying to access the log file. A native solution is always the answer!

@tete, also worth bearing in mind that you could just a generic timer like this one:

There are plenty of GUI time trackers too.

One more:

It automatically tracks based on active windows etc so you don’t have to remember to stop a timer and such.

This is all assuming that the effect on system resources is so minimal as to not cause any notable audio issues.

On linux if you start from the command line you can use the “time” command:
$ time ardour
[… lots of messages from ardour …]
[… quit ardour …]

1 Like

In that case, I suppose the only benefits in using something like Watson would be ability to tag a project (separate timings for recording, mixing, mastering, exporting etc) and the report command for easy transfer to invoice or similar.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.