I am not sure if you understand exactly what I want to do. If customer add a photo product(digital) to cart one time cost 10 (to price 10 is included and one printed for free). Then if customer increase the quantity to 2 that means he wants one free printed and one extra that the cost is 0.50 etc for third to N items to the cart.
I am thinking to make an ajax method on update quantity in the cart and change dynamically the price of the item to the cart using methods of cart class as you said.
But I am not sure if I change the total price of cart item hard coded is correct solution and safe.