ok.. making progress. I reinstalled libmtp, then reinstalled amarok (twice). Now amarok shows the option for mtp. however, it still doesn't detect the device.

when i plug in the device, amarok spits this to stdout

Code:
amarok: BEGIN: Medium* DeviceManager::getDevice(QString)
amarok:     DeviceManager: getDevice called with name argument = camera
amarok: BEGIN: QStringList DeviceManager::getDeviceStringList()
amarok: END__: QStringList DeviceManager::getDeviceStringList() - Took 0.00069s
amarok: END__: Medium* DeviceManager::getDevice(QString) - Took 0.00086s
amarok:   [DeviceManager::mediumAdded] Obtained medium name is camera, id is: /org/freedesktop/Hal/devices/usb_device_41e_4130_0105255182038FD6_if0
amarok: BEGIN: void MediaDeviceManager::slotMediumAdded(const Medium*, QString)
amarok: END__: void MediaDeviceManager::slotMediumAdded(const Medium*, QString) - Took 4.5e-05s
amarok: BEGIN: void MountPointManager::mediumAdded(const Medium*)
amarok: END__: void MountPointManager::mediumAdded(const Medium*) - Took 4.1e-05s
amarok: END__: void DeviceManager::mediumAdded(QString) - Took 0.0012s
also, mtp-detect finds the device with no problem.

edit:

ok, so I manually added the device and it works! cool!