Different TextureCoordinateFunction in two faces of a surface

Let us say that we have the following example from the Texture[] help page, modified with FaceForm[] to get different textures for the inner and outer faces:

ParametricPlot3D[{1.16^v Cos[v] (1 + Cos[u]), -1.16^v Sin[     v] (1 + Cos[u]), -2 1.16^v (1 + Sin[u])}, {u, 0, 2 Pi}, {v, -15,    6}, PlotStyle ->    Directive[Specularity[White, 30],     FaceForm[Texture[ExampleData[{"ColorTexture", "WhiteMarble"}]],      Texture[ExampleData[{"ColorTexture", "Roof"}]]]],   TextureCoordinateFunction -> ({#4, 2 #5} &), Lighting -> "Neutral",   Mesh -> None, PlotRange -> All] 

but we want to have diferent TextureCoordinateFunction for the inside and outside faces, how can this be done?

enter image description here