Not exactly -- ```addTracksAdd``` can only be called once ```addTracksPrepare``` is called. I'm thinking that in ```addTracksPrepare``` you do 

```m_queryTrackLocationIdColumn = m_pQueryTrackLocationSelect->record().indexOf("id");```

and then in ```addTracksAdd``` just use ```m_queryTrackLocationIdColumn```.